以编程方式检测Windows是否启用了VT-x或AMD-v

chr*_*mic 5 windows virtualization

在OSX或Linux上,在终端中查看CPU功能相当简单。是否可以在Windows上访问CPU信息,特别是硬件辅助的虚拟化功能?

我只找到了Microsoft的工具:http : //www.microsoft.com/en-us/download/details.aspx?id=592

但想要一些不需要其他二进制文件的东西。

The*_*oth 3

我相信检查虚拟化是否启用的最佳方法是使用 WMI 并检查 Win32_Processor 类。如果已启用,“VirtualizationFirmwareEnabled”字段的值应该会告诉您。

我已经通过在 BIOS 中启用和禁用来在我的机器上进行测试,并且该值显示正确。

Win32_Processor: http://msdn.microsoft.com/en-us/library/aa394373%28v=vs.85%29.aspx

为了检查支持的内容,我相信您需要使用信息类型为 0x1 和 0x80000001 的 __cpuid() 内部函数来查询 CPU 功能。示例可以在以下链接中找到。

CPUID 维基: http: //en.wikipedia.org/wiki/CPUID

__cpuid 函数:msdn.microsoft.com/en-us/library/hskdteyh(VS.80).aspx