要检查是否在 BIOS/UEFI 中启用了 Intel 的 VT-X 或 AMD 的 AMD-V,我使用:
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
我找不到检查 BIOS/UEFI 中是否启用了 Intel 的 VT-D 或 AMD 的 IOMMU 的方法。
我需要一种方法来检测它是否已启用,而无需设置 iommu 内核参数(iommu=1
、、、amd_iommu=on
)intel_iommu=on
。
我的一个想法是使用rdmsr
,但我不确定这是否可行。而不是systool
我最初想使用sudo rdmsr 0x3A
,但它对我不起作用。它总是报告:
rdmsr: CPU 0 cannot read MSR 0x0000003a
rdmsr
是msr-tools
顺便说一句的一部分。并且要使用需要msr
先加载 kenel 模块(sudo modprobe msr
)。
据称sudo rdmsr 0x3A
应该已经返回3
或5
表明 VT-X/AMD-V 已启用...