Event ID 12 HAL: The platform firmware corrupted memory — исправление ошибки
Симптомы аппаратного сбоя Event ID 12 HAL
Windows Server внезапно уходит в перезагрузку, падает в синий экран смерти (BSOD с кодами MEMORY_MANAGEMENT, WHEA_UNCORRECTABLE_ERROR или MACHINE_CHECK_EXCEPTION). В системном журнале System регистрируется критическая ошибка Event ID 12 HAL.
| Поле | Значение |
|---|---|
| Журнал | System |
| Источник | Microsoft-Windows-HAL (Hardware Abstraction Layer) |
| Уровень ошибки | Error / Critical |
| Event ID | 12 |
| Текст ошибки | The platform firmware has corrupted memory across the previous system power transition. Please check for updated firmware for your system. |
Ошибка генерируется уровнем абстракции от оборудования (HAL) и указывает, что прошивка материнской платы (BIOS/UEFI, ACPI-таблицы или микрокод процессора) перезаписала служебную область оперативной памяти во время перехода состояний питания (Sleep, Hibernate, Fast Startup или рестарт ядра).
Устранение повреждения памяти прошивкой и микрокодом
- Отключение гибернации и быстрого запуска (Fast Startup): Исключите повреждение памяти при переходных режимах питания:
powercfg -h off reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /v HiberbootEnabled /t REG_DWORD /d 0 /f - Обновление BIOS/UEFI и прошивок вендора:
- Установите актуальную версию BIOS/UEFI материнской платы сервера через IPMI/iLO/iDRAC.
- Обновите микрокод процессора (Intel CPU Microcode / AMD AGESA Update) и пакет драйверов чипсета.
- Проверка целостности планок оперативной памяти (RAM): Выполните стресс-тестирование памяти средствами Windows Memory Diagnostic или утилитой MemTest86:
mdsched.exe - Проверка аппаратных ошибок через журнал WHEA: Проверьте наличие сбоев коррекции ошибок памяти ECC:
Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Microsoft-Windows-WHEA-Logger'} -ErrorAction SilentlyContinue
Внимание: Если ошибка Event 12 HAL возникает внутри виртуальной машины (на Hyper-V или ESXi), обновите версию виртуального железа (VM Hardware Compatibility / Configuration Version) и установите последние накопительные патчи гипервизора.
Частые вопросы (FAQ)
Может ли сбой блока питания или нестабильный разгон вызывать Event ID 12 HAL?
Да, нестабильное напряжение на контроллере памяти (IMC) или неверно выставленные тайминги XMP/DOCP в BIOS приводят к искажению данных в ACPI-памяти и вызову события HAL 12.
Безопасно ли игнорировать единичное появление ошибки Event 12?
Игнорировать ошибку нельзя, так как повреждение структур памяти уровня ядра неизбежно приведет к скрытой порче баз данных, файлов и аварийным перезагрузкам сервера.
Что делать, если после обновления BIOS ошибка Event 12 HAL сохраняется?
Выполните сброс настроек BIOS в заводские (Load Optimized Defaults), переставьте модули RAM в другие слоты, либо протестируйте планки памяти по отдельности.
Как проверить версию текущей прошивки BIOS через командную строку?
Используйте WMI-команду: 'wmic bios get smbiosbiosversion, releasedate' или командлет PowerShell: 'Get-CimInstance Win32_BIOS'.