UNEXPECTED KERNEL MODE TRAP — причины и варианты решения

Способы исправить ошибку UNEXPECTED KERNEL MODE TRAPUNEXPECTED KERNEL MODE TRAP (0x7F) — один из самых распространённых и, одновременно, сложных в диагностике синих (или, в последних версиях системы — чёрных) экранов BSoD, которые могут быть вызваны как аппаратными так и программными причинами.

В этой инструкции подробно о том, чем может быть вызван такой сбой, способах выяснить конкретную причину и исправить ситуацию в Windows 11/10.

Причины и диагностика

Пример экрана UNEXPECTED KERNEL MODE TRAP в Windows 11

Синий/чёрный экран с кодом UNEXPECTED KERNEL MODE TRAP говорит о том, что при выполнении кода процессор столкнулся с исключением: деление на ноль, переполнение, сбой при вызове обработчика ошибки, попытка выполнения несуществующей инструкции.

Конкретные причины бывают различными и включают в себя как аппаратные, так и программные. Среди первых — нестабильный разгон, неисправности оперативной памяти, сбои в работе материнской платы или процессора. Программные включат в себя драйверы, вызывающие переполнение стека, повреждение системных файлов ядра Windows, ошибки в обновлениях BIOS/UEFI.

В ситуации с рассматриваемым сбоем лучше не начинать «гадать» и пытаться решить проблему методом исключения (за исключением случаев, когда известно, после каких действий она появилась), а использовать средства анализа дампов памяти, в идеале — WinDbg.

Пример использования:

  1. Скачайте WinDbg из Microsoft Store или по прямой ссылке и установите программу.
  2. Запустите её от имени администратора (это необходимо для беспроблемного доступа к файлам дампов, сохранённых системой).
  3. Откройте файл с расширением .dmp из папки
    C:\Windows\Minidump
    созданный в момент сбоя.
  4. После загрузки нажмите оп ссылке
    !analyze -v
    или введите эту же команду в окно ввода команд, дождитесь завершения анализа. Запуск анализа в WinDbg
  5. Если в поле IMAGE_NAME указан какой-либо файл .sys, проблема, по всей видимости в работе этого драйвера: выясните, что это за драйвер (поиск в Интернете или иными способами), попробуйте другие его версии или удалить его. Драйвер виновник сбоя в WinDbg
  6. Если в указанном поле указан процесс ядра Windows (например, ntkrnlmp.exe), обратите внимание на поле PROCESS_NAME (при работе какого процесса произошёл сбой, в некоторых случаях именно он оказывается инициатором сбоя), а также на значение Arg1, где с большой вероятностью будет одно из следующих значений: 0x00000000 (Divide by Zero Error) — деление на ноль, обычно ошибка кривого драйвера; 0x00000004 (Overflow) — переполнение, причиной могут быть аппаратные и программные проблемы; 0x00000006 (Invalid Opcode) — обращение к недопустимой инструкции, часто говорит о проблемах с «железом» — памятью или самим процессором; 0x00000008 (Double Fault) сбой при вызове обработчика предыдущей ошибки, обычно говорит о переполнении стека ядра из-за неправильных вызовом драйвером или другим процессом. Пример Arg1 при сбое UNEXPECTED KERNEL MODE TRAP

Также вы можете использовать автоматизированный онлайн-сервис анализа дампов памяти remontka.pro/bsod/ — просто загрузите файл .dmp и получите отчёт с вероятными причинами в конкретной ситуации:

Примечание: если ошибка возникает при загрузке компьютера, то после нескольких неудачных попыток запуска вы можете открыть среду восстановления по кнопке «Дополнительные параметры» и использовать безопасный режим (в том числе с поддержкой сети).

Способы исправить ошибку

В зависимости от конкретной ситуации, возможны следующие подходы к решению, от простых к более сложным:

  1. Если сведения из дампа памяти прямо указывают на файл драйвера .sys — попробуйте разобраться именно с ним: удалить, обновить, возможно — откатить на предыдущую версию.
  2. В случае, если сбой происходит при работе стороннего процесса, использующего драйверы уровня ядра, аналогично — попробуйте «поработать» с этим процессом.
  3. При наличии сторонних антивирусов на компьютере, проверьте, исчезает ли ошибка при их удалении.
  4. Если вы каким-либо образом включали разгон оперативной памяти (в том числе «зашитые» профили XMP/EXPO/DOCP) или процессора, проверьте, решает ли проблему их полное отключение. Также можно проверить работу с оптимизированным настройками BIOS по умолчанию (Load Optimized Defaults).
  5. Выполните проверку оперативной памяти на ошибки, при наличии ошибок и нескольких планок памяти, проверьте работу с одной планкой, а при сохранении сбоя UNEXPECTED KERNEL MODE TRAP — с другой.
  6. Проверьте температуры процессора и памяти под нагрузкой в HWiNFO64 или AIDA64, при выходе за границы нормальных для конкретного CPU или памяти пределов, сфокусируйтесь на решении проблем с системой охлаждения (термопаста, крепления кулеров, пыль).
  7. С осторожностью и строго следуя рекомендациям производителя (операция потенциально небезопасна): при наличии обновлений BIOS на официальном сайте для вашего устройства, попробуйте установить его.
  8. Если ошибка возникла после каких-либо действий с файлами системы или драйверами, попробуйте использовать точки восстановления системы, а также восстановить системные файлы, запустив командную строку от имени администратора и по порядку выполнив команды:
    dism /online /cleanup-image /restorehealth
    sfc /scannow

Надеюсь, что-то из перечисленного поможет разобраться с проблемой и устранить сбой. Если же нет, опишите в деталях, что удалось обнаружить, есть ли какие-то закономерности появления ошибки, после чего она стала возникать. Возможно, я смогу помочь.

Оставить комментарий