我正在编写用于配置 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 上被问到过这个问题,并且有一些可能的答案。