Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Расшифровка синих экранов смерти(BSoD) Windows



Расшифровка синих "экранов смерти"(BSoD) Windows

 

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

Когда Windows XP сталкивается с серьёзной проблемой, ставящей под вопрос дальнейшее правильное функционирование операционной системы (ОС), она немедленно завершает работу и самопроизвольно перезагружается. Что происходит в недрах Windows и что вызвало критический сбой ОС?

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

Для этого в свойствах системы (ПУСК> ПАНЕЛЬ УПРАВЛЕНИЯ > СИСТЕМА> ДОПОЛНИТЕЛЬНО> ЗАГРУЗКА И ВОССТАНОВЛЕНИЕ> ПАРАМЕТРЫ) снимаем галочку Отказ системы -> ВЫПОЛНИТЬ АВТОМАТИЧЕСКУЮ ПЕРЕЗАГРУЗКУ.

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

Одна беда - Микрософт, выпустив русскую версию Windows XP (она стоит у большинства пользователей XP), забыл оставить английский текст сообщений о ошибках.

В итоге имеем сообщение, напечатанное нечитабельными символами белого цвета (в которых с трудом можно разобрать только слово STOP) на синем фоне. Такая картинка и называется голубым экраном смерти (Blue Screen of Death - BSOD).

Эти ошибки могут быть вызваны как драйверами, службами, оборудованием, так и программным обеспечением (ПО). Диагностировать их сложнее всего.

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

Например,

 

*** STOP: 0x000000D1 (0x00000000, 0x000000000, 0x00000000, 0xF8BCC2A4)

Текст за словом STOP содержит номер ошибки (шестнадцатеричной системе счисления) и до четырёх параметров, зависящих от ошибки. В нашем примере код ошибки 0x000000D1 (или просто D1) - наиболее распространенная ошибка. Она возникает при обращении к защищённому адресу памяти, который недоступен. Параметры, в свою очередь, указывают адрес ячейки памяти, по которому имело место обращение, номер прерывания, тип операции (0 означает чтение из памяти) и адрес вызова.



В самом конце экрана *** Nwiz.sys - Addres F8BCCA44 base at F8BCC000, DateStamp 33bb8f1d - в некоторых случаях имя драйвера, вызвавшего ошибку. Не думайте, что обязательно этот драйвер содержит ошибку и требует замены. Иногда причина в другой программе, повлекшей за собой нестабильность и отказ системы. При этом драйвер Nvidia Nwiz.sys выполнил вполне корректную операцию, просто система уже была не в состоянии правильно ее интерпретировать. Запустите Windows в защищённом режиме и попробуйте отключить вызвавшую сбой программу или удалить службу с помощью Консоли восстановления.

Если система перезагрузится сразу после вывода сообщения об ошибке, у вас не получится записать код ошибки. Однако, в большинстве случаев та же информация заносится в системный журнал, который можно посмотреть с помощью консоли Просмотр событий (ПУСК> ПАНЕЛЬ УПРАВЛЕНИЯ> АДМИНИСТРИРОВАНИЕ> ПРОСМОТР СОБЫТИЙ> СИСТЕМА). Здесь указывается только номер ошибки и её параметры.

 

STOP:

Параметры

Описание

0x0000000A

1 - адрес, по которому выполнено ошибочное обращение

2 - IRQL, который использовалcя для обращения к памяти

3 - тип доступа к памяти: 0 = операция чтения, 1 = операция записи

4 - адрес инструкции, которая затребовала доступ к памяти по данному адресу

Процесс, выполняемый в режиме ядра, или драйвер попытались обратиться к ячейке памяти, не имея к ней доступа. Эта ошибка возникает при сбойном (несовместимом) оборудовании или программным обеспечением. Обратите внимание на имя драйвера внизу экрана - это даёт шанс устранить проблему. Если подобная ошибка появляется в процессе установки, дело может быть в несовместимости ПО, антивирусной программе. Наиболее частая причина возникновения - драйвер устройства обращается к защищённой области памяти.

0x0000000D

1 - связь уровня взаимодействия

2 - уровень взаимодействия, пытающийся получить доступ

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

0x0000001E

1 - код исключительной ситуации

2 - адрес, при обработке которого произошел сбой

3 - Parameter 0 для исключения

4 - Parameter 1 для исключения

Ядро Windows XP обнаружило некорректную или неизвестную команду процессора. Обычно это следствие ошибок оперативной памяти, нарушений доступа к памяти. Обратите внимание не только на указанный драйвер, но и на сам адрес содержащий эту ошибку.Код исключения 0x80000003 означает, что точка прерывания или суждение было достигнуто при обращении к памяти, но система загрузилась с /NODEBUG ключом. Если ошибкапоявляется снова, убедитесь, что отладчик не остановлен и система загружается с ключом /DEBUG. На не Интеловских системах, если адрес исключения 0XBFC0304, ошибка появляется вследствие кеширования процессора. Если ошибка будет появляться снова, свяжитесь с производителями. Как правило, требуется анализ второго параметра этого сообщения, который указывает на адрес драйвера (функции), которая была причиной проблемы.

0x00000020

1 - адрес APC, по которому был в ожидании на момент выхода

2 - связь APC счётчика невозможна

3 - текущий IRQ уровень

Название ошибки указывает на повреждённый (отключённый) APC счётчик. Если счётчик показывает значение не равное нулю, то он и есть источник проблемы. Отрицательное значение указывает на то, что файловая система вызывала FsRtlEnterFileSystem большее количество раз чем FsRtlExitFileSystem. Положительное значение указывает наоборот FsRtlExitFileSystem было вызванобольшее количество раз чем FsRtlEnterFileSystem. Если у вас такая ситуация, проверьте все файловые системы на машине, особенно, если у вас не NTFS, FAT, HPFS и RDR. Текущий IRQL должен быть равен 0. Если нет, то определённый порядоканнулирования драйверов может быть причиной возникновения ошибки, возвращаясь навысоком уровне IRQ. Вспомните, что вы делали или какие приложения закрывали, какие драйвера были установлены на момент возникновениясинего экрана. Этот симптом указывает на серьёзную проблему в драйверах третьейстороны.

0x00000023

.

Проблема в драйвере файловой системы FAT (чаще всего сбой на диске).

0x00000024

.

Проблема в драйвере файловой системы NTFS (сбой на диске).

0x0000002A

1 - адрес на котором IRP (I/O Request Packet) был найден в несоответствующем состоянии

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

0x0000002B

.

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

0x0000002E

1 - адрес виртуальной памяти, который стал причиной ошибки

2 - физический адрес причины ошибки

3 - регистрация статуса процессора (PSR)

4 - регистрация инструкции ошибки (FIR)

Сбой или дефект оперативной памяти (ОЗУ), включая память видеоадаптера. Так же это можетбыть при обращении драйвера к адресу памяти 0x8XXXXXXX, который не существует.

0x00000031

1 - код статуса, который описывает почему система решила, чтоинициализация не произошла

2 - указывает место ошибки инициализации фазы 0.

Сбой инициализации системы на стадии загрузки.

0x00000032

1 - код статуса, который описывает почему система решила, чтоинициализация не произошла

2 - указывает место ошибки инициализации фазы 1.

Сбой инициализации системы на следующей стадии.

0x00000035

1 - адрес IRP

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

0x00000036

1 - адрес объекта

Драйвер устройства пытался удалить из системы одно из объектов его устройства, но счётчик обращений этого объекта не был равен 0, означающий что для этого объекта всё ещё были невыполненные задачи (счётчик указывает номер причин, почему данный объект на может быть удалён). Это ошибка вызова драйвера.

0x00000037

.

Ошибка дисковода гибких дисков

0x0000003E

.

Мультипроцессорная система не поддерживается или не симметрична по отношению друг к другу. Чтобы бытьсимметричными, процессоры должны быть одного типа и уровня. Например, попытка использовать процессор уровня Pentium и 80486 вызовет ошибку. Кроме того, на х86системах, возможность вычислений с плавающей точкой должны быть на обоихпроцессорах или ни на одном.

0x0000003F

.

В системе закончились записи в таблице страниц. Не хватает РТЕ (Page File Entries). Обычно причиной является драйвер, которыйплохо вычищает файл подкачки или нет места на диске.

0x00000040

.

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

0x00000044

1 - адрес IRP

Драйвер запросил завершение IRP [IoCompleteRequest()], но пакет был ужезавершён. Эту ошибку сложно выявить, так как самый простой случай - драйверпытается завершить одну и ту же операцию дважды - обычно не то, что случается на самом деле. Реже - 2 различных драйвера пытаются завладеть пакетом и завершитьего. Первый как правило срабатывает, а второй нет. Отследить, какой именнодрайвер сделал это, трудно, так как следы первого драйвера были переписанывторым. Тем не менее, конфликт может быть выявлен, рассматривая DeviceObjectполя, в каждом местоположении стэка.

0x00000048

.

Это ошибка указывает, что I/O Request Packet (IRP), который должен быть завершён, имеет порядок отмены, означая, что пакет в такомположении, что может быть отменен. Тем не менее, пакет не относиться более кдрайверу, так как он уже вошёл в стадию завершения.

0x00000049

.

Ошибка страницы с отключённым прерыванием. Рассматривайте эту ошибку, так же как 0x0A.

0x0000004C

.

Winlogon или CSRSS (Windows) "умерли" внезапно. Выходящий код можетсказать больше. Обычно это - c0000005, что говорит о том, что неподдерживаемое исключение рухнуло в том или другом процессе. Также возникает, если драйвер или системная библиотека были распознана,как повреждённые.

0x0000004D

1 - количество использованных страниц

2 - количество физических страниц

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

0x0000004E

1. значение 1

2. значение заголовков страниц, которые повреждены

3. число доступных страниц

4. 0

1. значение 2

2. данные, которые удаляются

3. наивысшее число физических страниц

4. итог удаляемых данных

Причина - повреждённая (неисправная) структура ввода - вывода драйвера.

0x00000050

1. указывает на ошибочный адрес в памяти

Драйвер устройства или системная служба запросили данные, которых не было в памяти. Это дефект ОЗУ или несовместимое ПО.

0x00000051

1. значение 1 (указывает, где появилась ошибка)

2. значение 2 (указывает, где появилась ошибка)

3. может указывать на библиотеку

4. может быть возвратным кодом HvCheckHive'а, если какая-либо библиотека повреждена

Ошибка реестра. Эта ошибка так же может означать, что реестр получил ошибку ввода - вывода, когда пыталсяпрочесть один из его файлов. Ошибка могла быть вызванапроблемой с оборудованием или система повреждена. Это так же может означать, что ошибка вызвана операцией обновления, которую использует только система безопасности и это только когда ресурсы на исходе. Если такая ошибкапоявилась, проверьте, является ли машина PDC или BDC и сколько аккаунтов в базеданных SAM (Менеджер Безопасности Аккаунтов), и незаполнены ли соответствующие библиотеки почти до конца.

0x00000058

.

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

0x00000069

.

Инициализация системы не удалась. Например, установкаприняла не правильное решение по поводу инсталляции системы или пользователь переконфигурировал систему.

0x00000073

1. 5

2. 2

3. список библиотек

4. указывает UNICODE_STRING, содержащий имя библиотеки

Указывает, что одна из системных библиотек повреждена или не читаема. Этабиблиотека может быть или SOFTWARE, или SECURITY, или SAM (МенеджераБезопасности Аккаунтов).

0x00000074

.

Эта ошибка может показывать то, что библиотека SYSTEM, загружаемаяNTLDR, повреждена. Тем не менее, это практически невозможно, так какOSLOADER всегда проверяет библиотеки после загрузки и убеждается, что они неповреждены. Эта ошибка так же может означать, что некоторые требуемые ключи реестра и ихпараметры отсутствуют. Загрузка в LastKnownGood (Последней хорошей конфигурации)может решить проблему.

0x00000075

.

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

0x00000077

1. 0

2. 0

3. значение PTE на момент ошибки

4. адрес ошибки ядра

1. код статуса

2. I/O код статуса

3. номер страницы виртуальной памяти

4. Компенсация в страничный файл

Система попыталась считать данные ядра из виртуальной памяти (файла подкачки) и не смогла найти данные по указанному адресу. Причины - дефекты ОЗУ, сбои жёсткого диска, повреждение данных или заражение вирусной программой и т.п.

0x00000079

1. тип несовпадения (1, 2 или 3):

1. несовпадение уровней выпуска PRCB (несовпадение дат). Если дело в этом, то параметры 2 и 3:

2 - больший уровень NTOSKRNL.EXE

3 - больший уровень HAL.DLL

2. несовпадение типов бильдов, в этом случае параметры 2 и 3:

2 - тип бильда NTOSKRNL.EXE

3 - тип бильда HAL.DLL

3. Micro Channel Architecture (MCA) компьютерам требуется специфичный MCA HAL, в этом случае параметры 2 и 3:

2 - тип машины, определённый NTDETECT.COM

значение 2 означает, что компьютер - MCA

3 - тип машин, которые этот HAL поддерживает значение 2 означает, что этот HAL сделан для MCA

Это сообщение указывает на не соответствие между уровнем абстрагирования от оборудования Windows XP (Hardware Abstaction Layer - HAL) и системными файлами Windows XP. Причина - внезапное изменение параметров BIOSа на компьютерах с AСPI, например, установка жёсткого диска с системой в другой компьютер. Возможно пользователь вручнуюобновил либо NTOSKRNL.EXE либо HAL.DLL на несовместимые версии.

0x0000007A

.

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

0x0000007B

1. указатель на объект устройства

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

0x0000007D

1. номер найденных физических страниц

2. нижняя физическая страница

3. высшая физическая страница

4. 0

Не хватает памяти, чтобы загрузить Windows. Причина - дефект, либо слишком малая величина ОЗУ.

0x0000007F

1. конкретная причина

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

0x0000008B

1 - дисковая сигнатура MBR.

2 - контрольная сумма MBR посчитанная загрузчиком системы

3 - контрольная сумма MBR сохранённая в системе.

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

0x00000092

.

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

0x00000098

.

Конец демонстрационного периода OC (для Trial- версий).

0x0000009C

.

Фатальная ошибка при проверке оборудования.

0x0000009F

.

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

0x000000B4

.

Сбой инициализации видео- драйвера. Перезагрузитесь в защищённом режиме и устраните конфликт оборудования или откатите новый драйвер.

0x000000B9

.

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

0x000000BE

.

Драйвер пытается записать в память только для чтения (ПЗУ).

0x000000C2

.

Некорректная операция выделения памяти. Причина - сбойный драйвер или ПО.

0x000000C4

.

Проверка версий драйверов обнаружима фатальную ошибка в драйвере...

0x000000C5

.

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

0x000000C6

.

Драйвер обратился к пулу свободной памяти. Замените драйвер.

0x000000C7

.

Таймер ядра или Delayed Procedure Call (DPC) были найдены в недопустимой области памяти. Обысно это вызвано дефектом драйвера.

0x000000C9

.

Получен сигнал от драйвера о предупреждении проверки ввода - вывода.

0x000000CB

.

Аналогично ошибке 0x76. Указывает, что драйвер или подпрограмма ввода - вывода не сумели выгрузить оставшиеся страницы после завершения операции.

0x000000CE

.

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

0x000000D1

.

Драйвер обращается к недоступному адресу памяти.

0x000000D8

.

В системе закончились записи в таблице страниц. Не хватает РТЕ (Page File Entries). Обычно причиной является драйвер, которыйзапрашивает у ядра слишком большие области памяти или нет места на диске (мал файл подкачки).

0x000000E3

.

Эта ошибка возникает при сбоях на файловой системе NTFS.

0x000000EA

.

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

0x000000ED

.

Windows XP не смогла получить доступ к тому, содержащему загрузочные файлы. Смотри 0х7В.

0x000000F2

.

Ядро обнаружило "шторм прерываний", когда устройство не освобождает прерывание. Как правило это связано с некорректным драйвером устройства или ошибкой в "прошивке"

0x000000F3

.

Выключение Windows закончилось неудачей из - за недостатка памяти.

0x1000007E

.

Аналогично 0x7E.

0x1000008E

.

Аналогично 0x8E.

0xC000009A

.

Ядро Windows разместило всю доступную память в страницы пула..

0xC0000135

.

Обнаружена ошибка при загрузке библиотеки. Файл отсутствует или повреждён. Возможно повреждение реестра.

0xC0000142

.

Сбой инициализации библиотеки

0xC0000218

.

Необходимый файл улья реестра не был загружен. Файл модет быть повреждён или удалён. Файл реестра разрушен из -за ошибок на жёстком диске или ОЗУ.

0xC000021A

.

Возникла серьёзная проблема с безопасностью в Windows XP- в нарушении обвиняется Winlogon.exe или Csrss.exe. Эта ошибка возникает при неполном восстановлении архива, несоответствии версий системных файлов, а так же при некорректном изменении разрешений системных файлов, когда учётная запись System теряет доступ к системным файлам и папкам.

0xC0000221

.

Проблема с указанным файлом. Восстановите файл.

0xC0000244

.

Возникает при аудите политики безопасности, если CrashOnAuditFail включён.

0xC000026C

.

Не возможно загрузить драйвер устройства. Проблема в драйвере.

0xDEADDEAD

”It’s dead, Jim!”

Почти дословный перевод сообщения:

”Это смерть, Джим!” Это сообщение о преднамеренном разрушении системы пользователем от отладчика или с клавиатуры. Само собой, Вы увидете это сообщение, только если сделали это нарочно!

 


Дата добавления: 2015-09-30; просмотров: 16 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Федеральное государственное образовательное учреждение | Портфельные инвестиции.

mybiblioteka.su - 2015-2024 год. (0.049 сек.)