Как я могу определить, использует ли сервер Windows, на который я смотрю, HAL с поддержкой мульпроцессора?

У меня есть виртуальная машина Windows Server 2012, которой назначено только одно ядро; Я хотел бы знать, является ли HAL для машины многоядерным, прежде чем запрашивать дополнительные ядра для добавления в виртуальную машину.

Есть ли какая-нибудь команда WMIC, значение regedit или какой-то другой индикатор?

Я знаю, что в предыдущих версиях Windows я мог сказать, посмотрев на свойство "имя исходного файла" для%SystemRoot%\System32\hal.dll -> Windows Server 2012 показывает только "hal.dll".

Я просмотрел улей реестра MACHINE, но не могу найти ничего близкого к значимому. Я также гуглил "site:microsoft.com windows server hal multiprocessor", но ни один из результатов не помог.

1 ответ

Решение

На машинах x64 (а Server 2012 всегда x64) существует только один образ HAL, который называется Hal.dll. (И он всегда поддерживает SMP.)

Однако, в качестве академического эксперимента, если вы хотите увидеть, какой HAL вы используете, вы можете использовать Windbg и выполнить команду lm vm hal, Конечно, на Server 2012 это всегда будет Hal.dll.

В более старых версиях Windows для x86 вы можете увидеть различные HAL, например: Halacpi.dll или же Halmacpi.dll,

Вот пример использования LiveKD (от Sysinternals):

LiveKd

Другие вопросы по тегам