0x000000d1: код STOP-ошибки в Windows 7, 10 и XP, как исправить этот синий экран смерти (BSoD), проблема с файлами ndis и srvnet sys

Windows

Возможные причины данной STOP-ошибки

Чаще всего ошибка 0x000000D1 вызвана ошибкой драйвера. Это может быть связано с недавней установкой новых программ, которые могли быть изначально повреждены, повреждены во время ошибки загрузки или быть несовместимыми.

Если в тексте BSoD указан файл с расширением sys (например, srvnet.sys), обратите внимание на этот файл. Это имя, которое будет идентифицировать проблемный драйвер.

Наиболее распространенные имена расширения sys, приводящие к ошибке 0x000000D1:

  • Файлы, начинающиеся на nv (например: nv2ddmkm.sys, nviddmkm.sys) – указывают на неправильное использование драйвера видеокарты Nvidia.
  • Файлы, начинающиеся с ati (например: atismdag.sys) – указывают на неправильное использование драйвера видеокарты AMD.
  • Файлы, начинающиеся на rt (например: rt64win7.sys) — указывают на некорректную работу драйвера от Realtek.
  • ndis.sys – указывает на то, что драйвер сетевого адаптера работает неправильно.
  • srvnet.sys – указывает на ошибку в сетевом драйвере сервера.

Изображение 2
Помимо повреждения драйверов, данная ошибка может быть вызвана ошибками дампа памяти, файла подкачки, некорректным использованием антивируса и фаервола, а также механическим повреждением оперативной памяти.

Важно! Ошибка 0x000000D1 возникает в Windows XP, Vista и 7. Последующие версии Windows (8 и 10) не содержат этой ошибки.

Ошибка 0x000000D1 в Windows XP

Прежде всего, если указанный синий экран в Windows XP возникает при подключении к Интернету или выполнении других сетевых действий, рекомендую установить официальное решение с сайта Microsoft, оно может помочь: https://support.microsoft com/ru-ru /kb/916595 (предназначен для ошибок, вызванных http.sys, но иногда помогает и в других ситуациях). Обновление: По какой-то причине загрузка на данной странице больше не работает, это просто описание ошибки.

Отдельно можно выделить ошибки kbdclass.sys и usbohci.sys в Windows XP – они могут быть связаны как с программным обеспечением, так и с драйверами клавиатуры и мыши от производителя. В остальном способы исправления ошибки такие же, как и в предыдущей части.

Читайте также: Перенос системы на другой жесткий диск

Решение

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

  • Не отмечено как поиск на стороне
  • Не вызывает другие встроенные функции, которые можно выводить на страницы.

расширение отладчика !analyze отображает информацию об ошибке управления и может быть полезно при поиске причины. Следующий пример — результат !analyze.

DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1) Была предпринята попытка доступа к адресу боковой панели (или полностью недействительному) на слишком высоком уровне запроса прерывания (IRQL). Обычно это вызвано тем, что драйверы используют неправильные адреса. Если доступен отладчик ядра, вы можете получить обратную трассировку стека. Аргументы: Arg1: fffff808add27150, память, ссылающаяся на Arg2: 00000000000000002, IRQL Arg3: 000000000000000000, значение 0 = операция чтения, 1 = операция записи Arg4: fffff86ad, cf386ad

Если драйвер, ответственный за ошибку, можно идентифицировать, его имя отображается на синем экране и сохраняется в памяти по адресу (PUNICODE_STRING) KiBugCheckDriver. Вы можете использовать команду dx debugger (показать выражение объектной модели отладчика) для отображения следующего: dx KiBugCheckDriver.

0: kd> dx KiBugCheckDriver KiBugCheckDriver: 0xffffc6092de892c8: «Wdf01000.sys» Тип: _UNICODE_STRING *

Если кадр ловушки доступен в файле дампа, используйте команду .trap, чтобы установить контекст по указанному адресу.

Чтобы начать отладку этого типа проверки ошибок, проверьте трассировку стека с помощью команд (показать трассировку стека назад).kv, kP, kp, kd, kc, kb, k

В отладчике запустите команду !irql, чтобы отобразить информацию IRQL о процессоре на целевом компьютере, прежде чем приостанавливать работу отладчика. Пример:

0: kd> !irql Отладчик сохранил IRQL для процессора 0x0 — 2 (DISPATCH_LEVEL)

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

Поскольку эта проверка ошибок обычно вызвана тем, что драйверы используют неверные адреса памяти, используйте варианты 1, 3 и 4 для дальнейшего расследования.

Используйте (список ближайших символов) ln с параметром 4, чтобы увидеть имя вызываемой функции. Также проверьте вывод !analyze, чтобы узнать, обнаружен ли код ошибки.

Используйте !pool в адресе параметра 1, чтобы определить, является ли это пулом каналов. Используйте !address и расширенную команду !pte, чтобы узнать больше об этой области памяти.

Используйте команды экранной памяти, чтобы проверить память, указанную в команде в параметре 1.

Используйте команды (разборка)uu, ub, u, чтобы увидеть код по адресу, который относится к памяти в параметре 4.

Используйте команду lm tn, чтобы получить список модулей, загруженных в память. Используйте !memusage, чтобы проверить общее состояние системной памяти.

параметры DRIVER_IRQL_NOT_LESS_OR_EQUAL

1 Память, на которую указывает ссылка.
2 IRQL на момент ссылки.
3
  • 0 — читать
  • 1. Вход
  • 2. Исполнение
  • 8. Исполнение
4 Адресная эталонная память. Используйте (список ближайших символов) ln для этого адреса, чтобы увидеть имя функции.
Оцените статью
Блог про Samsung