BSOD (англ . Blue Screen Of Death)

BSOD - так называют сообщение, появляющееся в операционной системе Windows , при критической ошибке системы, в переводе на русский - синий экран смерти. Этот экран появился еще в Windows NT и, с тех пор, присутствует во всех версиях этой операционной системы, а столь зловеще он называется потому, что после его появления ОС действительно "умирает" (уходит в перезагрузку), сбрасывая дамп и теряя все несохраненные данные.


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

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

  • неполадки оборудования (ОЗУ, материнская плата, винчестер, нестандартные устройства...),
  • конфликт драйверов программного обеспечения (антивирусы, эмуляторы, файерволы...).

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

Если синий экран появляется с разными кодами ошибок (на случайных драйверах), - вероятнее всего причиной служат проблемы с аппаратным обеспечением компьютера. Чтобы проверить эту версию необходимо для начала исследовать оборудование на возможный перегрев: процессор, сопроцессор, видеокарту, жесткий диск и пр. Температуру устройств можно посмотреть в BIOS или специализированными программами, которые легко найти в сети. Температура выше 65-70°С служит поводом для беспокойства.
Если перегрева не наблюдается, стоит визуально осмотреть материнскую плату и блок питания на предмет вздутия конденсаторов (вытекшего электролита).
Также необходимо проверить настройки BIOS, желательно сбросить их на настройки по умолчанию. Не будет лишним обновление версии BIOS с сайта производителя материнской платы, или, как минимум, вынуть батарейку с материнской платы и, подождав около минуты, вставить ее обратно.
Попробуйте провести различные тесты на компьютере (памяти, видеокарты, процессора) специальными утилитами.
Если у Вас на компьютере установлено несколько модулей оперативной памяти, попробуйте оставить один из них и проверить работу системы.
Последний способ проверки состоит в том, чтобы полностью вынуть все платы из разъемов, продуть компьютер сжатым воздухом, зачистить контакты на платах ватой, смоченной в спиртовом растворе, просушить и собрать все обратно.

Если же критическая ошибка возникает постоянно с одним и тем же кодом ошибки (именем драйвера) - то более вероятна проблема с конфликтом драйверов или некорректно написанным драйвером. В этом случае приоритет проверки стоит отдать не системным драйверам, адрайверам программного обеспечения, работающим в режиме ядра.
Для начала стоит убедиться в том, что Ваша операционная систем сохраняет участки памяти с ошибками в файлы минидампа. В Windows такие файлы сохраняются по умолчанию в папке %systemroot%\Minidump (C:\Windows\Minidump). Если в данном каталоге нет файлов (нет самого каталога), необходимо включить данную опцию по адресу:
Для Windows XP Панель управления - Система - Дополнительно - Загрузка и восстановление - Параметры...
Для Windows 7 Панель управления - Система и безопасность - Система - Дополнительные параметры системы - Загрузка и восстановление - Параметры...
Под заголовком "Запись отладочной информации" необходимо выставить Малый дамп памяти (64 КБ для Windows XP, 256 КБ для Windows 7).

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

Что такое синий экран смерти?
Для того, чтобы выявить причины появления синего экрана смерти, необходимо понять, что он из себя представляет. Blue Screen of Death или BSoD – именно так данный тип ошибки называют сами разработчики Windows. Синий – потому что сообщение от системы выводится на голубом фоне. Экран смерти – так как дальнейшая работа Windows после такой ошибки невозможна, необходимо выполнить перезагрузку операционной системы, при этом все несохраненные данные теряются. Если вы увидели BSoD на своем компьютере 1 или 2 раза – не стоит беспокоиться, изредка сбои операционной системы случаются у всех. Если же появление синего экрана смерти стало регулярным – стоит задуматься о причинах его возникновения и способах устранения.

Синий экран смерти, возможные причины его возникновения.

Основными причинами возникновения синего экрана смерти являются:

  • Программный сбой в работе драйвера какого-либо устройства. Это наиболее частая причина появления BSoD.
  • Конфликт в работе приложений, как правило, это случается, если вы установили на свой компьютер два антивирусных пакета или два брандмауэра.
  • Установка драйверов от неизвестного разработчика – часто драйвера от сторонних разработчиков могут содержать ошибки, приводящие к перебоям в работе операционной системы.
  • Ошибки в работе оборудования – перегрев процессора или видеокарты, плохой контакт в разъемах, бракованные чипы оперативной памяти.

Как видим, список причин появления BSoD достаточно обширен. Для того, чтобы выяснить конкретную причину, нам стоит внимательно посмотреть на сам синий экран смерти в системе Windows XP или другой версии Windows. В блоке Technical Information первой строкой идет код ошибки. Неспециалисту трудно будет понять, что скрывается за этой последовательностью цифр, во второй строчке этого блока система сообщает нам, в каком именно файле произошел критический сбой, который привел к появлению синего экрана смерти. По имени файла можно определить, в драйвере какого именно устройства произошла ошибка.

Как бороться с синим экраном смерти.

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

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

Наиболее распространенные BSoD. Коды ошибок синего экрана смерти

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

NTFS_FILE_SYSTEM – данная ошибка появляется в результате сбоя выполнении кода драйвера файловой системы ntfs.sys. Основной причиной может быть нарушение целостности данных на диске или в памяти, а также повреждение драйверов SCSI или IDE.

DATA_BUS_ERROR – синий экран смерти появляется в результате появленияошибки чётностив оперативной памяти. Основная причина может крыться в несовместимом или неисправном оборудовании. Также проблема может быть связана с некорректным драйвером, а также сбоем прошедшим на диске.

IRQL_NOT_LESS_OR_EQUAL - синий экран смерти в этом случае появляется в результате обращения процесса режима ядра к области памяти при этом используя недопустимо высокий для него уровень IRQL. Данная ошибка может быть вызвана неправильной работой драйверов, системных служб, или несовместимым программным обеспечением, например программным эмулятором или антивирусным приложением.

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

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

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

Удалять программное обеспечение нужно в Безопасном режиме Windows.Для этого при загрузке операционной системы,необходимо нажать клавишу F8 и выбрать Безопасный режим.

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

Синий экран смерти (BSOD , Blue Screen of Death) - визуальное оповещение о фатальной (неустранимой) ошибке в операционной системе Windows. Обработка исключительной ситуации и вывод "синего экрана смерти" (BSOD ) - это последнее действие операционной системы, указывающее на обнаружение необрабатываемой ошибки, дальнейшее исполнение кода после возникновения которой не имеет смысла по целому ряду причин. Следствием является внезапное завершение работы с остановом ("заморозкой") практически всех процессов потерей и всех не сохраненных оперативных данных. BSOD это своего рода (вы не поверите!) защитный механизм системы, позволяющий на раннем этапе остановить неверно функционирующий процесс ядра. Разработчики кода ядра операционной системы Windows не случайно ввели подобную логику обработки критических ошибок, поскольку она основана на следующих утверждениях:

  • синий экран смерти вызывается по таким условиям/проверкам в коде ядра, несоблюдение которых делает дальнейшее исполнение участка кода (равно как и всей последующей функции) ядра бессмысленным , то есть система просто не понимает, что делать дальше. Например, критический системный параметр, имеющий два состояния, может принять невалидное (третье) значение, при котором дальнейшая работа не имеет смысла, поскольку данное значение абсурдно и для него нет обработки. Или же могут отсутствовать необходимые входные данные функции вследствии возникновения ошибок доступа к аппаратному ресурсу;
  • уход на код вывода синего экрана смерти осуществляется с целью недопущения существенной потери данных (разрушения файловой системы);

То есть, основная причина завершения заключается в том, что если система продолжит функционирование при возникшей критической ошибке, то имеется очень большая вероятность привести систему к еще более плачевному состоянию, нежели то, в котором она пребывает в момент возникновения ошибки. Общей причиной BSOD является возбуждение низкоуровневой функцией режима ядра необрабатываемого исключения, в следствии которого код ядра (система) не в состоянии продолжить нормальное функционирование. Дело в том, что в процессе функционирования операционной системы, низкоуровневые функции режима ядра время от времени возбуждают исключения как реакцию на возникновение тех или иных ошибок. В подобной ситуации диспетчер исключений проверяет, имеется ли в наличии процедура (фильтр) ядра, способная обработать возникшее исключение (обработчик), то есть сопоставленая с контекстом, в котором возникла ошибка. Очевидно, что необходимая процедура обработки представляет собой последнее средство сохранить систему "на плаву", поэтому ядро всегда находит обработчик. Если же обработчик исключения не в состоянии обработать возникшее исключение, то исключение остается необработанным. В этом случае система вызывает стандартный обработчик исключений в ядре, который уже полностью останавливает систему.
Дабы у читателя не сложилось неправильного представления, стоит подчеркнуть, что само ядро Windows 7 относительно надежно, так как его отладкой занимаются днем и ночью, и по причине "родного" кода самого ядра сбои возникают исключительно редко, к тому же, в ядре все же присутствует некоторое количество цепочек разрешения критических ошибок. Сбои, в большинстве своем, случаются по вине "сторонних" модулей/драйверов режима ядра, содержащих ошибки.

Тем не менее сам механизм обработки исключений ядра в ОС Windows далек от идеала, разработчики явно перестраховались и навставляли переходов на BSOD в коде ядра великое множество. По сути, даже при возникновении довольно несущественных ошибок, код ядра склонен "впадать в панику" и тут же уходить на BSOD, даже не дав пользователю возможности сохранить свои данные.

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

Синий экран смерти называют еще СТОП-ошибкой (STOP-error) или Контролем дефекта (BugCheck).

Само по себе появление на экране BSOD - это лишь начальная стадия алгоритма, стартующего при возникновении фатальной ошибки, которая заключается в выводе на экран отладочной информации с целью облегчения дальнейшего поиска причины проблемы. Давайте посмотрим, как же выглядит та информация, которую видит пользователь на экране в случае возникновения исключительной ситуации? Ниже я привожу типовой вид BSOD для Windows 7:

Обычно BSOD выводится в текстовом режиме, символами белого цвета на синем фоне. Хотя, надо упомянуть, что внешний вид BSOD на протяжении всего времени развития Windows претерпевает изменения. Не во всех ОС BSOD выглядит подобным образом, к примеру, начиная с Windows 8/Windows 2012 количество выводимой информации существенно сокращено до названия ошибки, остальную информацию пользователь может найти в журнале событий системы.

Зачастую пользователь не видит самого экрана BSOD с информацией об ошибке! Происходит это потому, что по умолчанию система настроена на автоматическую перезагрузку в случае возникновения BSOD. Для пользователя это выглядит как периодические самопроизвольные перезагрузки компьютера с последующим выводом сообщения о том, что система была восстановлена после серьёзной ошибки.

Общие причины возникновения BSOD

Причиной BSOD может быт один из источников, описанных ниже (пункты отсортированы по мере убывания частоты встречаемости):

  1. Драйвер оборудования. По статистике самой Microsoft, порядка 85% всех фиксируемых ошибок останова относятся именно к драйверам . Различные проблемы в драйверах - самая вероятная и распространенная причина возникновения синего экрана смерти, которую можно подразделить на несколько частей.
  • Ошибка в драйвере. Образуется в следствии ошибки разработчика на стадии написания кода.
  • Неподходящий к оборудованию драйвер. Microsoft всячески пытается оградить пользователя от подобной ситуации, однако человеческий фактор тут главенствует.
  • Конфликт драйверов устройств. Драйверы различных устройств могут конфликтовать между собой.
  • Несовместимость драйвера с текущей версией операционной системы. Опять же, установщик Microsoft предупреждает о подобных ситуациях.
  • Аппаратный сбой. Перегрев комплектующих. В следствии разгона, то есть аппаратной модификации компонента, неправильных настроек BIOS/ , плохой вентиляции внутри корпуса.
  • Аппаратный сбой. Неисправность ОЗУ. Причиной является повреждение памяти на физическом уровне.
  • Программный сбой. Использование "левых" сборок Windows.
  • Конфликт устройств. На уровне портов, областей памяти и прч.
  • Несовместимости оборудования с операционной системой.
  • Аппаратный сбой. Некорректные настройки BIOS. Примером может служить завышенное/заниженное значение частоты/таймингов с целью разгона процессора либо оперативной памяти.
  • Аппаратный сбой. Неисправность жесткого диска. Недостаток свободного места на системном носителе (от даже как!).
  • Заражение вредоносными программами (трояны, вирусы). Встречает подобная ситуация довольно редко.
  • Поврежденный системный реестр;
  • Ошибка загрузчика. В некоторых случаях BSOD может быть вызван ошибкой загрузчика (Boot loader). Происходит это в ситуации, когда загрузчик не может получить доступ к загрузочному разделу из-за несовместимых либо неустановленных драйверов дискового контроллера, повреждения файловой системы. Пример: STOP 0x0000007B (INACCESSIBLE_BOOT_DEVICE). В подобных ситуациях дамп памяти не создается.
  • Как мы видим, довольно часто причиной BSOD являются драйвера устройств. Именно по этой причине Microsoft перешла к сертификации и защите драйверов устройств методом цифровой подписи. Однако, стоит заметить, что не все драйвера управляют физическими устройствами, а большинство так называемых Windows-драйверов представляют из себя обычные программы, которые не управляют никакими устройствами, но, при этом, им требуется доступ к структурам ядра, к которым невозможно получить доступ из кода пользовательского режима через традиционный Win32 API.

    Виды ошибок, приводящих к BSOD

    А что же из себя представляет та самая "серьёзная ошибка", являющаяся причиной BSOD, на более низком уровне машинных инструкций? Ошибки, приводящие к BSOD, делятся на две основные категории. Попытаюсь их детализировать:

    • Необрабатываемое исключение:
      • Обращение к нулевому адресу (нулевые указатели, когда указатель по какой-то причине содержит значение 0);
      • Попытка записи в страницу памяти, доступную только для чтения;
      • Ошибка ввода/вывода при попытке подкачки страницы в ОП из файла подкачки;
      • Неверная ссылка на память. Причиной может являться драйвер, выполняющий операцию ввода/вывода в то время, как Асинхронные Вызовы Процедур (APCs) отключены.
    • Некорректная операция:
      • Повторное освобождение уже освобожденной памяти.

    Пример №1 (из дампа ядра):

    Bc582f10 push esi bc582f11 mov esi, dword ptr bc582f14 mov edx, dword ptr bc582f16 mov eax, dword ptr ; Место ошибки! bc582f19 sub eax, dword ptr bc582f1c mov esi, dword ptr bc582f1f add edx,1Ch . . .

    bc582f10 push esi

    bc582f11 mov esi, dword ptr

    bc582f14 mov edx, dword ptr

    bc582f16 mov eax, dword ptr ; Место ошибки!

    bc582f19 sub eax, dword ptr

    bc582f1c mov esi, dword ptr

    bc582f1f add edx,1Ch

    Ошибка произошла в строке 5 . Поскольку значение регистра EDX =00000000, была произведена попытка чтения двойного слова памяти по адресу 00000024 , то есть из области, являющейся областью нулевых указателей. Возникло исключение "ошибка доступа к памяти". Остается открытым вопрос, почему же в памяти по адресу оказалось значение 0 ?

    Пример №2 (из дампа ядра):

    8eb20967 xor edx, edx 8eb20969 div eax, dword ptr ; Место ошибки! 8eb20972 xchg eax, edx . . .

    8eb20967 xor edx, edx

    8eb20969 div eax, dword ptr ; Место ошибки!

    8eb20972 xchg eax, edx

    Ошибка в строке 3 . Поскольку значение в регистре EBP =a3c84bc0, и соответственно, SS:0010:a3c84bcc=00000000. Произошло исключение "деление на ноль".

    Пример №3 (из исходного кода ядра):

    INIT:007A0307 mov edi, edi INIT:007A0309 push ebp INIT:007A030A mov ebp, esp INIT:007A030C and esp, 0FFFFFFF8h INIT:007A030F mov eax, _InitializationPhase INIT:007A0314 mov ecx, eax INIT:007A0316 xor edx, edx INIT:007A0318 sub ecx, edx INIT:007A031A jz short loc_7A0331 INIT:007A031C dec ecx INIT:007A031D jz short loc_7A032D INIT:007A031F push edx INIT:007A0320 push edx INIT:007A0321 push edx INIT:007A0322 push eax INIT:007A0323 push 2 INIT:007A0325 push 33h INIT:007A0327 call _KeBugCheck2@24 . . .

    INIT:007A0307 mov edi, edi

    INIT:007A0309 push ebp

    INIT:007A030A mov ebp, esp

    INIT:007A030C and esp, 0FFFFFFF8h

    INIT:007A030F mov eax, _InitializationPhase

    INIT:007A0314 mov ecx, eax

    INIT:007A0316 xor edx, edx

    INIT:007A0318 sub ecx, edx

    INIT:007A031A jz short loc_7A0331

    INIT:007A031D jz short loc_7A032D

    INIT:007A031F push edx

    INIT:007A0320 push edx

    INIT:007A0321 push edx

    INIT:007A0322 push eax

    INIT:007A0323 push 2

    INIT:007A0325 push 33h

    INIT:007A0327 call _KeBugCheck2@24

    А вот этот пример уже из исходного кода ядра (файл ntoskrnl.exe и производные). Тут разработчики решили, что у переменной InitializationPhase не может быть значений кроме 0 и 1 , оно и понятно, в ядре могут быть только две фазы инициализации. Соответственно, при всех остальных значениях дальнейшее выполнение кода ядра не имеет ни малейшего смысла, и код уходит на вызов функции KeBugCheck2 с кодом 33h (с преждевременным заталкиванием параметров в стек), что ведет, в конечном итоге, к выводу синего экрана смерти.

    Алгоритм BSOD

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

    • системную функцию KeBugCheckEx -- является "оберткой" к функции KeBugCheck2 ;
    • системную функцию KeBugCheck2 ;

    Именно функция KeBugCheck2 и выполняет определенную последовательность действий (сброс буферов, сохранение дампа, перезагрука). Тут я приведу пока лишь краткое описание функции, более же детальную информацию вы всегда сможете найти на сайте Microsoft. Данная функция экспортируются модулем исполнительной подсистемы ядра, который для разных систем может называться по-разному: ntoskrnl.exe , ntkrnlmp.exe , ntkrnlpa.exe , ntkrpamp.exe . Функция KeBugCheck2 имеет пять входных параметров (аргументов). Поскольку значение параметров сильно зависят от кода ошибки, в таблице я приведу лишь общие, возможные значения параметров, поскольку приводить все возможные комбинации параметров не хватило бы даже и книги.

    Параметр Описание
    BugCheckCode Код ошибки. Перечень возможных значений BugCheckCode, определенных Microsoft, можно найти в NTDDK , либо можно определить собственный код в своем драйвере. Делятся на две категории: с указанием адреса инструкции, вызвавшей исключение и без указания. Разрядность 32 бита.
    BugCheckParameter1 Параметр 1. Зависит от кода ошибки (BugCheckCode). Может принимать значение кода исключения, адреса, идентификатора потока, специального поля потока, внутреннего параметра, уровня IRQL, указателя на объект, пула значений и прч. Разрядность 32/64 бита.
    BugCheckParameter2 Параметр 2. Зависит от кода ошибки (BugCheckCode). Может принимать значение кода исключения, адреса, идентификатора потока, специального поля потока, внутреннего параметра, уровня IRQL, указателя на объект, пула значений и прч. Разрядность 32/64 бита.
    BugCheckParameter3 Параметр 3. Зависит от кода ошибки (BugCheckCode). Может принимать значение кода исключения, адреса, идентификатора потока, специального поля потока, внутреннего параметра, уровня IRQL, указателя на объект, пула значений и прч. Разрядность 32/64 бита.
    BugCheckParameter4 Параметр 4. Зависит от кода ошибки (BugCheckCode). Может принимать значение кода исключения, адреса, идентификатора потока, специального поля потока, внутреннего параметра, уровня IRQL, указателя на объект, пула значений и прч. Разрядность 32/64 бита.

    Как Вы уже догадались, данные параметры введены разработчиками не просто так. Поговаривают, что гуру визуальной отладки:) могут лишь по коду ошибки и значениям этих дополнительных параметров достаточно точно определить причину сбоя. Ну а для нас, простых смертных, параметры эти однозначно указывают на дополнительные детали сбоя, которые помогают отладчику (WinDBG) в процессе выполнения анализа инцидента. Как уже говорилось, параметры могут использоваться и для поверхностного визуального анализа проблемы. Например, для ошибки STOP 0x000000ED, второй параметр, имеющий значение 0xC0000185 и носящий название STATUS_IO_DEVICE_ERROR , довольно часто указывает на то, что с нашим диском творится что-то неладное, и при этом на аппаратном уровне.
    В самом ядре Windows функция KeBugCheckEx вызывается из достаточно большого количества мест кода.
    Алгоритм работы функции KeBugCheckEx следующий:

    1. Формируется текст BSOD и выводится на экран.
    2. Код ядра системы проверяет целостность карты блоков файла подкачки (либо пользовательского файла, указанного для сохранения дампа), ранее сохраненной в памяти.
    3. Код ядра проверяет работоспособность специализированного независимого дискового драйвера и целостность управляющих структур дискового драйвера.
    4. Код ядра записывает данные из памяти в блоки, указанные в карте блоков файла подкачки (либо пользовательского файла, указанного для сохранения дампа).
    5. Возможна передача управления отладчику.
    6. В зависимости от настроек выполняется или не выполняется автоматическая перезагрузка системы.
    7. В процессе следующей загрузки ОС, winlogon.exe переносит дамп памяти (полный/сокращенный) из временного файла в файл, указанный в настройках. Для сброса используется специализированная утилита.
    8. При следующей загрузке, в зависимости от настроек создается запись в журнале событий.

    Поиск причины BSOD

    Любой специалист рано или поздно сталкивается с задачей выявления виновника BSOD, то есть компонента, который и является, в конечном итоге, причиной падения операционной системы. Не стоит бояться браться за анализ BSOD. Ведь от того, владеет ли специалист необходимой информацией, зависит выбор метода решения, от затрат всего нескольких минут на переустановку драйвера/устройства, до многочасовой переустановки и настройки операционной системы с нуля. Вы можете себе представить, сколько времени Вы потеряете, пойдя по этому ложному пути, с учетом того, что все эти действия могут и не решить проблемы? Только представьте, какие временные затраты мы получим бы при попытке, предположим, "перезалить" контроллер домена или сервер приложений? Поэтому, последуйте хорошему совету: во всех ситуациях, где только возможно, до последней захудалой зацепки пытайтесь определить источник проблемы и избежать переустановки ОС.
    Есть два основных варианта нахождения причины возникновения синего экрана смерти:

    Визуальный анализ

    Попытаться без использования специализированного ПО, по коду ошибки или имени драйвера, информация о которых представлена на экране или в логе события BSOD, выяснить причину. Если удалось получить только лишь код STOP-ошибки, то это наименее точный и наименее быстрый метод определения источника проблемы, поскольку некоторые классы ошибок имеют множество потенциальных причин возникновения. Однако, если нам повезло и мы получили с экрана или из лога наименование сбойного драйвера, то метод превращается в достаточно точный и наиболее быстрый.
    Описанная ранее функция KeBugCheckEx содержит в себе алгоритмы, которые собирают и выводят на экран максимально-возможный объем информации о состоянии определенных триггеров системы в момент сбоя. И такое поведение вполне объяснимо, поскольку специалисту может потребоваться вся доступная информация для последующего анализа возникшей проблемы. Бывают, однако, случаи, когда сообщение недостаточно информативно, то есть информации откровенно мало, но такие ситуации встречаются достаточно редко.
    Давайте попробуем "расшифровать" BSOD и разберемся с данными, которые процедура выводит на экран. Для удобства понимания информации, представленной на синем экране смерти, я промаркировал основные блоки:

    Давайте теперь рассмотрим эти блоки подробнее:

    1. Символическое имя ошибки (в нашем случае: BAD_SYSTEM_CONFIG_INFO). Может отсутствовать.
    2. Рекомендации по устранению общего характера.
    3. Код STOP-ошибки. (в нашем случае: 0x00000074).
    4. Четыре параметра, конкретизирующие ошибку, предназначенные для отладочного ПО (Значение параметров зависит от кода ошибки и кратко описывается в таблице выше).
    5. Необязательный параметр. На нашем скриншоте отсутствует. Имя программного модуля или драйвера ядра, в коде которого возникла ошибка. Адрес инструкции, вызвавшей останов, "база" драйвера. Время, дата. Если ошибка не относится к модулю/драйверу, либо ядро не смогло связать проблему с объектом, то данный параметр отсутствует.
      пример: gv3.sys – address F86B5A89 base at F86B5000, DateStamp 3dd991eb

    BSOD-ошибки можно условно разделить на две категории. Первая категория содержит адрес инструкции, вызвавшей исключение (как в нашем примере, 00000074h: BAD_SYSTEM_CONFIG_INFO). Вторая категория BSOD-ошибок не содержит адреса проблемной инструкции, потому что ядро диагностирует аварийную ситуацию на поздней стадии.

    Для последующей работы над проблемой нам потребуется как минимум один параметр от синего экрана смерти: код STOP-ошибки и/или (если имеется) имя программного модуля или драйвера ядра.
    Запишите всю эту информацию и смело переходите к следующему разделу "Устранение BSOD".

    Автоматизированный анализ

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

    1. Анализ дампа при помощи утилиты .
    2. Анализ дампа при помощи скрипта .
    3. Анализ дампа при помощи отладчика .
    4. Анализ дампа при помощи онлайн-анализатора OSR Instant Online Crash Analysis . Принимаются дампы размером до 40Мб.

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

    Устранение (исправление) BSOD

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

    • Код ошибки. Если мы имеет только код STOP-ошибки, просто посмотрели списали его с BSOD и не стали заниматься анализом никаких там дампов, то в этом случае можно с помощью таблицы STOP-ошибок , имеющейся на официальном сайте, определить предполагаемого виновника. Можно не ограничивать себя только лишь официальным ресурсом, а просто поискать в Сети.
    • Сторонний драйвер. Если предполагаемым источником проблемы является драйвер устройства, то нам необходимо понять, к какому компоненту ОС он принадлежит. Для этого используем поисковик.
      Если недавно был установлен обновленный драйвер видеокарты, звуковой, материнской, сетевой - пробуем откатиться на старый, если не помогло, то пробуем просто переустановить текущую версию, если и это не помогло, то попытаемся найти еще более новый, взятый с официального сайта производителя оборудования.
    • Системный драйвер. Вероятность того, что причиной является системный драйвер очень мала, потому как системные (встроенные) драйвера очень хорошо отлаживаются перед запуском в релиз. Но если, все же, вы грешите на системный драйвер Windows - то Вам потребуется средство проверки драйверов verifier.exe .

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

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

    Причем в этом случае вы сможете только перегрузить компьютер, так как другие действия будут недоступны. Именно по это причине этот самый экран называют «синим экраном смерти» (BSOD).

    Что это такое

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

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

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

    Настройка системы

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

    Для этого необходимо:

    • проверить, что в параметрах Windows включено сохранение дампа памяти;
    • руководствуясь необходимым размером файла дампа памяти, надо проверить, хватит ли на системном диске свободного места для его расположения;
    • отключить перезагрузку операционной системы после появления BSOD.

    Windows XP

    Для настройки параметров операционной системы Windows XP необходимо:

    • включить запись отладочной информации, а именно перейти в:

    • указать, какое количество отладочной информации следует записать в случае возникновения сбоя.

    WindowsVista/7

    Настройки WindowsVista/7 аналогичны настройкам Windows XP.

    Windows 8

    В Windows можно настроить параметры так, чтобы операционная система не перегружалась автоматически. В Windows 8 для этого необходимо:


    Расшифровка сведения в Blue Screen of Death

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

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

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

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

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

    Причины появления

    Причин появления синего экрана смерти множество.

    Все причины появления BSOD в Windows можно разбить на три составляющих:

    • оборудование;
    • драйверы;
    • программы.

    Видео: Синий экран в виндовс

    Оборудование

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

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

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

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

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

    Драйвера

    Бытует мнение, что драйвера являются источником 70% случаев BSOD. Для лечения системы драйвер необходимо переустановить, предварительно удалив его. Если проблема не решена, то необходимо скачать драйвер с сайта производителя и установить.

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

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

    ПО

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

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

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

    Для анализа критических дампов памяти можно использовать одну из огромного количества программу, например, DumpChk, Kanalyze, WinDbg.

    Рассмотрим на примере WinDbg (входит в состав Debugging Tools for Windows) как можно осуществить анализ аварийных дампов памяти.

    Последовательность действий следующая:

    • скачать актуальную версию программы с сайта разработчика;
    • установить программу на компьютер;
    • запустить программу;
    • перейти в пункт меню «File –> Symbol File Path…»;
    • вокне «Symbol Search Path» нажать «Browse…»;
    • в появившемся окне выбрать местоположение каталога Symbols . Затем два раза нажать «OK», после чего выбрать меню «File –> Open Crash Dump…»;
    • в окне «Open Crash Dump» следует выбрать путь и нажать «Открыть»;
    • в окне «Workspace» установить флажок «Don’taskagain» в значение «No»;
    • отобразится окно «Command Dump » с анализом дампа;
    • детально проанализировать дамп памяти;
    • особенно важно обратить внимание на раздел «Bugcheck Analysis», в котором отображается возможная причина сбоя;
    • для просмотра полной информации нужно нажать на ссылку «!analyze -v»;
    • закрыть программу;
    • применить полученные данные для устранения причины краха.

    Устраняем ошибки синего экрана смерти

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

    При появлении BSOD необходимо проделать следующие действия:


    Видео: BSOD - Экран

    Коды ошибок

    Для более быстрого и эффективного «лечения компьютера» нужно иметь представление о том, что означают коды ошибок и как устранить проблему синего экрана смерти. Поэтому чрезвычайно важно не игнорировать текст, отображающий на BSOD. Наиболее важная информация на синем экране смерти – это шестнадцатеричный код ошибки и ее описание.

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

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

    Наиболее часто встречающие ошибки:

    • 0x00000001 – внутренняя ошибка ядра;
    • 0x0000000A – недоступный адрес памяти;
    • 0x0000001E – некорректная команда процессора;
    • 0x00000020 – ошибка драйвера;
    • 0x0000002B – переполнение стека;
    • 0x00000051 – ошибка реестра.

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

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

    >

    Чтобы получить сведения об ошибки введите её код в текстовое поле чуть ниже в следующем формате: 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, или видеодрайвер.

    Страница 1 из 2

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

    Нужно подчеркнуть, что статья получилась довольно таки объёмной, но зато в ней расписаны абсолютно все аспекты и нюансы, на которые необходимо обратить внимание.

    На каждой операционной системе синий экран выглядит по-разному. К слову на последних ОС от Windows они уже вовсе и не синие. К примеру, уже известно, что на ещё не вышедшей в свет Windows 8 синий экран будет с изображённым на ней грустным смайликом. Выйти эта ОС должна в конце 2012 года. Такой BSoD можно довольно часто увидеть при тестировании различных ОС. В Windows 8 синий экран должен получиться наиболее «позитивным», нежели в других операционных системах.

    Впрочем, некоторым бывалым пользователям удавалось увидеть красный экран смерти. Да и это не шутка. Такое явление можно наблюдать лишь на Windows Vista. А в те древние времена, когда только появились Windows 1.0 и Windows 2.0 экран и вовсе был чёрным. Понятие синего экрана ввёл служащий Калифорнийской компании Эрик Ноес, с тех далёких пор оно стало общепринятым.

    Собственно, что такое синий экран смерти?

    Понятие «синий экран смерти» пришло к нам от англоязычных пользователей. У них же это распространённое явление называется просто BSoD , при расшифровке получается Blue Screen of Death . На официальном языке оно называется Stop Error . Появление синего экрана на мониторе компьютера ничего хорошего не предвещает, более того он свидетельствует о том, что у вас произошла критическая ошибка. Такой способ оповещения об опасности характерен лишь для OC Windows.

    Что собой представляет BSoD

    При ближайшем рассмотрении можно увидеть надпись следующего вида: . На языке «технарей» это называется STOP код или 0х000000F4 . Ещё можно встретить такую же надпись только без нулей, выглядеть она будет примерно так 0хF 4. В данной статье будет применяться запись без нулей именно такого вида. Такая непонятная для новичка надпись это своеобразный код с префиксом, который исчисляется в шестнадцатеричной системе счисления. Сам префикс служит для распознавания различными системными службами.

    Благодаря такому STOP коду система анализирует все ошибки и вносит их в системный журнал. На самом деле ошибка 0хF4 говорит нам о том, что в системе прекратил свою деятельность важнейший поток или процесс. О том, что означают такие коды ошибок, будет рассказано ниже. Самую развёрнутую и нужную для продвинутых пользователей информацию BSoD предоставляет в Windows Server , а также в XP/Vista/7 . Благодаря такой информации опытный пользователь может и сам разобраться, в чём дело.

    Синий экран при загрузке

    При возникновении подобной ошибки в Microsoft появляется уведомление о том, чем именно вызвано появление BSoD . Виновником этой ошибки, по словам разработчиков Microsoft является системный файл под названием SPCMDCON.SYS . А на самом мониторе можно увидеть надпись следующего содержания PAGE_FAULT_IN_NONPAGED_AREA . Эта ошибка говорит нам о том, что системные данные, содержавшиеся в памяти, попросту не найдены.

    Далее можно увидеть руководство для дальнейших действий, благодаря которому можно предотвратить подобные ошибки в будущем. Ниже обязательно будет приведена техническая информация примерно такого контекста: STOP код 0х50 и снова системный файл SPCMDCON.SYS , но уже с параметрами. Для неопытных пользователей это дремучий лес, именно поэтому разработчики Windows 8 хотят в несколько раз упростить тот самый злополучный BSoD .

    Топ по кодам, которые появляются на синем экране

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

    0x24 NTFS_FILE_SYSTEM Сбой в файловой системе NTFS.
    0x2E DATA_BUS_ERROR Ошибка чётности в оперативной памяти.
    0xB4 VIDEO_DRIVER_INIT_FAILURE Ошибка инициализации видеодрайвера.
    0xA IRQL_NOT_LESS_OR_EQUAL Неверный адрес при обращении драйвера устройства.
    0x1E KMODE_EXCEPTION_NOT_HANDLED Процесс режима ядра пытается выполнить недопустимую инструкцию.
    0xB9 CHIPSET_DETECTED_ERROR Неисправен чипсет материнской платы.
    0x4E PFN_LIST_CORRUPT Повреждена структура ввода/вывода драйвера.
    0xC2 BAD_POOL_CALLER Ошибка операции выделения памяти
    0x69 IO1_INITIALIZATION_FAILED Неудача инициализации системы.
    0x50 PAGE_FAULT_IN_NONPAGED_AREA Данные, запрашиваемые из памяти, отсутствуют.
    0x8E PAGE_FAULT_IN_NONPAGED_AREA Тоже что и в предыдущем варианте - данные, запрашиваемые из памяти, отсутствуют.
    0x7F UNEXPECTED_KERNEL_MODE_TRAP Непредвиденная ошибочная операция в ядре.
    0x77 KERNEL_STACK_INPAGE_ERROR Чтение запрошенной страницы ядра невозможно.
    0x7B INACCESSIBLE_BOOT_DEVICE Нет доступа к системному разделу диска.
    0x79 MISMATCHED_HAL Аппаратная несовместимость.
    0x7A KERNEL_DATA_INPAGE_ERROR Ошибка чтения в физическую память.
    0xC0000135 STATUS_DLL_NOT_FOUND Ошибка при загрузке библиотеки.
    0xD1 DRIVER_IRQL_NOT_LESS_OR_EQUAL Ошибка драйвера, адрес памяти недоступен.
    0xF3 DISORDERLY_SHUTDOWN Windows не смогла завершить работу из-за нехватки памяти.
    0xC000021A STATUS_SYSTEM_PROCESS_TERMINATED Ошибка службы, работающей в пользовательском режиме.
    0xC0000221
    STATUS_IMAGE_CHECKSUM_MISMATCH
    Файл драйвера не найден или повреждён.

    Если вдруг вы не смогли обнаружить в этом списке ошибку похожую на вашу, то не стоит отчаиваться. Для начала необходимо обратиться в службу поддержки Microsoft. Вам всё в точности объяснят и покажут, а также вы получите вероятную причину того, почему у вас появился синий экран смерти.

    Почему появляется синий экран смерти?

    Он появляется вследствие того, что в ходе процесса выполнения кода ядра происходит критическая ошибка. Поэтому происходит сбой. Нередко можно увидеть синий экран при установке Windows. Синий экран может появиться, если в аппаратной составляющей компьютера были изменены некоторые параметры. К примеру, установка или замена адаптера, видеокарты, контроллеров, жёсткого диска и устройств PCI и PCI Express. Драйвера этих устройств могут оказаться попросту несовместимыми с параметрами компьютера, поэтому может произойти сбой.

    К примеру такой синий экран появлялся при установке Windows на нетбук. Проблема решилась удалением всех разделов жесткого диска и его форматированием.

    Что делать если вдруг появился синий экран?

    Все что вы можете сделать в этот момент, это просто перезагрузить компьютер. Есть вы бывалый пользователь и можете работать с дебаггерами (отладчиками) то есть выход. Для определения причины появления экрана смерти Windows разработало комплексное решение этой проблемы, именующееся Debugging Tools for Windows , которое работает на 32 и 64 разрядных ОС.

    Причины появления и способы устранения синего экрана смерти

    Возможной причиной появления BSoD может стать изменение настроек в BIOS . Надо сказать, что настройки на скорую руку вообще ни к чему хорошему не приводят. Если по каким-то причинам вы забыли, какие именно настройки проводили, то лучше поставить стандартные настройки, то есть default .

    Также синий экран может появиться благодаря специально созданным для этого вирусам, которые первым делом поражают главную загрузочную запись (MBR ) и главный загрузочный сектор. Именно они, по мнению разработчиков Windows могут привести к серьезным неполадкам и появлению синего экрана смерти. Компьютер обязательно нужно проверить на наличие вирусов, делается это с помощью восстановительного диска и уже установленного антивируса. Практически все компании, которые, так или иначе, занимаются разработкой программ-антивирусов, предлагают функцию записи дистрибутив на CD. Такое решение проблем предлагает Лаборатория Касперского. Также можно скачать уже готовый образ с серверов компании. Можно проверить состояние MBR и другой антивирусной утилитой, к примеру, AVZ . Ознакомиться с её работой вы можете по ссылке .

    Ошибки в оперативной памяти. Диагностика

    Случается и такое что неисправные, а нередко и неодинаковые модули оперативной памяти становятся причиной появления синего экрана. Если вдруг вы заметили что у вас во время установки или замены модулей оперативной памяти не загружается ОС или появляется синий экран смерти то, скорее всего у вас просто неправильно установлена оперативная память. Можно попробовать поставить модули оперативной памяти в другие DIMM слоты или просто переставить планки DDR местами. Но неполадки могут скрываться и в другом, для того, чтобы точно узнать, в чём причина появления синего экрана, нужно провести диагностику с помощью штатной утилиты Windows. Такая утилита доступна в ОС Windows Vista и 7, в XP можно использовать утилиту под названием Windows Memory Diagnostic , скачать которую можно по ссылке .

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

    В Windows 7 компания Microsoft предусмотрела средство для тестирования оперативной памяти. Ниже описано как им пользоваться.

    1. Итак, для начала нужно зайти в "Пуск ", далее "Панель " управления», после чего необходимо найти значок "Администрирование " и кликнуть по нему.
    2. В открывшемся окне нужно найти надпись следующего вида "Средство проверки памяти Windows ".
    3. В новом открытом окне Windows предложит вам выбор из двух вариантов "" и "Выполнить проверку при следующем включении компьютера ".
    4. После этого необходимо закрыть все посторонние программы для того, чтобы не потерять никаких важных данных и нажать "Выполнить перезагрузку и проверку (рекомендуется) ".

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

    Но существует и другой способ, протестировать оперативную память с помощью установочного диска, это возможно лишь в Windows Vista и 7. Для того чтобы проделать данную процедуру, необходимо:

    1. Для начала нужно зайти в BIOS и установить CD-ROM или DVD-ROM в качестве первого загрузочного устройства в меню BOOT , после этого сохранить все установленные настройки и выйти изBIOS .
    2. Компьютер перезагрузится и выдаст вам уведомление в следующем контексте: "Press any key to boot from CD " после чего нужно будет нажать любую клавишу.
    3. Далее нужно подождать, пока Windows загрузить все файлы и в окне "Установка Windows " нажать на кнопку "Далее ".
    4. Выбрать "Восстановление системы ", подождать.
    5. Далее пред вами предстанут настройки этого окна, сразу скажу, что лучше ничего не менять, а оставить по умолчанию. После чего нужно кликнуть на кнопку "Далее ".
    6. В списке необходимо выбрать пункт "Диагностика памяти Windows ".
    7. В открывшемся окне необходимо выбрать 1 из 2-х вариантов. К примеру, "Выполнить перезагрузку и проверку (рекомендуется) " и проверка оперативной памяти тут же начнёт работать.