如何检测 BIOS 中 VT-X 是否已开启?

如何检测 BIOS 中 VT-X 是否已开启?

我知道我可以检查 VT-X 是否支持的由处理器提供egrep '(vmx|svm)' /proc/cpuinfo。但即使支持,也可以在 BIOS 中将其关闭。我如何检测它是打开还是关闭?

答案1

VT-X 信息存储在特定于模型的寄存器 (MSR) 0x34可以通过 访问msr-tools。通过运行安装它sudo apt-get install msr-tools,然后运行以下命令

sudo modprobe msr
sudo rdmsr 0x3A

如果返回值为 3、5 或 7,则表示 VT-X 已启用

可靠地检测 BIOS 中是否禁用了 Intel VT

答案2

有两种方法可以验证:

  1. 在基于 Debian 的发行版(例如 Ubuntu)上,您可以通过安装cpu-checkerkvm-ok使用 sudo 权限运行来检查对 VT-x 的支持。

    如果 CPU 已启用,您应该会看到类似以下内容:

     INFO: /dev/kvm exists
     KVM acceleration can be used
    

    否则,你会得到:

     INFO: /dev/kvm does not exist
     HINT:   sudo modprobe kvm_intel
     INFO: Your CPU supports KVM extensions
     INFO: KVM (vmx) is disabled by your BIOS
     HINT: Enter your BIOS setup and enable Virtualization Technology (VT),
        and then hard poweroff/poweron your system
     KVM acceleration can NOT be used
    
  2. 在基于 Debian 和 RHEL 的系统上,您可以使用virt-host-validate软件包提供的libvirt-client。有关使用的文档可以在这里找到这里

答案3

一种非常不靠谱的检查方法(无需进入 BIOS)是安装/打开 Virtualbox 虚拟机管理程序,然后尝试安装 64 位 Linux VM,看看设置是否允许您启用 VT-X。在 Virtualbox 中安装 VM 是我遇到的唯一需要启用 VT-X/AMD-V 的情况。

相关内容