Синий экран смерти 0x000000C8 указывает на неверное значение IRQL процессора.
Параметры IRQL_UNEXPECTED_VALUE:
- Значение следующего разрядного вычисления: (Текущий IRQL <<16) | (Ожидаемый IRQL <<8) | UniqueValue;
- 0 или APC->KernelRoutine;
- 0 или APC;
- 0 или APC->NormalRoutine.
Можно определить «UniqueValue», вычисляя (Параметр 1 и 0xFF). Если «UniqueValue» имеет значение 0 или 1, 2 параметр, 3 параметр, и 4 параметр будет равняться обозначенным указателям APC. В противном случае эти параметры будут равняться нулю.
Причина
BSoD 0x000000C8 обычно вызывается драйвером устройства или другой программой низшего уровня. Причиной является изменение IRQL в течение некоторого промежутка времени и не восстановление исходного значения IRQL в конце этого периода. Например, подпрограмма получила спин-блокировку, которую в дальнейшем не высвободила.
Решение
Необходимо выявить драйвер, который вызывает ошибку. Если он не указывается в сообщении синего экрана, то его необходимо определить. Для этого необходимо проанализировать дамп памяти. Как это сделать, описывается в статье “Анализ дампа памяти”. После определения сбойного драйвера его необходимо удалить, переустановить или же откатить на более раннюю версию.
Также необходимо выполнить все рекомендации, написанные в материале “Общие рекомендации по устранению BSoD”.
Добавить комментарий