Описание: Случаются такие ситуации, когда Windows XP самостоятельно перезагружается, что вызвано какой-то проблемой, ставящей под сомнение нормальное функционирование операционной системы. Чем это может быть спровоцировано, и как это предотвратить? В первую очередь, необходимо исключить возможность автоматической перезагрузки, чтобы система показала сообщение о произошедшей ошибке. Сделать это вы можете, используя такой путь: Пуск / Панель управления / Система / Дополнительно / Загрузка и восстановление / Параметры. Находим и убираем отметку «Выполнить автоматическую перезагрузку» в поле «Отказ системы». После этого, в случае ошибки, система не будете перезагружаться, а лишь выдаст на экран подробное сообщение. Однако и здесь кроется небольшая проблема: когда была выпущена русскоязычная Windows XP, разработчики почему-то исключили английский текст и из сообщений об ошибке. В результате перед нами уже всем, наверное, известный голубой экран смерти, представляющий собой, в основном, набор непонятных белых символов на синем фоне. Проблема в системе может случиться из-за чего угодно: оборудования, драйверов, некачественного программного обеспечения. Узнать причину в таком случае крайне сложно, так как текст на голубом экране невозможно прочитать, хотя он и несет очень важную и нужную информацию. Содержание текста может меняться в зависимости от ошибки, а вот формат всегда одинаков: имя ошибки, советы по ее устранению (далеко не всегда эффективные), номер и характеристики ошибки. Для большей наглядности рассмотрим следующий пример: STOP: 0x000000D1 (0x00000000, 0x000000000, 0x00000000, 0xF8BCC2A4)
А что обозначают эти параметры?привидем эту информацию ниже
Жирным шрифтом выделены коды ошибок которые могут встретиться:
!!! рекомендую пользоваться поиском ctrl+f !!!
0x0000000A
1 - адрес, по которому выполнено ошибочное обращение
2 - IRQL, который использовалcя для обращения к памяти
3 - тип доступа к памяти: 0 = операция чтения, 1 = операция записи
4 - адрес инструкции, которая затребовала доступ к памяти по данному адресу
Процесс, выполняемый в режиме ядра, или драйвер попытались обратиться к ячейке памяти, не имея к ней доступа. Эта ошибка возникает при сбойном (несовместимом) оборудовании или программным обеспечением. Обратите внимание на имя драйвера внизу экрана - это даёт шанс устранить проблему. Если подобная ошибка появляется в процессе установки, дело может быть в несовместимости ПО, антивирусной программе. Наиболее частая причина возникновения - драйвер устройства обращается к защищённой области памяти.
0x0000000D
1 - связь уровня взаимодействия
2 - уровень взаимодействия, пытающийся получить доступ
Найти точки взаимодействия и определить, какие из них пытаются получить доступ к этому уровню в неверной последовательности.
0x0000001A
MEMORY_MANAGEMENT
Указывает на общую проблему управления памяти.
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 системах, возможность вычислений с плавающей точкой должны быть на обоих процессорах или ни на одном.