关于如何在Mac上启用虚拟化(例如How to enable support of CPU virtualization on Macbook Pro?),已经有几个问题。经常有报道说sysctl -a | grep 'machdep.cpu.feature.*VMX'
应该匹配,但是有一个警告:匹配意味着虚拟化是由cpu支持的,而不是支持它的。
是否有方法检查是否启用了虚拟化?我已经准备好编译和运行一个小程序,如果这是它所需要的答案,但我宁愿不。
发布于 2018-03-08 00:39:26
有三件事基本上告诉您是否支持和启用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
位,并且尝试执行VMXON
指令进入VMX模式,CPU将CR4.VMXE
。您可以编写一个小程序来完成此操作,并检查所缺少的内容。
https://stackoverflow.com/questions/49133196
复制相似问题