BSOD 0x0000013A KERNEL_MODE_HEAP_CORRUPTION: исправление ошибки ядра
Симптомы ошибки кучи ядра (BSOD 0x0000013A)
Операционная система внезапно падает в синий экран с кодом остановки 0x0000013A: KERNEL_MODE_HEAP_CORRUPTION. Ошибка свидетельствует о том, что менеджер пула ядра обнаружил повреждение структуры заголовков или блоков кучи режима ядра (Kernel Mode Heap).
| Симптом | Проявление |
|---|---|
| Внезапная перезагрузка | BSOD происходит во время интенсивных операций ввода-вывода или работы сетевых фильтров |
| Ошибки в ntoskrnl.exe | Дамп памяти указывает на сбой функций RtlpAllocateHeap / ExAllocatePoolWithTag |
| Зависание системных служб | Периодические кратковременные зависания перед критическим падением |
Пошаговое устранение ошибки BSOD 0x0000013A
- Выявите сбоящий сторонний драйвер с помощью Driver Verifier: механизм проверки драйверов поможет изолировать драйвер, затирающий чужие области памяти в куче:
# Запуск графической утилиты проверки драйверов:
verifier.exe
# Либо настройка Verifier через командную строку для проверки сторонних драйверов:
verifier /standard /all
# Для отмены проверки драйверов после диагностики (перезагрузитесь в Safe Mode если система падает):
verifier /reset- Проверьте и обновите сетевые драйверы и антивирусные фильтры: драйверы сетевых экранов (NDIS-фильтры), VPN-клиенты и модули антивирусов — основные виновники повреждения кучи ядра.
- Выполните сканирование системных файлов и исправление образа Windows:
# Восстановление целостности системных библиотек:
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow- Проверьте оперативную память на битые ячейки: аппаратные дефекты RAM вызывают искажение битов в структурах кучи.
Внимание: При включенном Driver Verifier сервер может перезагружаться медленнее обычного. После локализации сбойного .sys файла обязательно отключите Verifier командой verifier /reset.
Частые вопросы (FAQ)
Что такое Kernel Mode Heap простыми словами?
Это специальная область оперативной памяти, выделенная ядру Windows и драйверам устройств для динамического хранения их рабочих структур и переменных.
Почему происходит повреждение кучи (Heap Corruption)?
Оно возникает из-за ошибки в коде драйвера, когда драйвер записывает данные за пределы выделенного ему буфера (Buffer Overflow) или обращается к уже освобожденной памяти (Use-After-Free).
Как отключить Driver Verifier, если Windows уходит в циклическую перезагрузку?
Загрузитесь в безопасный режим (Safe Mode) или среду восстановления Windows Recovery, откройте командную строку и выполните команду 'verifier /bootmode resetonbootfail' или 'verifier /reset'.
Где посмотреть точный драйвер, вызвавший 0x13A?
Загрузите файл дампа Memory.dmp в WinDbg и просмотрите значение параметра Arg1 и вывод команды '!heap -p -a <адрес>'.