BSOD 0x00000079 — MISMATCHED_HAL

Эта ошибка возникает если версия или конфигурация HAL.dll не соответствует ядру системы или компьютеру. Стоп код имеет следующие параметры (параметр 1 определяет тип несоответствия).

Параметр 1 Параметр 2 Параметр 3 Параметр 4 Причина
0x1 The major processor control block (PRCB) level of Ntoskrnl.exe The major PRCB level of Hal.dll Зарезервировано Версии релизов PRCB не совпадают
0x2 Тип сборки ntoskrnl.exe Тип сборки hal.dll Зарезервировано Типы сборок не совпадают
0x3 Размер параметров расширения загрузчика Старшая версия параметра расширения загрузчика Младшая версия параметра расширения загрузчика Не совпадают версии загрузчика (Ntldr) и HAL

Если параметр 1 равен 0x2 используются следующие коды типов сборок:

  • 0: Multiprocessor-enabled free build

  • 1: Multiprocessor-enabled checked build

  • 2: Single-processor free build

  • 3: Single-processor checked build

Причины

Данный крах возникает когда пользователь вручную обновляет один из файлов Ntoskrnl.exe или Hal.dll. Ошибка также может возникать когда один из двух файлов устарел, например, когда используется HAL Windows 2000 и Ntoskrnl.exe Windows XP. Или компьютер ошибочно имеет HAL для многопроцессорной платформы, но установлено ядро для однопроцессорной платформы или наоборот.

Решение

Загрузите систему с помощью консоли восстановления. Скопируйте с помощью команды copy оригинальные файлы HAL и ядра на жесткий диск. Команда copy автоматически определит, что исходные файлы сжаты и выполнит извлечение (для однопроцессорной системы файл ядра имеет имя ntoskrnl.exe, а для многопроцессорной — Ntkrnlmp.exe). Более детальную информацию можно получить в документации “Installing the Checked Build” WinDDK.