Компьютер был перезагружен после критической ошибки код ошибки 0x000000d1
История одного расследования «синего экрана» на серверной ОС. У клиента периодически начал перезагружаться сервер 1С. Физическая машина в локальной сети. Нас попросили проверить, в чем дело.
Эти зависания доставляли неудобства в работе. В принципе, мешали делу, а пользователи содрогались при виде ошибки на своих экранах.
На сервере был установлен признак « Выполнить автоматическую перезагрузку » при отказе системы.
Сервисы возвращались в строй через несколько минут, но сохранялся риск потери данных. Сам по себе факт системного отказа — тревожный момент и требует внимания.
Простой способ устранить ошибку BSOD 0x000000d1
Самый простой и удобный способ обновить устаревшие драйверы на вашем компьютере – запустить утилиту для обновления драйверов.
После того, как вы выполните вышеупомянутые шаги, ваша система будет готова к использованию без раздражающего кода ошибки driver_irql_not_less_or_equal 0x000000d1. Разве это не облегчение, верно!
Описание ситуации
И так у меня есть RDS ферма построенная на Windows Server 2012 R2, в какой-то момент система мониторинга прислала уведомление, о том что один из узлов не доступен. Так как у меня, это виртуальная машина) на ESXI 6.5 и крутящейся на сервере Dell R740, то я подключился к консоли и увидел синий экран с такой вот формулировкой:
На вашем ПК возникла проблема, и его необходимо перезагрузить. Мы лишь собираем некоторые сведения об ошибке, а затем будет автоматически выполнена перезагрузка. При желании вы можете найти в интернете информацию по этому коду ошибки: REFERENC_BY_POINTER
Обновите системные драйверы
Если вы знаете, какие драйверы не обновлялись некоторое время, первым делом обновите их. У обновленной версии драйвера меньше шансов иметь проблемы со стабильностью.
Обновление драйверов обычно включает посещение сайта производителя, зная точный номер модели недавно установленного оборудования или аксессуара, а также операционной системы, которую вы используете в настоящее время.
Изучение и просмотр журналов
По фильтрам быстро вышли на код ошибки — 0x000000d1. Само событие записано в таком виде:
Компьютер был перезагружен после критической ошибки. Код ошибки: 0x000000d1 (0x0000000000000000, 0x0000000000000002, 0x0000000000000000, 0xfffff88007285006). Дамп памяти сохранен в: C:\Windows\MEMORY.DMP.
Описание ошибки: DRIVER_IRQL_NOT_LESS_OR_EQUAL . Если упрощенно — ошибка вызвана обращением драйвера к памяти.
Решение
Полезные материалы Microsoft
- Устранение ошибок синего экрана (последовательность шагов по диагностике неполадок).
- Дополнительные способы устранения STOP-ошибок .
⚡ Подписывайтесь на канал или задавайте вопрос на сайте — постараемся помочь всеми техническими силами. Безопасной и производительной работы в Windows и 1С.
Windows Server 2008 R2 Service Pack 1 Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Datacenter Windows Server 2008 R2 for Itanium-Based Systems Windows Server 2008 R2 Foundation Windows Server 2008 R2 Standard Windows Server 2008 R2 Web Edition Windows 7 Service Pack 1 Windows 7 Enterprise Windows 7 Home Basic Windows 7 Home Premium Windows 7 Professional Windows 7 Starter Windows 7 Ultimate Еще. Меньше
Сведения об исправлении
Существует исправление от корпорации Майкрософт. Однако данное исправление предназначено для устранения только проблемы, описанной в этой статье. Применяйте это исправление только в тех случаях, когда наблюдается проблема, описанная в данной статье. Это исправление может проходить дополнительное тестирование. Таким образом если вы не подвержены серьезно этой проблеме, рекомендуется дождаться следующего пакета обновления, содержащего это исправление.
Если исправление доступно для скачивания, имеется раздел "Пакет исправлений доступен для скачивания" в верхней части этой статьи базы знаний. Если этот раздел не отображается, обратитесь в службу поддержки для получения исправления.
Примечание. Если наблюдаются другие проблемы или необходимо устранить неполадки, вам может понадобиться создать отдельный запрос на обслуживание. Стандартная оплата за поддержку будет взиматься только за дополнительные вопросы и проблемы, которые не соответствуют требованиям конкретного исправления. Для получения полного списка телефонов поддержки и обслуживания клиентов корпорации Майкрософт, или для создания отдельного запроса на обслуживание, посетите следующий веб-сайт Майкрософт:
http://support.microsoft.com/contactus/?ws=supportПримечание. В форме "Пакет исправлений доступен для скачивания" отображаются языки, для которых доступно исправление. Если нужный язык не отображается, значит исправление для данного языка отсутствует.
Предварительные условия
Для установки этого исправления необходимо наличие Windows 7 с пакетом обновления 1 или Windows Server 2008 R2 с пакетом обновления 1.
Для получения дополнительных сведений о получении пакета обновления для Windows 7 или Windows Server 2008 R2 см. следующую статью базы знаний Майкрософт:
976932 Сведения о пакете обновления 1 для Windows 7 и Windows Server 2008 R2
Сведения о реестре
Для установки этого исправления нет необходимости вносить изменения в реестр.
Необходимость перезагрузки
После установки исправления компьютер необходимо перезагрузить.
Сведения о замене исправлений
Это исправление не заменяет ранее выпущенные исправления.
Глобальная версия этого исправления устанавливает файлы с атрибутами, указанными в приведенных ниже таблицах. Дата и время для файлов указаны в формате UTC. Дата и время для файлов на локальном компьютере отображаются в местном времени с вашим текущим смещением летнего времени (DST). Кроме того, при выполнении определенных операций с файлами, даты и время могут изменяться.
Примечания к сведениям о файлах Windows 7 и Windows Server 2008 R2Важно. Исправления для Windows Server 2008 R2 и Windows 7 включены в одни и те же пакеты. Однако исправления на странице запроса исправлений перечислены под обеими операционными системами. Чтобы запросить пакет исправления, который применяется к одной или обеим ОС, установите исправление, описанное в разделе "Windows 7/Windows Server 2008 R2" страницы. Всегда смотрите раздел "Информация в данной статье относится к следующим продуктам" статьи для определения фактических операционных систем, к которым применяется каждое исправление.
Файлы, относящиеся к определенному продукту, этапу разработки (RTM, SPn) и направлению поддержки (LDR, GDR) можно определить путем проверки номера версий файлов, как показано в следующей таблице.
Windows 7 и Windows Server 2008 R2
Windows 7 и Windows Server 2008 R2
Выпуски обновлений GDR содержат только те исправления, которые выпускаются повсеместно и предназначены для устранения распространенных критических проблем. В обновления LDR входят также специализированные исправления.
Файлы MANIFEST (.manifest) и MUM (.mum), устанавливаемые для каждой среды, указаны отдельно в разделе "Сведения о дополнительных файлах для Windows 7 и Windows Server 2008 R2". MUM и файлы МАНИФЕСТА и связанные файлы каталога безопасности (.cat), очень важны для поддержания состояния обновляемого компонента. Файлы каталога безопасности, для которых не перечислены атрибуты, подписаны цифровой подписью корпорации Майкрософт.
Запустите средство проверки системных файлов
- Одновременно нажмите клавиши Win + R .
- В окне «Выполнить» введите cmd и нажмите Ctrl + Shift + Enter . Это откроет командную строку в режиме администратора. Если вы не нажмёте эти клавиши, командная строка откроется в обычном режиме.
- Затем введите exe /Online /Cleanup-image /Restorehealth и нажмите Enter .
Примечание. Если файлы Центра обновления Windows повреждены, используйте следующую команду: DISM.exe /Online /Cleanup-Image /RestoreHealth /Source:C:\RepairSource\Windows /LimitAccess .
Однако, если проблема всё ещё не устранена, возможно, что на систему влияет не тот драйвер, который вы установили последним. Следовательно, вам необходимо его идентифицировать и устранить проблему. Но как?
Исправляем синий экран и ошибку 0x000000d1
Вот как выглядит синий экран и код ошибки 0x000000d1 в Windows 10.
В большинстве случаев в Windows 10, ошибка 0x000000D1 DRIVER_IRQL_NOT_LESS_OR_EQUAL не требует анализа дампа памяти и дополнительных исследований. И тут видно, что проблема с драйвером. В таких случаях синий экран выдает имя файла с окончанием .sys, в приведенном скриншоте это файл myfault.sys.
Чаще всего это бывают следующие драйвера:
- nv1ddmkm.sys, nvlddmkm.sys (и другие имена файлов, начинающиеся с nv) — сбой драйвера видеокарты NVIDIA. Решение — полностью удалить драйверы видеокарты, установить официальные с сайта NVIDIA под вашу модель. В некоторых случаях (для ноутбуков) проблему решает установка официальных драйверов с сайта производителя ноутбука.
- atikmdag.sys (и другие, начинающиеся с ati) — сбой драйвера видеокарты AMD (ATI). Решение — полностью удалить все драйвера видеокарты (см. ссылку выше), установить официальные под вашу модель.
- rt86winsys, rt64win7.sys (и другие rt) — сбой драйверов Realtek Audio. Решение — установить драйверы с сайта производителя материнской платы компьютера или с сайта производителя ноутбука для вашей модели (но не с сайта Realtek).
- ndis.sys — имеет отношение к драйверу сетевой карты компьютера. Попробуйте также установить официальные драйверы (с сайта производителя материнской платы или ноутбука для вашей модели, а не через «Обновление» в диспетчере устройств). При этом: иногда бывает, что проблему вызывает недавно ndis.sys установленный антивирус.
Ошибка STOP 0x000000D1 ndis.sys
Если вы поймали ошибку STOP 0x000000D1 ndis.sys, то бывают случаи, что чтобы установить свежий драйвер сетевой карты при постоянно появляющемся синем экране смерти, следует зайти в безопасный режим (без поддержки сети) и проделать следующее:
Открываем диспетчер устройств, для этого щелкаем правым кликом по кнопке пуск и выбираем из контекстного меню данный пункт.
свойства сетевого адаптера, вкладку Драйвер
Нажмите Обновить, выберите Выполнить поиск на этом компьютере — Выбрать из списка уже установленных драйверов.
В следующем окне вероятнее всего будет отображаться 2 и более совместимых драйверов. Выберите тот из них, поставщик которого не Microsoft, а производитель сетевого контроллера (Atheros, Broadcomm и т.п.).
Если это не помогло и вы не решили ошибку 0x000000d1, то попробуйте произвести откат драйвера, или его полная переустановка, либо с официального сайта производителя или одним махом за один раз. Если не помогло, то давайте посмотрим дамп.
Симптомы
STOP: 0x000000D1 (параметр1, параметр2, параметр3, параметр4)
Stop-ошибка описывает проблему DRIVER_IRQL_NOT_LESS_OR_EQUAL.
Не все ошибки «Stop 0x000000D1» являются причиной этой проблемы.
Дополнительные сведения о 2738401 КБ щелкните следующий номер статьи базы знаний Майкрософт:
2738401 исходный пакет будет удален после получения широковещательные пакеты UDP на компьютере под управлением Windows 7 или Windows Server 2008 R2
✅ Сегодня сервер работает в штатном режиме, но уже без SEP.
Анализируем дамп ошибки 0x000000d1
Есть два способа произвести анализ дампа памяти, первый и самый правильный это с помощью Microsoft Kernel Debugger, но он требует установки и дополнительных действий, но есть еще быстрая беглая проверка, бесплатной утилиты BlueScreenView.
Вы запускаете BlueScreenView и открываете файл дампа, посмотреть его где он хранится можно, в свойствах системы (Панель управления > Система ). Далее перейдите на вкладку Дополнительно > Параметры. Вы увидите место хранения Файл дампа. Если сохранение дампа не включено, то поставьте соответствующую галку и ждите следующей ошибки 0x000000d1.
Утилита, вам показывает какие библиотеки и драйвера вызывают данную ошибку 0x000000D1
Что такое ошибка 0x000000d1 в Windows 10
driver_irql_not_less_or_equal 0x000000d1 – ошибка, связанная с драйвером. Это происходит, когда один из драйверов, установленных на вашем компьютере, оказывается поврежденным или несовместимым.
Эта ошибка может возникнуть в любой версии Windows. Иногда это происходит во время запуска Windows, что вызывает сбой Windows 10 или завершение работы с отображением ошибки 0x000000d1.
Восстановите драйвер
Если обновление системных драйверов не помогает, возможно, вам придётся откатить недавно обновленные драйверы. Существует вероятность того, что используемое оборудование или аксессуары могут вызывать проблемы из-за недавнего обновления драйвера. Это верно, если вы используете старую Windows. Поэтому для решения этой проблемы потребуется откат драйверов.
Для этого выполните следующие действия:
- Введите Диспетчер устройств в строке поиска Windows.
- Щелкните правой кнопкой мыши проблемное устройство и выберите Свойства.
- Щелкните вкладку Драйвер → Откатить .
- Следуйте инструкциям на экране, чтобы завершить процесс.
Если вы всё ещё сталкиваетесь с driver_irql_not_less_or_equal 0x000000d1, переходите к следующему решению.
Анализ синего экрана reference_by_pointer 0x00000018
Перед тем, как производить анализ дампов, я всегда просматриваю события в логах Windows. В журнале "Система" я обнаружил ошибку с кодом ID 1001:
Компьютер был перезагружен после критической ошибки. Код ошибки: 0x00000018 (0x0000000000000000, 0xffffe80208a4e700, 0x0000000000000010, 0xffffc0024a26e1f1). Дамп памяти сохранен в: C:\Windows\MEMORY.DMP. Код отчета: 110519-43375-01.
Как видно из события ID 1001 с кодом 0x00000018, вся информация была записана в дамп по пути C:\Windows\MEMORY.DMP. Ранее я вам рассказывал, как производить анализ дампа и находить причины синего экрана, советую почитать. Там мы использовали утилиту Microsoft Kernel Debugger. Открываем Microsoft Kernel Debugger и скармливаем по очереди ваши файлы дампов, для начала я посмотрю мини дамп.
REFERENCE_BY_POINTER (18)
Arguments:
Arg1: 0000000000000000, Object type of the object whose reference count is being lowered
Arg2: ffffe80208a4e700, Object whose reference count is being lowered
Arg3: 0000000000000010, Reserved
Arg4: ffffc0024a26e1f1, Reserved
The reference count of an object is illegal for the current state of the object.
Each time a driver uses a pointer to an object the driver calls a kernel routine
to increment the reference count of the object. When the driver is done with the
pointer the driver calls another kernel routine to decrement the reference count.
Drivers must match calls to the increment and decrement routines. This bugcheck
can occur because an object's reference count goes to zero while there are still
open handles to the object, in which case the fourth parameter indicates the number
of opened handles. It may also occur when the object's reference count drops below zero
whether or not there are open handles to the object, and in that case the fourth parameter
contains the actual value of the pointer references count.
GetUlongPtrFromAddress: unable to read from fffff8011c3c8308
KEY_VALUES_STRING: 1
PROCESSES_ANALYSIS: 1
SERVICE_ANALYSIS: 1
STACKHASH_ANALYSIS: 1
TIMELINE_ANALYSIS: 1
DUMP_CLASS: 1
DUMP_QUALIFIER: 400
BUILD_VERSION_STRING: 9600.19377.amd64fre.winblue_ltsb_escrow.190524-1500
SYSTEM_MANUFACTURER: VMware, Inc.
VIRTUAL_MACHINE: VMware
SYSTEM_PRODUCT_NAME: VMware Virtual Platform
SYSTEM_VERSION: None
BIOS_VENDOR: Phoenix Technologies LTD
BIOS_VERSION: 6.00
BIOS_DATE: 12/12/2018
BASEBOARD_MANUFACTURER: Intel Corporation
BASEBOARD_PRODUCT: 440BX Desktop Reference Platform
BASEBOARD_VERSION: None
DUMP_TYPE: 2
BUGCHECK_P1: 0
BUGCHECK_P2: ffffe80208a4e700
BUGCHECK_P3: 10
BUGCHECK_P4: ffffc0024a26e1f1
CPU_COUNT: 10
CPU_MHZ: bb1
CPU_VENDOR: GenuineIntel
CPU_FAMILY: 6
CPU_MODEL: 55
CPU_STEPPING: 4
CPU_MICROCODE: 6,55,4,0 (F,M,S,R) SIG: 200005E'00000000 (cache) 200005E'00000000 (init)
ANALYSIS_SESSION_TIME: 11-05-2019 16:25:03.0325
ANALYSIS_VERSION: 10.0.18362.1 amd64fre
LAST_CONTROL_TRANSFER: from fffff8011c1dd91d to fffff8011c1ba3a0
STACK_TEXT:
ffffd000`311b7788 fffff801`1c1dd91d : 00000000`00000018 00000000`00000000 ffffe802`08a4e700 00000000`00000010 : nt!KeBugCheckEx
ffffd000`311b7790 fffff801`1c0c3042 : 00000000`00000002 00000000`00000004 ffffe802`08a4e700 fffff800`557020dd : nt! ?? ::FNODOBFM::`string'+0xe82d
ffffd000`311b77d0 fffff801`1c0c291a : 00000000`0000eb01 00000000`00010224 00000000`00000001 ffffe802`0a7c8080 : nt!ExpApplyPriorityBoost+0x16a
ffffd000`311b7840 fffff801`1c0d03ea : ffffe802`07b51b70 ffffe801`ff4ee230 ffffe802`00000000 fffff801`00000000 : nt!ExpWaitForResource+0xea
ffffd000`311b78f0 fffff800`55732a67 : 00000000`00000002 00000000`00000000 ffffd000`311b7b30 00000000`c0000055 : nt!ExAcquireResourceExclusiveLite+0x1da
ffffd000`311b7960 fffff800`55740b5e : ffffc002`51d7c010 ffffe000`d13cd601 ffffe000`d67fab00 ffffe000`d67fa790 : rdbss!__RxAcquireFcb+0xe7
ffffd000`311b79e0 fffff800`563a6a17 : ffffe000`d67fa790 ffffe000`d67f9010 00000000`00000001 fffff800`56382c01 : rdbss!RxFinalizeConnection+0x21e
ffffd000`311b7aa0 fffff800`563a07e1 : ffffe802`09084010 ffffe802`0a799580 ffffe000`d13cd410 ffffe802`0a799580 : rdpdr!DrDeleteConnection+0xbf
ffffd000`311b7ae0 fffff800`5574b474 : ffffe802`09084010 ffffe802`09084010 ffffe802`0a799580 ffffe000`d13cd410 : rdpdr! ?? ::NNGAKEGL::`string'+0x4961
ffffd000`311b7b60 fffff800`557332f0 : ffffe802`0a7996e0 ffffe802`0a799580 ffffe802`0a799580 ffffe801`f5cc51c0 : rdbss!RxXXXControlFileCallthru+0xe4
ffffd000`311b7ba0 fffff800`55700cea : ffffe802`0a799580 fffff800`55725c80 01d593c6`037ea5e1 00007ff7`f3f6a000 : rdbss!RxCommonDevFCBFsCtl+0xb0
ffffd000`311b7c00 fffff800`5573128d : 00000000`00000000 00000000`00000000 00000000`00000000 fffff800`54d66ab9 : rdbss!RxFsdCommonDispatch+0x4fa
ffffd000`311b7d80 fffff800`56390175 : ffffc002`19f1e050 00000000`00000000 fffff800`5638c010 ffffd000`311b7ea8 : rdbss!RxFsdDispatch+0xed
ffffd000`311b7df0 fffff800`54e5a4c5 : ffffe802`0a0facb0 00000000`00000000 ffffe802`0a799580 ffffe801`f5cc51c0 : rdpdr!DrPeekDispatch+0x175
ffffd000`311b7ea0 fffff800`54e5a6a2 : ffffc001`cb6fe1c0 fffff800`54e51000 ffffe000`d191db80 00000000`00000000 : mup!MupiCallUncProvider+0x1b5
ffffd000`311b7f10 fffff800`54e5aa32 : ffffe802`0a799580 ffffd000`311b7fe0 00000000`00000000 ffffd000`311b7f98 : mup!MupStateMachine+0xd2
ffffd000`311b7f50 fffff800`541a30da : ffffe802`0a893250 ffffe802`0a0facb0 00000000`00000800 ffffd000`311b7fa8 : mup!MupFsControl+0xf6
ffffd000`311b7f90 fffff800`541cb821 : ffffd000`311b8050 ffffe000`d1c410a0 ffffe802`0a799728 ffffe802`0a799580 : fltmgr!FltpLegacyProcessingAfterPreCallbacksCompleted+0x25a
ffffd000`311b8030 fffff801`1c4ff0af : 00000000`00000002 ffffd000`311b8111 ffffe802`0a7e72b0 0000001e`00100001 : fltmgr!FltpFsControl+0x111
ffffd000`311b8090 fffff801`1c500018 : ffffe802`0a7e7204 ffffe802`0a7e72b0 ffffc002`3d76d218 ffffe802`0a7e72b0 : nt!IopSynchronousServiceTail+0x32b
ffffd000`311b8160 fffff801`1c4b660a : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!IopXxxControlFile+0xdb8
ffffd000`311b82a0 fffff801`1c1ca2a3 : 00000000`00000102 ffffd000`311b8358 00000000`00000000 ffffe000`00000001 : nt!NtFsControlFile+0x56
ffffd000`311b8310 00007ffd`5c670aea : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x13
000000e8`227fe478 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x00007ffd`5c670aea
Далее я наблюдаю имя сбойного модуля MODULE_NAME: rdbss
FOLLOWUP_IP:
rdbss!__RxAcquireFcb+e7
fffff800`55732a67 440fb6f0 movzx r14d,al
Ошибка 0x000000D1 в Windows XP
Причинами ошибки DRIVER_IRQL_NOT_LESS_OR_EQUAL в некоторых случаях также могут быть следующие вещи:
- Программы, устанавливающие драйверы виртуальных устройств (а точнее сами эти драйверы), особенно взломанные. Например, программы для монтирования образов дисков.
- Некоторые антивирусы (опять же, особенно в тех случаях, когда используются обходы лицензий).
- Фаерволы, в том числе встроенные в антивирусах (особенно в случаях возникновения ошибок ndis.sys).
Если у вас есть точки восстановления системы, то попробуйте откатиться на стабильное состояние системы и надеюсь вы победили ошибку 0x000000d1 в Windows 10
Стандартные шаги
В командной строке от имени администратора. Для выполнения или завершения операций может потребоваться перезагрузка сервера.
- Проверка оперативной памяти на предмет неполадок ( mdsched.exe ).
- Проверка диска на ошибки ( chkdsk c: /f ).
- Проверка целостности системных файлов ( sfc /scannow ).
В нашем случае эти проверки были завершены. Но результата не дали.
Анализ дампа MEMORY.DMP
Мы использовали средство отладки WinDbg (входит в состав « Пакет SDK для Windows 10 »), которое показало на файл termdd.sys . Один из драйверов протокола удаленного рабочего стола (RDP).
Следующая утилита MiniDumper подсказала кое-что другое и вывела на сторонний модуль IDSvia64.sys .
Ответ программы после анализа:
Дамп: MEMORY.dmp (16.03.2021 11:03:59)
Код: 0xD1 - DRIVER_IRQL_NOT_LESS_OR_EQUAL
Процесс: System, вероятно вызвано: termdd.sys
Сторонние модули в Raw-стеке: IDSvia64.sys
FAILURE_BUCKET_ID: X64_0xD1_termdd!IcaChannelInputInternal+1f2
Файл IDSvia64.sys, как мы поняли, отвечает за систему предотвращения вторжений из комплекта антивирусного ПО Symantec.
Находился в одном из каталогов, название которого указывало на дату обновления. Т. е. он был загружен совсем недавно. С той поры, когда и начались сбои.
- при развертывании Symantec Endpoint Protection этот компонент специально не выбирался к установке — использовался только антивирусный модуль;
- если он работал скрытно и без ошибок — нет ясности, что потом помешало ему работать дальше, в паре с termdd.sys.
Для теста антивирусное ПО Symantec было заменено на стандартный Microsoft Security Essentials. И вылеты прекратились.
Читайте также:
- Настольный считыватель usb используемые типы идентификаторов em marin hid pr eh08 parsec
- Сони дск р1 карты памяти какие
- Звуковая подсистема discord что это legacy standard
- Слот расширения материнской платы какого типа отправляет данные по одному биту за раз
- Компрессор для чистки компьютера от пыли своими руками