我有一个仅分配了一个内核的 Windows Server 2012 VM;在请求将更多内核添加到 VM 之前,我想知道机器的 HAL 是否支持多核。
是否有一些 WMIC 命令、regedit 值或其他指示符?
我知道在以前的 Windows 版本中,我可以通过查看 %SystemRoot%\System32\hal.dll 的“原始文件名”属性来判断 -> Windows Server 2012 仅显示“hal.dll”。
我查看了 MACHINE 注册表配置单元,但找不到任何有意义的东西。我还用谷歌搜索了“site:microsoft.com windows server hal multiprocessor”,但没有一个结果有帮助。
在 x64 机器上(并且 Server 2012 始终是 x64),只有一个 HAL 映像,称为 Hal.dll。(而且它始终支持 SMP。)
不过作为学术实验,如果想看看自己运行的是什么HAL,可以使用Windbg,发出命令
lm vm hal
。当然,在 Server 2012 上,它始终是 Hal.dll。在较旧的 x86 版本的 Windows 上,您可能会在此处看到不同的 HAL,例如
Halacpi.dll
或Halmacpi.dll
。这是使用 LiveKD 的示例(来自 Sysinternals):