jmv*_*dal 9 linux virtual-machine
为了让 virtualbox 在 Linux 中工作,我必须以 root 身份运行以下命令:
modprobe -r kvm_intel
modprobe -r kvm
Run Code Online (Sandbox Code Playgroud)
否则我会出错。这很好用。
唯一的问题是每次机器重新启动时我都必须重新运行这两个命令。
有没有办法永久禁用这两个内核模块?
更新:对于 Fedora,将blacklist下面选项 1 下的行保存到 /etc/modprobe.d/ 下的文件中,例如,/etc/modprobe.d/blacklist. 文件名并不重要;目录中的所有文件都在引导期间得到处理。
如果您确定永远不需要动态加载这些模块,则选项 3 可能更可取。
许多发行版使用模块黑名单来禁止模块加载。通常这可以通过将这些行添加到您的发行版modules.conf或类似内容来完成。您可以尝试阅读man modules.conf或谷歌搜索特定发行版的说明。
blacklist kvm_intel
blacklist kvm
Run Code Online (Sandbox Code Playgroud)
另一种方法是将这些行添加到您的rc.local脚本(或其他一些系统启动时脚本,最好不要与包相关联的脚本):
modprobe -r kvm_intel
modprobe -r kvm
Run Code Online (Sandbox Code Playgroud)
以上两种方法都会阻止模块在启动时加载,但不会阻止它们稍后加载到内核中。要完全禁用该模块,请使用这些行——同样,它们可以放在一个modules.conf文件中,/etc/modprobe.d/disabled或类似的:
install kvm_intel /bin/true
install kvm /bin/true
Run Code Online (Sandbox Code Playgroud)
这样做是告诉系统/bin/true在请求这些模块时运行。该程序除了返回 true 外不执行任何操作,因此任何加载“成功”但模块从未真正加载。要重新启用使用此技术禁用的驱动程序,请注释掉这些行并重新启动。
如果您根本不打算使用 kvm,为什么不简单地删除qemu-system-[ARCH]提供它的 rpm。此外,fedora 包含一个文件/etc/sysconfig/modules/kvm.modules,如果在处理器中检测到虚拟化扩展,该文件会告诉系统加载 kvm 模块。修改/etc/sysconfig/modules/kvm.modules或完全删除它也应该可以解决问题,但删除软件包似乎是最好的解决方案。
| 归档时间: |
|
| 查看次数: |
21345 次 |
| 最近记录: |