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
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
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
8条答案
按热度按时间h4cxqtbf1#
您可以使用 msr-tools 中的 rdmsr 读取寄存器 IA32_FEATURE_CONTROL(地址 * 0x 3a *)。为此,必须加载内核模块 msr。
在大多数Linux系统上:
值
3
和5
表示它已激活。pu82cl6c2#
您可以使用
在逻辑最复杂的Intel上,kvm-ok检查
rdmsr 0x3a
的位0是否(锁定位)被设置,位2(允许在SMX模式之外使用virt,与可信引导有关)。如果rdmsr 0x3a
的输出不是1或3,您将能够使用kvm。kvm将设置msr的第2位,如果需要的话,我希望virtualbox和其余的具有相同的逻辑。ev7lccsx3#
安装CPU检查器并运行“kvm-ok”
如果CPU已启用,您应看到类似以下内容:
另一方面
umuewwlo4#
您可以用途:
o3imoua45#
在Linux中,你可以检查cpuinfo:
mwecs4sa6#
我发现,SCAI的答案不工作在我的AMD锐龙系统。
不过,这对我来说非常有效,甚至在英特尔上也是如此:
(
systool
可以在大多数发行版的sysfsutils
包中找到。)对于英特尔的VT-D / AMD的IOMMU,我提出了以下解决方案:
(It如果没有设置iommu内核参数,甚至可以为我工作。)
swvgeqrz7#
确认Vt-D在BIOS中启用的简单方法是通过Linux系统。如果VT-D在BIOS中启用,
Iommu=on
在grub.cfg
中启用,则会自动创建以下文件夹结构以保存虚拟设备。/sys/kernel/iommu_groups/0/devices/0000:00:00.0
然而,如果VT-D或Iommu选项之一未配置/启用,则不会创建上述文件夹结构。此行为在CentOS 7.4和Ubuntu中得到确认。希望此行为在其他操作系统中也类似,但需要确认。
y53ybaqx8#
虽然我迟到了,但这可能是一个长期的问题/答案。在锐龙、Fedora 36上,其他答案都无法完全澄清我是否需要重新启动。红帽提供this
简而言之,要检查AMD CPU:
(but我知道Ryzen是有能力的)然后,
检查kvm_amd或kvm_intel。未加载
kvm_amd
模块,因此建议重新启动以检查BIOS。稍后更新。