如何确定我正在查看的 Windows Server 是否使用支持多处理器的 HAL?

Han*_*non 0 hal windows-server-2012

我有一个只分配了一个内核的 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”,但没有一个结果有帮助。

Rya*_*ies 6

在 x64 机器上(Server 2012 始终是 x64),只有一个 HAL 映像,称为 Hal.dll。(而且它始终支持 SMP。)

但是,作为学术实验,如果您想查看正在运行的 HAL,可以使用 Windbg 并发出命令lm vm hal。当然,在 Server 2012 上,它将始终是 Hal.dll。

在较旧的 x86 版本的 Windows 上,您可能会在此处看到不同的 HAL,例如Halacpi.dllHalmacpi.dll

下面是一个使用 LiveKD 的例子(来自 Sysinternals):

直播