是否有测试来查看 Linux 会话中是否启用了硬件虚拟化(vmx / svm)?

是否有测试来查看 Linux 会话中是否启用了硬件虚拟化(vmx / svm)?

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

相关内容