![是否有测试来查看 Linux 会话中是否启用了硬件虚拟化(vmx / svm)?](https://linux22.com/image/587785/%E6%98%AF%E5%90%A6%E6%9C%89%E6%B5%8B%E8%AF%95%E6%9D%A5%E6%9F%A5%E7%9C%8B%20Linux%20%E4%BC%9A%E8%AF%9D%E4%B8%AD%E6%98%AF%E5%90%A6%E5%90%AF%E7%94%A8%E4%BA%86%E7%A1%AC%E4%BB%B6%E8%99%9A%E6%8B%9F%E5%8C%96%EF%BC%88vmx%20%2F%20svm%EF%BC%89%EF%BC%9F.png)
我正在编写用于配置 VirtualBox 对 64 位 SMP 客户机支持的程序,这需要硬件虚拟化支持(VTx/Intel、AMD-V/AMD)。我有我自己成功地配置了这一点,但我希望过程清晰明了。
sed -ne '/^flags/s/^.*: //p' /proc/cpuinfo |
egrep -q '(vmx|svm)' && echo Has hardware virt || echo No HW virt
... 显示中央处理器有能力。
我还得去 BIOS 中启用该功能。
有什么方法可以从 Linux 内部测试来判断是否存在这种情况?
谢谢。
(编辑:标题中的 s/xvm/svm/)
答案1
答案来自brian99指出的类似问题。
为您的发行版安装kvm-ok
(从 Debian/Ubuntu 下的 cpu-checker)。运行kvm-ok
后将检查硬件虚拟化的各种先决条件是否存在:
- CPU 标志
- BIOS 已启用
- 存在 kvm/svm 模块。
/dev/kvm
展示
输出应表明您的系统是否能够运行,或者缺少哪些功能才能运行。退出状态也应该(我尚未确认)可测试(如下所示)。
示例运行:
$ sudo kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
$ echo $?
0
答案2
实际上,它比安装其他实用程序还要简单 - 只需尝试加载相关kvm
模块,或检查它是否已加载lsmod
。如果 kvm 已加载,则一切就绪,如果没有 - 您需要编辑 BIOS 设置,然后执行冷重启,
答案3
A非常相似的问题几个月前在 askubuntu 上被问到过这个问题,并且有一些可能的答案。