Сидите вы себе за компьютером, набираете текст
(играете, смотрите фильм и т.п.), и вдруг ваш железный друг выбрасывает унылое
синее сообщение на весь экран. Знакомьтесь: STOP-сообщение - самый опасный вид
системной ошибки Windows. STOP-сообщение еще называют BSOD (синий экран смерти).
Это своего рода <предсмертная записка> вашей ОС. В ней система пытается поведать
вам, кто же ее убил.
Сообщения
STOP появляются в случае, если ядро операционной системы выявляет противоречивое
состояние, из которого оно не может выйти самостоятельно. Такие сообщения всегда
отображаются в полноэкранном текстовом режиме, а не в окне Windows. Каждое такое
сообщение уникальным образом определяется шестнадцатеричным числом,
идентифицирующим возникшую ошибку, и символьной строкой.
Кроме того, за шестнадцатеричным числом, идентифицирующим сообщение STOP, как
правило, следуют заключенные в круглые скобки шестнадцатеричные числа, каждое из
которых указывает один из параметров возникшей ошибки. По символьной строке,
идентифицирующей ошибку, можно предположительно определить, какой из компонентов
системы был затронут ошибкой, после которой ядро не смогло восстановиться.
STOP-сообщение в системах Windows 2000, XP, 2003 состоит из трех основных
частей: информация кода ошибки, рекомендации пользователю и информация
отладчика.
Как правило, интересна лишь первая часть STOP-сообщения. Рекомендации
пользователю носят весьма расплывчатый характер типа проверить все аппаратное и
программное обеспечение, и практической пользы от них немного. Информация
отладчика сообщает лишь о процессе выполнения дампа (сохранения всей информации,
находящейся в оперативной памяти). Разобраться в содержимом файлов дампа сможет
только очень хороший программист - обычному пользователю толку от них никакого.
Но необходимо помнить, что, когда дамп памяти будет завершен, компьютер
автоматически перезагрузится.
Следовательно, за время выполнения этой операции необходимо записать информацию
кода ошибки. Если STOP-сообщение не отображается, а компьютер сразу уходит в
перезагрузку, то, скорее всего, следует изменить ключ реестра HKEY_LOCAL_MACHINE\
SYSTEM\ControlSetxxx\Control\CrashControl\AutoReboot на 0, причем эту операцию
следует проделать для всех наборов ControlSetxxx.
В случае, если неполадка возникает в процессе загрузки операционной системы,
изменение этого параметра реестра можно выполнить из- под другой копии Windows
(которую, между прочим, очень полезно иметь на компьютере).
Откройте редактор реестра и загрузите улей System из папки %SystemRoot^\system32\config,
где %SystemRoot^ - папка поврежденной копии Windows. Когда редактор реестра
запросит имя загружаемого улья, укажите любое имя (желательно набранное
латинскими буквами). Таким образом вы получите доступ к реестру поврежденной
копии Windows и сможете изменять его параметры.
Если система не грузится и отображает STOP-сообщение снова и снова, попробуйте
загрузить Windows в безопасном режиме, удерживая клавишу F8 при загрузке и
выбрав Safe Mode. К положительному результату может также привести выбор
параметра загрузки Last known good configuration (загрузка последней удачной
конфигурации), особенно если проблема связана с недавно установленными
драйверами. Если же Windows не грузится даже в безопасном режиме, можно
воспользоваться установочным компакт-диском Windows XP-2003 для запуска консоли
аварийного восстановления (recovery console).
Установив в BIOS режим загрузки с компакт-диска, загрузитесь с установочного
диска и, дождавшись загрузки всех компонентов инсталлятора, нажмите клавишу R.
После этого вам предложат выбрать копию Windows, в которую надо осуществить
вход, после чего ввести пароль администратора (имеется в виду пароль встроенной
учетной записи Administrator). Многие дисковые ошибки можно устранить, введя в
консоли аварийного восстановления команду chkdsk (буква системного диска):. Для
получения полного списка команд можно набрать команду help. Теперь поговорим о
конкретных STOP-сообщениях и причинах их возникновения.
STOP 0х0000000А - IRQL_NOT_LESS_OR_EQUAL
Это сообщение STOP, известное также под названием STOP OxOA, указывает на то,
что процесс режима ядра пытался получить доступ к участку памяти на слишком
высоком уровне запроса прерывания (Interrupt Request Level - IRQL), в то время
как такие процессы могут получать доступ только к процессам с IRQL, не более
высоким, чем их собственный. Чаще всего эта ошибка вызвана ошибкой в драйверах.
Если вы недавно установили новый драйвер, то следует откатиться до предыдущей
версии драйвера, благо в Windows XP и 2003 функция отката драйверов является
встроенной. Часто вместе с кодом ошибки выводится и имя сбойного файла драйвера.
Прежде чем откатывать драйвер, попробуйте перезаписать этот файл его копией из
дистрибутива драйвера - иногда это помогает.
STOP 0x000000IE - KMODE_EXCEPTION_NOT_HANDLED
Это сообщение STOP, известное также как STOP 0xlE, указывает на то, что процесс
режима ядра пытался выполнить недопустимую инструкцию. Эта ошибка также часто
связана с драйверами, но может проявиться в результате изменения настроек BIOS,
особенно связанных с оперативной памятью (к примеру, включения функции
кэширования памяти).
STOP 0x00000024 - NTFS_FILE_SYSTEM
Это сообщение, известное также как STOP 0x24, указывает на проблему с драйвером
Ntfs.sys, позволяющим системе выполнять чтение информации с томов NTFS и запись
на такие тома. Чаще всего связано с ошибками на жестком диске. Рекомендую
выполнить проверку диска с помощью консоли аварийного восстановления, как
указано выше. Также не помешает переписать файл Ntfs.sys. Дело в том, что
некоторые нехорошие программы (особенно связанные с прозрачной архивацией и
т.п.) могут перезаписать этот файл своей кривой версией. В таком случае из-под
консоли аварийного восстановления выполните команду COPY (буква привода
компакт-дисков):\i386\ntfs.sy_\%SystemRoot^\system32\ntfs.sys, на вопрос о
перезаписи ответить Y (да). Использованием команды COPY можно восстановить
практически любой файл системы из дистрибутива Windows.
STOP 0х0000002Е - DATA_BUS_ERROR
Появление сообщения STOP 0x2E обычно указывает на ошибку четности в системной
памяти. Эта ошибка всегда вызывается проблемами с аппаратными средствами,
ошибками, допущенными при их конфигурировании, а также несовместимыми или
дефектными аппаратными средствами. Эта ошибка часто может указать на сбойную
оперативную память, а также на проблемы с материнской платой.
STOP 0x00000050 - PAGE_FAULT_IN_NONPAGED_AREA
Эти сообщения (STOP 0x50) появляются, когда запрошенные данные не найдены в
памяти. Система при этом генерирует так называемую страничную ошибку, или
страничное прерывание (page fault), которое при обычных условиях означает, что
система ищет данные в файле подкачки (paging file). В этом случае, однако,
искомые данные идентифицируются системой как находящиеся в резидентном пуле (nonpaged
pool), а это значит, что они ни при каких обстоятельствах не могли быть сброшены
на диск. Таким образом, система не может найти требуемые данные и,
следовательно, не может продолжать работу. Этот тип ошибки может быть вызван
дефектными аппаратными средствами, некорректно работающим системным сервисом,
резидентным антивирусным программным обеспечением, несовместимым с операционной
системой, и повреждениями файловой системы NTFS.
STOP 0x00000077 - KERNEL_STACK_INPAGE_ERROR
Сообщения STOP (STOP 0x77) указывают, что ядро не может прочесть запрошенную
страницу из файла подкачки. Эта ошибка указывает на проблемы с жестким диском
или его контроллером. Еще она может быть связана с проблемным драйвером
SCSI-адаптера в случае, если вы используете SCSI-диск для хранения файла
подкачки, а кроме того - с проблемами прерываний.
STOP 0x00000079 - MISMATCHED_HAL
Эти сообщения (STOP 0x79) появляются при несовпадении уровня аппаратных
абстракций (HAL) и ядра или типа компьютера, в основном, при смешении
конфигурационных файлов однопроцессорной и многопроцессорных систем в пределах
одной системы. Очень редкая ошибка, но последнее время я сталкиваюсь с ней очень
часто. Некоторые программы для модификации boot-screen могут изменить версию
файла ядра системы, в результате чего и возникает эта ошибка. Если вы увидели
эту ошибку, восстановите файл ntoskrnl.exe из дистрибутива Windows.
STOP 0x00000078 - INACCESSIBLE_BOOT_DEVICE
Это сообщение (STOP 0x7B) появляется в процессе запуска системы и указывает на
то, что в процессе загрузки система потеряла доступ к загрузочному диску. Кроме
поврежденных драйверов жесткого диска и ошибок на нем, это STOP-сообщение может
быть вызвано некорректной работой режима Serial ATA, а также проблемами с RAID.
STOP 0X0000007F - UNEXPECTED_KERNEL_MODE_TRAP
Сообщения STOP 0x7F указывают на фатальную ошибку, вызванную программным
прерыванием. Практически всегда она вызвана аппаратным сбоем. Если эта ошибка
стала возникать достаточно часто, следует внимательно протестировать все
аппаратное обеспечение - какая-то деталь нуждается в замене! Кроме того, она
может указать на неудачный разгон процессора - понизьте тактовую частоту до
номинала.
STOP 0x0000021 А - STA TUS_SYSTEM_PROCESS_ TERMINA TED
Редкий случай, когда сообщение STOP вызвано сбоем сервиса, работающего не в
режиме ядра, а в режиме пользователя. Это сообщение (STOP OxC2lA) появляется,
когда одна из подсистем (например, Winlogon или CSRSS) настолько повреждена, что
операционная система не может гарантировать безопасности и переключается в режим
ядра с генерацией этой ошибки. Если вы недавно устанавливали какое-либо
программное обеспечение, то, скорее всего, оно не полностью совместимо с вашей
версией Windows. Возможно, ПО появилось на компьютере без вашего ведома -
проверьте диски на предмет вирусов и spyware.
STOP 0x00000221 - STATUS_IMAGE_CHECKSUM_MISMATCH
Это сообщение STOP (STOP 0xC221) указывает на повреждение драйвера или
системного файла DLL. Как правило, в сообщении STOP указывается имя файла,
вызвавшего проблему. Восстановите поврежденный файл из дистрибутива, и все будет
ОК.
В этой статье нашли отражение только самые распространенные STOP-сообщения, ведь
на краткое описание их всех не хватило бы и десяти статей. Получить информацию
по конкретной ошибке всегда можно в Microsoft Knowledge Database (База знаний
"Майкрософт") на сайте сайт