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

时间:2014-02-03 21:06:40

标签: windows virtualization

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

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

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

1 个答案:

答案 0 :(得分:2)

我认为检查虚拟化是否已启用的最佳选择是使用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 Wiki:http://en.wikipedia.org/wiki/CPUID

__ cpuid功能:msdn.microsoft.com/en-us/library/hskdteyh(VS.80).aspx