BSOD 0x0000001E — KMODE_EXCEPTION_NOT_HANDLED

BSOD 0x0000001E Данный стоп код содержит дополнительные параметры, которые приведены в таблице ниже.

Параметр Описание
1 Код необрабатываемого исключения
2 Адрес, по которому произошло исключение
3 Параметр 0 исключения
4 Параметр 1 исключения

Причины

Для того чтобы интерпретировать ошибку, необходимо определить ее тип.

Наиболее распространенные типы ошибок (параметр 1) следующие:

  • 0x80000002: STATUS_DATATYPE_MISALIGNMENT (была выполнена попытка сослаться на блок не выровненных данных);
  • 0x80000003: STATUS_BREAKPOINT (произошел останов из-за точки останова или ASSERT в то время когда к системе не был подключен отладчик);
  • 0xC0000005: STATUS_ACCESS_VIOLATION (произошла ошибка обращения к памяти, параметр 4 стоп кода содержит адрес, по которому пытался обратится драйвер).

Полный список кодов исключений приведен в файле ntstatus.h (каталог inc DDK).

Решение

Если с стоп кодом указан проблемный драйвер, попытайтесь отключить его. Под отключением драйвера обычно подразумевается удаление программного обеспечения, которое его использует. Также общие рекомендации следующие:

  • попробуйте поменять видео карту;
  • обновите версию BIOS до последней версии;
  • отключите в BIOS такие параметры как caching и shadowing.

Вы можете обнаружить, что получение стека вызовов может быть проблемой. Параметр 2 (адрес, по которому произошло исключение) указывает на код драйвера или функции, который привел к BSOD. Если произошло исключение с кодом 0x80000003 это означает, что система была загружена с параметром /NODEBUG (значение по умолчанию), а в драйвере был выполнен ASSERT.

Если произошло исключение 0x80000003 попытайтесь проанализировать дополнительную информацию ловушки фрейма.

Если причина исключения неизвестна, обратите внимание на следующие возможные причины.

Аппаратная несовместимость. Убедитесь, что новые установленные аппаратные средства совместимы с используемой версией Windows. Например, информацию о совместимости аппаратных средств с Windows 7 вы можете получить здесь — http://msdn.microsoft.com/en-us/library/windows/hardware/ff557408(v=vs.85).aspx.

Ошибка в коде драйвера. Также причиной краха могут быть:

  • конфликты памяти;
  • несовместимость BIOS;
  • конфликты IRQ.

Если вы определили проблемный драйвер, попытайтесь отключить его (например, переименовав).Если ошибка происходит в процессе загрузки системы, попытайтесь загрузится в безопасном режиме. Если драйвер загружается и в нем – используйте консоль восстановления. Если проблема связана с Win32k.sys то причиной может быть ПО стороннего разработчика для удаленного управления.

Также выполните тестирование памяти, как это сделать описано в следующих статьях: