在较旧的系统上,您可以调用带有参数 level=3 的函数int iopl(int level)
来获取执行原始 I/O 操作的权限。在 Debian 上,这仍然有效,但在 Ubuntu 18 上,即使以 root 身份运行程序,它也始终返回 -1 和 errno 1(操作不允许)。
手册没有提到这个,只是说你需要以 root 身份才能使用它,而我就是。
有人知道为什么这个功能在 Ubuntu 18 中被禁用,以及是否有办法启用它?
我只是想出于实验和教育目的尝试它。
答案1
当我使用 iopl(3) 函数时,我也遇到了同样的问题。我认为也许你可以尝试从 BIOS 禁用安全启动这个 Github 问题。