Тарифы Услуги Сим-карты

BSoD: Анализ дампов памяти. Анализ креш-дампов памяти Windows Bsod что такое

Консультируя клиентов, я обратил внимание на то, что зачастую для них единственный способ борьбы с синим экраном смерти (Blue Screen of Death, BSoD) — это поиск неисправности по номеру STOP-ошибки. Обычно такой подход может помочь выбрать общее направление решения проблемы, но не всегда позволяет ее локализовать. Например, определить какой конкретный драйвер устройства вызывает BSoD. Строго говоря, анализ дампов памяти — это основной метод борьбы с STOP-ошибками.

При возникновении STOP-ошибки Microsoft Windows может записать отладочную информацию. Для этого необходимо выполнить следующие действия:

1. Нажмите кнопку Пуск и выберите в меню Настройка пункт Панель управления
2. Дважды щелкните по значку Система
3. Откройте вкладку Дополнительно и нажмите кнопку
4. В области Запись отладочной информации выберите пункт Малый дамп памяти (64 КБ)

В файле малого дампа памяти записывается минимальная информация, позволяющая установить причину сбоя компьютера. Для этого на загрузочном томе требуется файл подкачки размером не менее 2 МБ. По умолчанию файлы малого дампа памяти хранятся в папке %SystemRoot%\Minidump.

Файлы малого дампа памяти содержат следующие сведения:

  • Сообщение о неустранимой ошибке, ее параметры и прочие данные
  • Список загруженных драйверов
  • Контекст процессора (PRCB), на котором произошел сбой
  • Сведения о процессе и контекст ядра (EPROCESS) для процесса, вызвавшего ошибку
  • Сведения о процессе и контекст ядра (ETHREAD) для потока, вызвавшего ошибку
  • Стек вызовов в режиме ядра для потока, вызвавшего ошибку

Преимущество файла малого дампа памяти в том, что он имеет небольшой размер. В настоящее время объем оперативной памяти устанавливаемой в компьютеры измеряется гигабайтами, таким образом сохранение файла такого размера займет продолжительное время и может вызвать трудности при ограниченном пространстве жесткого диска. С другой стороны ограниченность сведений, содержащихся в файле малого дампа, не всегда позволяет обнаружить ошибки, которые не были непосредственно вызваны потоком, выполнявшимся в момент их возникновения.

Для анализа дампов памяти используются утилиты kd.exe и windbg.exe . Эти утилиты входят в набор Debugging Tools for Windows . Для того чтобы упростить работу с ними, рекомендую использовать скрипт (автор Alexander Suhovey). Вам так же понадобится утилита reg.exe (включена в Microsoft Windows XP и выше; для Windows 2000 входит в состав Windows 2000 Support Tools).

Скачайте и распакуйте архив со скриптом в папку D:\KDFE . Для работы отладчику требуются символьные файлы, которые можно скачать там же, где и Debugging Tools for Windows. Полный размер пакета с этими файлами довольно внушителен (может составить более 1Гб в зависимости от выбранной платформы). Поэтому скрипт настроен таким образом, чтобы автоматически скачивать с Microsoft Symbol Server только необходимые символьные файлы для работы с конкретным дампом памяти и сохранять их локально на диске для последующего использования. При необходимости можно отредактировать скрипт и изменить переменную smbpath , которая указывает на папку, в которую kd.exe будет сохранять необходимые файлы.

Для использования выполните kdfe.cmd с именем файла дампа памяти в качестве параметра. Например:

D:\KDFE>kdfe mini111208-01.dmp

Analyzing "D:\KDFE\Mini111208-01.dmp", please wait... Done.

Crash date: Wed Nov 12 08:35:56.214 2008 (GMT+2)
Stop error code: 0x50
Process name: AUM.exe
Probably caused by: nv4_disp.dll (nv4_disp+41213)

Надо отметить, что бывают ситуации, когда из-за некорректной работы одного из драйверов, STOP-ошибка впоследствии возникает в совершенно нормальном драйвере. В этом случае рекомендую использовать утилиту verifier.exe (см.

Отказ системы из-за критической ошибки (BSOD) чаще всего возникает по причине неправильной работы или повреждения драйвера, за исключением случаев неполадок в аппаратной части компьютера.

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

Проводить анализ дампов памяти мы будем при помощи отладчика WinDBG, поэтому, прежде чем начать, вам потребуется установить отладчик и настроить его.
Как это сделать вы узнаете из статьи

Интерфейс WinDBG

Когда вы откроете файл дампа памяти, то увидите такое окно:

Стоит отметить, что окно команд по умолчанию независимо от основного окна отладчика, поэтому вы можете изменить его размер, переместить или вписать в окно отладчика перетянув мышью его верхнюю границу к нижней границе панели инструментов, а также развернуть его на весь экран.

Когда вы откроете файл дампа отладчику потребуется некоторое время для подключения к интернету и загрузки необходимых символов для отладки. В процессе загрузки отладочных символов в командной строке отладчика появляется надпись Debugee not connected , в это время вы не сможете использовать отладчик.

После того как символы будут загружены и отладчик будет готов к анализу файла дампа вы увидите сообщение Followup: MachineOwner в нижней части текстового окна.

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

Анализ дампа памяти

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

Коды ошибок всегда указываются в шестнадцатеричном значении и имеют вид 0xXXXXXXXX . Указываются же коды ошибок одним из следующих вариантов:

  • STOP: 0x0000009F
  • 03.06.2015 0009F

Справочник по кодам ошибок: Windows Dev Center Bug Check Code Reference

Команда!thread и анализ драйверов

Самая распространенная причина возникновения BSOD - это сторонние драйверы (производителей устройств). Для того, чтобы увидеть фигурирует ли драйвер устройства в дампе нам понадобится просмотреть стек.
Выполните команду ! thread и найдите в результатах ее выполнения Base и Limit , и их шестнадцатеричные значения.
В рассматриваемом примере они такие:
Base fffff80000b9b000 Limit fffff80000b95000

В командной строке напечатайте dps затем через пробел шестнацатеричное значение Limit , а за ним значение Base . В данном случае важен порядок указания значений - он должен быть обратным отображаемому в результате выполнения команды!thread.

dps fffff80000b95000 fffff80000b9b000

Когда стек будет загружен вы увидите множество строк с текстом и значениями. Среди результатов выполнения команды поищите сообщения об ошибках с указанием на драйверы. В рассматриваемом примере это драйвер igdkmd64.sys и iaStorA.sys а в отладчике это выглядит так:

Поищите на компьютере указанные драйверы. Это не обязательно, но желательно сделать т.к. после удаления драйвера из диспетчера устройств или при помощи программы удаления производителя устройства драйвер может быть не удален, в таком случае его можно будет удалить вручную. Вторая причина заключается в том, что это может быть файл вредоносной программы (вирус, троян, майнер и т.д.), и в таких случаях драйвер как правило располагается в необычных для этого папках.
Для упрощения процедуры выполните в командной строке, запущенной от имени администратора следующую команду:

driverquery /v > "%USERPROFILE%\Desktop\drivers.txt"

После выполнения команды на рабочем столе будет создан файл drivers.txt, содержащий подробную информацию обо всех установленных в системе драйверах, с их описанием и путями расположения файла драйвера.

В рассматриваемом примере вероятными виновниками возникновения BSOD оказались драйверы видеокарты Intel (igdkmd64.sys) и SATA/AHCI-контроллера (iaStorA.sys).

Стоит отметить, что не всегда причиной возникновения BSOD являются драйверы, это также может быть следствием неисправности оборудования, но если код ошибки указывает на проблему с драйвером, то рекомендуется воспользоваться средством проверки драйверов Windows .

Команда!analyze -v

Команда!analyze отображает информацию о текущем исключении или код ошибки, а параметр -v формирует подробный вывод данных. В рассматриваемом случае нам понадобятся данные о заблокированных IRP пакетах в значении Arg4 , и значения FAILURE_ BUCKET_ ID и BUCKET_ ID .

Выполните команду !irp добавив значение из Arg4

!irp ffffe001eb781600

В результате выполнения команды был определен проблемный драйвер - Rt630x64.sys

В данном случае драйвер Rt630x64.sys относится к сетевому адаптеру и вызывает ошибку DRIVER_POWER_STATE_FAILURE при завершении работы системы.
Для получения подробных сведений о файле драйвера выполните команду

Как видите дата драйвера довольно старая и стоит его обновить для устранения проблемы.

Заключение

Цель этой статьи рассказать об алгоритме анализа дампа памяти для выявления причины BSOD. В рамках одной статьи невозможно рассмотреть все варианты анализа, а многие тонкости приходят только с опытом. Был рассмотрен всего один код ошибки т.к. последовательность ее анализа показалась мне наиболее интересной, в отличие от ошибки 0x124, например, которая в подавляющем большинстве случаев говорит об аппаратной неполадке, или 0x116, свидетельствующей о проблеме с драйвером видео или неполадке видеокарты в 95% случаев.

Если у вас не получилось выяснить причину BSOD или попросту нужна быстрая и квалифицированная помощь в анализе проблемы, вы всегда можете обратиться в форум

Причиной критических ошибок Windows, сопровождаемых синими экранами (BSOD), часто является драйвер — вновь установленный или поврежденный. Определив, какой именно драйвер служит причиной ошибки, можно приступать к устранению проблемы: обновить драйвер, откатиться к более ранней версии, переустановить или удалить приложение, установившее драйвер и т. д. Не всегда название драйвера отображается на синем экране. Однако существует очень простой способ, позволяющий с помощью дампа памяти определить проблемный драйвер за пару минут.

Шаг 1 — Включение записи дампов памяти

Сначала нужно убедиться, что запись дампов включена. Для этого нужно открыть свойства системы, нажав комбинацию клавиш Win+Pause , [в Vista щелкнуть ссылку Дополнительные параметры системы ], перейти на вкладку Дополнительно , и наконец нажать кнопку .

Малых дампов памяти должно быть достаточно для наших целей.

Обратите внимание на путь к папке, куда они будут сохраняться при возникновении критической ошибки.

Теперь вы можете запаковать файл в архив, прикрепить его к сообщению в форуме Устранение критических ошибок Windows и подождать, пока вам кто-то сообщит название проблемного драйвера:) Но вы можете сделать это самостоятельно, не прилагая больших усилий.

Шаг 2 — Анализ дампов с помощью утилиты MinDumper

Рассказ об утилите вы найдете в этой статье .

  1. Загрузите и установите Debugging Tools for Windows. Они входят в состав веб-установщика Windows SDK , где после запуска в нужно выбрать Debugging Tools в разделе Common Utilities.
  2. Загрузите сценарий (kdfe.cmd), который написал Александр Суховей и опубликовал на ресурсе sysadmins.ru (поскольку живую ссылку мне там найти не удалось, предлагаю свою). Распакуйте архив в любую папку.
    Примечание . В случае нестандартного расположения папки Program Files вам может потребоваться указать в kdfe.cmd путь к папке, в которую установлены средства Debugging Tools for Windows. Используйте переменную dbgpath в строке 41.

Шаг 3 — Анализ дампа памяти

Теперь все сводится к выполнению одной команды. Откройте командную строку и перейдите в папку, в которую вы распаковали kdfe.cmd . Запустите файл, указав в качестве параметра путь к файлу дампа памяти (в примере ниже файл называется Mini1110307-01.dmp )

Чтобы получить сведения об ошибки введите её код в текстовое поле чуть ниже в следующем формате: 7е или 0x0000007e

Перейти к описанию

UNEXPECTED_KERNEL_MODE_TRAP

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

Также причиной ошибки может стать прерывание, которое повлекло за собой немедленную смерть в виде двойной ошибки – double fault. Первое число в коде ошибки – число прерывания (8 = double fault). Чтобы узнать больше, что это за прерывание, обратитесь к мануалу семейства Intel x86.

Короче говоря, ошибка появляется, когда процессор допускает ошибку, с которой ядро не может справиться. Чаще всего ошибка возникает из-за плохих блоков ОЗУ, а иногда из-за разгона процессора.

Попробуйте отменить в BIOS функцию синхронной передачи данных.

Поиск и устранение неисправностей: Если в компьютер устанавливались новые аппаратные средства, необходимо их отсоединить. Если к сбою привели существующие аппаратные средства, то необходимо удалить или при необходимости заменить сбойные комплектующие компьютера.

Просканируйте оперативную память на наличие ошибок.

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

Обновите BIOS.

Все жесткие диски, контроллеры жестких дисков и адаптеры SCSI должны быть совместимы с установленной версией Windows.

Если драйвер идентифицирован в сообщении ошибки, отключите или обновите данный драйвер. Отключите или удалите любые драйвера или службы, которые были недавно добавлены. Если ошибка происходит во время загрузки Windows, и системный раздел отформатирован с файловой системой NTFS, используйте Безопасный режим, чтобы переустановить или удалить дефектный драйвер. Если драйвер используется в качестве системного процесса запуска в Безопасном режиме, запустите компьютер с помощью Консоли восстановления, чтобы получить доступ к файлу.

Перезапустите компьютер и нажмите F8 в меню текстового режима, для вывода на экран вариантов загрузки операционной системы. В данном меню выберите “Загрузить последнюю удачную конфигурацию”. Эта опция является самой эффективной, при добавлении в систему только одного драйвера или службы за один раз.

Разгон центрального процессора может вызвать ошибку. Верните значение тактовой частоты ЦП по умолчанию.

Убедитесь, что система входит в систему Event Viewer. Находящиеся там сведения об ошибках помогут идентифицировать устройство или драйвер, который вызывает экран смерти 0x0000007F.

Отключите кэширование памяти BIOS.

Если ошибка UNEXPECTED_KERNEL_MODE_TRAP появилась при обновлении до новой версии операционной системы Windows, то она может быть вызвана драйвером устройства, системной службой, антивирусной программой или программой резервного копирования, которые несовместимы с новой версией. Удалите все сторонние драйвера устройств и системные службы, отключите антивирусные программы.

Установите последний пакет обновления Windows.

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

SPIN_LOCK_INIT_FAILURE

Эта ошибка проверки появляется очень редко.

DFS_FILE_SYSTEM

Ошибки распределенной файловой системы (Distributed file system).

Обновите ОС.

SETUP_FAILURE

Произошла фатальная ошибка во время установки.

Текстовая форма setup`a больше не использует проверку багов (bugcheck), чтобы выйти из серьёзных ошибок. Поэтому вы никогда не столкнётесь с 0x85. Все проверки багов были заменены на более дружелюбные и (где возможно) более информативные сообщения об ошибках. Тем не менее, некоторые составители ошибок просто были заменены нашими bugcheck экранами, и код для этих состояний ошибок такой же, как и был. Они приведены ниже.)

0: OEM HAL шрифт – недействительный формат файла *.fon, поэтому установка не смогла отобразить текст. Это означает, что vgaxxx.fon на CD или флоппи повреждён.

1: Не смогло инициализироваться видео. Эта ошибка имеет собственный экран и пользователю предоставляется только 2 варианта.

Это означает, что файл vga.sys (или другой драйвер, в зависимости от машины) повреждён, или то, что данное оборудование не поддерживается.

Причина ошибки:

0: NtCreateFile of devicevideo0

3: Желаемый режим видео не поддерживается. Это означает внутреннюю ошибку установки.

2: Нехватка памяти. Теперь эта ошибка использует более дружественный экран, в зависимости от того, как далеко зашла установка.

3: Клавиатура не была инициализирована. Теперь используются 2 разных экрана в зависимости от ошибок, которые тут могли появиться. Это может означать, что диск, содержащий драйвера для клавиатуры (i8042prt.sys или kbdclass.sys) повреждён или машина имеет клавиатуру, которая не поддерживается.

Так же это может означать, что dll раскладки клавиатуры не может быть загружен.

Причина ошибки:

0: NtCreateFile of deviceKeyboardClass0 .

Установка не обнаружила клавиатуру, подключённую к вашему компьютеру.

1: Unable to load keyboard layout dll.

Установка не может загрузить dll раскладки клавиатуры.

Это значит, что на флоппи или CD нет файла (kbdus.dll для us или других dll).

4: Установка не смогла выяснить путь устройства, с которого началась установка. Это внутренняя ошибка установки.

5: Не прошла проверка на работоспособность партиций. Это означает баг в драйвере диска. Параметры имеют значения только для группы установки.

MBR_CHECKSUM_MISMATCH

Данная ошибка происходит во время загрузки операционной системы, когда контрольная сумма MBR, которую вычисляет операционная система Microsoft Windows, не соответствует контрольной сумме загрузчика системы.

Данный BSoD указывает на наличие вирусов.

Необходимо просканировать операционную систему на наличие вирусов актуальными антивирусными программами.

PAGE_FAULT_IN_NON_PAGED_AREA

Данный BSoD является общей ошибкой. Чтобы интерпретировать её, необходимо идентифицировать, какое исключение было сгенерировано.

Существуют следующие коды исключений:

0x80000002: STATUS_DATATYPE_MISALIGNMENT указывает на не выровненную ссылку данных;

0x80000003: STATUS_BREAKPOINT. Указывает на ситуацию, когда система сталкивается с контрольной точкой или ASSERT без присоединенного отладчика ядра;

0xC0000005: STATUS_ACCESS_VIOLATION указывает на нарушение доступа к памяти.

Для решение ошибки необходимо:

Удостоверьтесь, что системный раздел диска имеет достаточно свободного места;

Если в сообщении ошибки идентифицирован драйвер, отключите или обновите его;

Заменить видеокарту;

Обновите BIOS;

Отключите опции кэширования и затенения памяти BIOS.

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

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

Аппаратная несовместимость. Удостоверьтесь, что новые установленные аппаратные средства совместимы с установленной версией Windows;

Дефектный драйвер устройства или системная служба могут быть причинами ошибки. Аппаратные проблемы, такие как несовместимости BIOS, конфликты памяти и конфликты IRQ также могут генерировать синий экран.

Если в ошибке указано название драйвера его необходимо удалить или отключить. Также удалите или отключите все недавно добавленные драйвера и службы. Если ошибка происходит во время запуска системы, а системный раздел отформатирован файловой системой NTFS, необходимо использовать Безопасный режим, чтобы удалить дефектный драйвер. Если драйвер используется в качестве части системного процесса запуска Безопасного режима, то для доступа к файлу потребуется запустить компьютер при помощи Консоли восстановления.

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

Убедитесь, что система входит в систему Event Viewer. Находящиеся там сведения об ошибках помогут идентифицировать устройство или драйвер, который вызывает Stop 0x0000008E.

Отключить кэширование памяти BIOS. Обновите прошивку BIOS.

Необходимо также выполнить аппаратную диагностику. Просканируйте оперативную память на наличие ошибок.

Синий экран KERNEL_MODE_EXCEPTION_NOT_HANDLED может произойти после первого перезапуска во время установки Windows, или после окончания установки. Возможная причина – нехватка дискового пространства для установки. Удалите все временные файлы, файлы кэша интернета, файлы резервных копий приложений и.chk файлы. Можете использовать другой жесткий диск с большим объемом.

PP1_INITIALIZATION_FAILED

Ошибка происходит во время инициализации первичной фазы менеджера Plug and Play в режиме ядра. К этому моменту инициализированы системные файлы, драйвера и реестр.

Проверьте оборудование и системный диск.

WIN32K_INIT_OR_RIT_FAILURE

UP_DRIVER_ON_MP_SYSTEM

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

INVALID_KERNEL_HANDLE

Эта ошибка появляется, когда некоторый код ядра (например, сервер, редиректор, или другой драйвер) попытался закрыть недопустимый дескриптор или защищенный дескриптор.

Параметры:

1 – Вызванный дескриптор NtClose

2 – 0 означает, что был закрыт защищенный дескриптор

1 означает, что был закрыт неправильный дескриптор

Также ошибку может вызвать служба клиента Novell NetWare версии 3.5b.

PNP_INTERNAL_ERROR

INVALID_WORK_QUEUE_ITEM

Эта проверка ошибки указывает, что запись очереди была удалена, который содержал нулевой указатель.

Это сообщение появляется, когда KeRemoveQueue удаляет очередь данных, в то время, как flink или blink поле равно 0. Это практически всегда происходит из за неправильного применения кода работающего элемента текущего объекта, но неправильное применение любой очереди также может привести к этой ошибки. Правило – ввод данных в очередь может быть произведено только однажды. Когда элемент удаляется из очереди, его flink поле равно 0. Эта ошибка возникает, когда происходит попытка удалить данные, flink или blink поля которых равны 0. Для того, чтобы разрешить эту ошибку, вам необходимо выяснить очередь, на которую он ссылается. Если эта очередь одна из ЕХ работающих очередей (ExWorkerQueue), тогда объект, который удаляется – WORK_QUEUE_ITEM. Эта ошибка подразумевает, что это и есть причина. Параметры ошибки помогают выявить драйвер, который неправильно использует очередь.

BOUND_IMAGE_UNSUPPORTED

MmLoadSystemImage была вызвана, чтобы загрузить bound image. Это не поддерживается ядром. Убедитесь, что bind.exe не был запушен для картинки.

Параметры:

1 – Адрес данных в очереди, flink/blink поле которых ноль.

2 – Адрес на ссылающуюся очередь. Обычно это одна из ExWorkerQueues очередей.

3 – Начальный адресс ExWorkerQueue массива. Это поможет выявить, если очередь в вопросе одна из ExWorkerQueue очередей и если так, то офсет из этого параметра выявит очередь.

4 – Если это ExWorkerQueue очередь (как это бывает обычно), это адрес работающей рутины, которая бы вызывалась, если работающий элемент был бы действительным. Это может быть использовано, чтобы выявить драйвер, который неправильно использует рабочую очередь.

Проблема вызвана некорректным драйвером оборудования.

END_OF_NT_EVALUATION_PERIOD

Эта ошибка проверка показывает, что испытательный срок для операционной системы Microsoft Windows закончилась.

INVALID_REGION_OR_SEGMENT

ExInitializeRegion или ExInterlockedExtendRegion были вызваны с неправильным набором параметров.

SYSTEM_LICENSE_VIOLATION

Операционная система Microsoft Windows обнаруживала нарушение лицензионного соглашения.

BSoD происходит при попытке пользователя изменить тип продукта оффлайновой системы или при изменении испытательный срока модуля оценки Windows.

UDFS_FILE_SYSTEM

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

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

Решить проблему дискового повреждения: Проверьте Event Viewer (просмотр событий) на сообщения об ошибках SCSI и FASTFAT (журнал системы) или Autochk (Журнал приложения), которые могут точно определить устройство или драйвер, который вызывает ошибку. Попытайтесь отключить любые антивирусные программы, сделайте копию программ, или инструментов дефрагментатора диска, которые непрерывно контролируют систему. Вы должны также выполнить аппаратную диагностику системы.

Выполните команду Chkdsk/f/r, чтобы обнаружить и исправить любое структурное повреждение файловой системы. Вы должны перезапустить систему прежде, чем дисковое сканирование начнется на системном разделе.

Необходимо решить проблему истощения пула не подкачиваемой памяти: добавьте новую физическую память к компьютеру. Это увеличит количество пула не подкачиваемой памяти, доступной ядру.

MACHINE_CHECK_EXCEPTION

Фатальная ошибка Machine Check Exception.

Это происходит из-за того, что процессор вашего компьютера обнаруживает ошибку и сообщает об этом Windows XP. Чтобы сделать это он использует Machine Check Exception (MCE) для процессоров Pentium или Machine Check Architecture (MCA) для некоторых процессоров Pentium Pro. Ошибка может вызываться следующим:

Ошибки системной шины

Проблемы с чётностью в памяти или Error Correction Code (ECC)

Проблемы кеширования в процессоре или в оборудовании

Translation Lookaside Buffers (TLB) проблемы в процессоре

Другие проблемы с процессором

Другие проблемы с оборудованием

Ошибка может возникнуть если:

1. Вы разогнали (overclocking) процессор или шину. В этом случае, установите параметры работы рекомендуемые производителем.

2. Не стабильный блок питания. Удостоверьтесь, что ваш БП работает корректно.

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

4. Повреждённая память или память не подходящая для вашего компьютера. Убедитесь, что память работает исправно и модель совместима с вашей конфигурацией.

Добавление:

Такая ошибка так же может возникнуть если:

1. Вы изменили параметры в BIOS, влияющие на конфигурацию ядра системы

2. Вы установили ХР с образа чужой системы

3. У вас не правильно подключено какое-то оборудование

Происходит это из-за того что проверка машины не соответствует уже установленной конфигурации ядра.

В Windows Vista и более поздних операционных системах синий экран 0x0000009C происходит только при следующих обстоятельствах:

WHEA не полностью инициализирован;

Все процессоры, которые сближаются, не имеют ошибок в регистрах.

При других обстоятельств эта ошибки была заменена BSoD 0x00000124: WHEA_UNCORRECTABLE_ERROR.

USER_MODE_HEALTH_MONITOR

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

Аппаратные механизмы обнаружили сервисы режима ядра, которые не выполняются. Однако, проблемы исчерпания ресурсов (включая утечки памяти, конкуренцию за блокировку) могут блокировать критические компоненты пользовательского режима, не блокируя отложенные вызовы процедуры (DPCs) или истощая пул не подкачиваемой памяти.

В операционных системах Microsoft Windows Server 2003, Enterprise Edition, Windows Server 2003, Datacenter Edition, and Windows 2000 with Service Pack 4 (SP4) BSoD может быть вызван пользовательским режимом. Синий экран 0x0000009E происходит, только если пользователь установил HangRecoveryAction в значение 3.

Так же ошибка может появляться при добавлении дополнительных дисковых накопителей для отказоустойчивых кластеров в Windows Server 2008 R2

DRIVER_POWER_STATE_FAILURE

Драйвер находиться в несовместимом или неустоичивом состоянии электропитания.В большинстве случаев происходит из-за сбоев в питании, во время выключения компьютера или выхода из ждущего режима (standby) или сна (hibernate).

Windows ХР и выше

Причиной этого стопа является драйвер устройства, который не выдержал вызова на переход в другое состояние электропитания.

Вы должны обновить или удалить неработоспособный драйвер устройства или драйвер-фильтр файловой системы (file system filter driver), который, возможно, был установлен антивирусником, программой удалённого доступа или ПО CDW/CDRW.

Для обнаружения драйвера примените следующие:

1. Используйте %SystemRoot%System32Sigverif.exe чтобы проверить на драйвера, которые не проходили тесты Microsoft (unsigned drivers).

2. Проверьте обновления драйверов у поставщика вашей системы.

3. Обновите ПО, которое может иметь драйвера-фильтр файловой системы (file system filter drivers).

4. Удалите компоненты оборудования, а так же ПО, которые не обязательны.

5. Установите ещё один Windows на другую партицию. И устанавливаете ПО, тут же проверяя, пока не выявите уязвимую программу.

INTERNAL_POWER_ERROR

Указывает на фатальную ошибку менеджера управления питанием.

ППри попытке перевести компьютер под управлением Windows Vista или Windows Server 2008 в спящий режим появляется сообщение о неустранимой ошибке.

Эта проблема возникает из-за ошибки в файл Atapi.sys. Прежде чем Windows Vista переходит в спящий режим, Windows Vista обладает записи памяти файл спящего режима на диске. Однако в некоторых случаях на диск может не возвращать правильное значение при попытке инициализации соответствующего стека хранилища системы. Когда диск хранения возвращает неправильное значение, Windows Vista перестает отвечать на запросы.

Обновите вашу ОС

PCI_BUS_DRIVER_INTERNAL

0x000000A1 появляется при обнаружении несогласованности в своей внутренней структуре драйвером шины PCI и не возможности продолжить работу.

MEMORY_IMAGE_CURRUPT

0x000000A2 указывает на повреждение образа исполняемого файла в памяти.

Перестала работать контрольная сумма памяти (CRC).

Проверьте память на ошибки.

ACPI_DRIVER_INTERNAL

0x000000A3 указывает, что драйвер ACPI обнаружил внутреннюю несогласованность.

Несогласованность в драйвере ACPI настолько серьезна, что продолжение работы вызвало бы серьезные проблемы.

Возможный источник этой проблемы – ошибка BIOS.

CNSS_FILE_SYSTEM_FILTER

0x000000A4 указывает на ошибку в фильтре файловой системы CNSS.

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

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

ACPI_BIOS_ERROR

Причиной данного сообщения являются постоянные сбои в ACPI BIOS. На уровне операционной системы данную проблему решить нельзя. Необходим детальный анализ.

Это может происходить, если обнаружено, что BIOS компьютера не полностью совместим с конфигурацией и питанием (ACPI).

Чтобы устранить данную проблему, обратитесь к производителю компьютера, чтобы получить обновление BIOS, которая является полностью ACPI-совместимых.

Для временного решения этой проблемы необходимо вручную установите стандартный компьютер слой абстрагирования оборудования (HAL):

Перезагрузите компьютер и повторно запустите программу установки.

После повторного запуска программы установки нажмите клавишу F7 (не F6) при появлении на экране «Нажмите F6, если вам необходимо установить особый драйвер SCSI или RAID».

Windows автоматически отключает установки ACPI HAL и устанавливает стандартный HAL ПК.

BAD_EXHANDLE

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

SESSION_HAS_VALID_POOL_ON_EXIT

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

Ошибка происходит, потому что драйвер сеанса не освобождает свои выделения пула прежде, чем сеанс разгрузится. Эта проверка ошибки указывает ошибку в Win32k.sys, Atmfd.dll, Rdpdd.dll, или видеодрайвер.

Нередко причиной возникновения ошибок при загрузке, или работе Windows (так называемый BSOD, или синий экран смерти) является ошибка в работе свежеустановленного, или поврежденного драйвера. Решить проблему возникновения ошибки (BSODа) можно, но для этого необходимо выяснить драйвер какого же устройства работает неправильно, или какое, вновь установленное, приложение поставило неисправный драйвер. Но название драйвера не всегда отображается в тексте ошибки BSOD. На самом деле нечего невозможного нет, поэтому и в случае проблемы с синим экрапом есть способ, с помощью которого можно за пару минут выяснить какой же именно драйвер неисправен и переходить к восстановлению системы.

1. Как включить дамп памяти.

Первое, что на нужно, это убедиться, что дамп памяти включен. Для этого необходимо перейти в свойства системы нажав Win+Pause (в Vista нажать ссылку Дополнительные параметры системы), далее переходим на вкладку дополнительно и нажимаем "Загрузка и восстановление".

"Small Memory Damp 64k" для нас должно быть более чем предостаточно.

Обязательно обратите внимание на путь к папке где храниться информация о дампе памяти, эти файлы Вам помогут в дальнейшем получать информацию о поврежденных драйверах в системе.

Теперь Вы сможете в любой момент сделать архив файлов из папки minidamp прикрепить архив к сообщению и отправить на форум по решению компьютерных проблем. А дальше ждать пока Вам кто то не скажет название проблемного драйвера. Но также, ненапрягаясь, Вы можете самостоятельно узнать название драйвера.

2. Установка средств диагностики.

  • установите Debugging Tools For Windows
  • загрузите KDFE.CMD . Извлеките файлы из архива в папку на компьютере.

Примечание. В случае нестандартного расположения папки Program Files вам может потребоваться указать в kdfe.cmd путь к папке, в которую установлены средства Debugging Tools for Windows. Используйте переменную dbgpath в строке 41.

3. Анализ дампа памяти

Последним шагом все сводится к выполнению одной команды. Откройте командную строку и перейдите в папку, в которую был распакован kdfe.cmd. Запустите файл, указав в качестве параметра путь к файлу дампа памяти (в примере ниже файл называется Mini1110307-01.dmp)

kdfe.cmd "%systemroot%\Minidump\Mini1110307-01.dmp"

Теперь вы увидите результат.

Это и есть драйвер, послуживший причиной ошибки!