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