45

我有一台配备 Intel Core i5 M 450 @ 2.40GHz 的笔记本电脑,它显然有 VT-x 但没有 VT-d。我有 Ubuntu 12.04 32 位,但希望在其上运行基于虚拟 64 位终端的 Linux。我如何知道 BIOS 是否已激活此 VT-x 功能而无需重新启动?

4

7 回答 7

38

您可以使用msr-tools中的rdmsr来读取寄存器IA32_FEATURE_CONTROL(地址0x3a)。为此,必须加载内核模块msr 。

在大多数 Linux 系统上:

sudo modprobe msr
sudo rdmsr 0x3a

35意味着它已被激活。

于 2012-06-20T11:01:58.310 回答
17

您可以使用

sudo kvm-ok

来自cpu-checker。在逻辑最复杂的 Intel 上,kvm-ok检查是否设置了(锁定位)的第 0rdmsr 0x3a位,也必须设置第 2 位(允许 virt 在 SMX 模式之外使用,与可信引导有关) . 如果 的输出rdmsr 0x3a不是13,您将能够使用 kvm。如有必要,kvm 将设置 msr 的第 2 位,我希望 virtualbox 和其余的具有相同的逻辑。

于 2013-07-31T13:17:50.357 回答
15

安装 cpu-checker 并运行“kvm-ok”

如果 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
于 2013-10-19T08:44:57.600 回答
7

您可以使用:

sudo apt-get update
sudo apt-get install cpu-checker
kvm-ok
于 2019-07-31T14:30:30.953 回答
6

在linux中,您可以检查cpuinfo:

cat /proc/cpuinfo| egrep "vmx|svm"
于 2012-06-20T12:08:04.300 回答
4

我发现 scai 的答案在我的 AMD Ryzen 系统上不起作用。

然而,这对我来说非常有效,即使在英特尔上也是如此:

if systool -m kvm_amd -v &> /dev/null || systool -m kvm_intel -v &> /dev/null ; then
    echo "AMD-V / VT-X is enabled in the BIOS/UEFI."
else
    echo "AMD-V / VT-X is not enabled in the BIOS/UEFI"
fi

(在大多数发行版systool的包中都可以找到。)sysfsutils

对于 Intel 的 VT-D / AMD 的 IOMMU,我想出了这个解决方案:

if compgen -G "/sys/kernel/iommu_groups/*/devices/*" > /dev/null; then
    echo "AMD's IOMMU / Intel's VT-D is enabled in the BIOS/UEFI."
else
    echo "AMD's IOMMU / Intel's VT-D is not enabled in the BIOS/UEFI"
fi

(如果没有设置 iommu 内核参数,它甚至对我有用。)

于 2018-07-10T19:22:43.470 回答
1

确认在 BIOS 中启用 Vt-D 的简单方法是通过 Linux 系统。如果在 BIOS 中启用了 VT-D Iommu=ongrub.cfg那么会自动创建以下文件夹结构来保存虚拟设备。

/sys/kernel/iommu_groups/0/devices/0000:00:00.0

而如果未配置/启用选项 VT-D 或 Iommu 之一,则不会创建上述文件夹结构。此行为在 CentOS 7.4 和 Ubuntu 中得到确认。希望这种行为对于其他操作系统也是类似的,但这需要得到确认。

于 2018-05-17T13:07:33.087 回答