关于如何在Mac上启用虚拟化已经有几个问题(例如How to enable support of CPU virtualization on Macbook Pro?)。通常会报告sysctl -a | grep 'machdep.cpu.feature.*VMX'
应该匹配,但需要注意:匹配意味着cpu支持虚拟化,而不是启用虚拟化。
有没有办法检查虚拟 是否已启用?我准备编译并运行一个小程序,如果它能够回答它,但我不愿意。
答案 0 :(得分:2)
有三件事情基本上告诉您是否在计算机上支持和启用了Intel VMX
。这不是特定于操作系统,而是特定于英特尔主板。
CPUID.1 will tell you in ecx.BIT[5] == 1 if CPU supports vmx.
IA32_FEATURE_CONTROL MSR BIT.2 == 1
会告诉您VMX是否在正常模式下启用。如果此MSR中BIT.2为0且BIT.0为1,则表示VMX已禁用并在BIOS中锁定。您需要重新启动并在BIOS中启用它。Control Register CR4.BIT.13[VMXE] == 1
会告诉您现在计算机上已启用VMX。如果GPF
位被清除,CPU将CR4.VMXE
,并且您尝试执行VMXON
指令以进入VMX根模式。您可以编写一个小程序来执行此操作并检查您缺少的内容。