Настройка и оптимизация операционных систем

Устранение неполадок при возникновении Blue Screen Of Death (BSOD)

Напечатать страницу


Ошибки возникновения "Синих экранов смерти" и описание некоторых из них. Если вы получили одну из этих ошибок, запустите отладчик ядра (kerneldebugger) и напечатайте следующие команды:

kb
!process 0 7
!vm
!errlog

Примечание: BUGCODES.H and EXLEVELS.H are both in the Windows NT DDK.

Или просто посмотрите, если здесь есть решения для вашего стопа. Когда ищите описание ошибки, смотрите не столько на номер, сколько на название, потому что в системах NT-2000-XP номера могут отличаться. Так же советую читать не только то, что написано для Вашей системы, но и для других 2-х, потому что все три системы схожи и решения близки.

Ниже приведены самые часто встречающиеся ошибки. Дано их описание и решения.

FATAL_UNHANDLED_HARD_ERROR 0x0000004C

Если ошибка появиться во время загрузки NT, загрузка прервётся синим экраном. Наиболее частые причины:

  1. x218 - необходимая библиотека реестра не может быть загружена. Этот файл может отсутствовать или быть повреждённым. Чтобы решить эту проблему, вам понадобиться загрузочная дискета.
  2. Драйвер может иметь повреждённый ключ реестра во время загрузки в память, или память, в которую происходила загрузка этого ключа, может быть и не память на самом деле. Особенно AST EISA машины с 16М и выше памятью должны иметь доступ к памяти выше 16М, т.е. в утилите конфигурации EISA этот параметр должен быть ENABLED (разрешён). Иначе файл, который загрузится в ту память, при чтении покажет - 0xffffffff.
  3. x21A - или Winlogon или CSRSS (Windows) "умерли" внезапно. Выходящий код может сказать больше. Обычно это - c0000005, что говорит о том, что неподдерживаемое исключение рухнуло в том или другом процессе. Здесь вы не так много можете сделать по этому поводу.
  4. x221 - означает, что драйвер повреждён или системная библиотека была распознана, как повреждённая. NT делает всё, чтобы проверять нетронутость важных системных файлов. Синий экран показывает имя повреждённого файла. Если такое случилось, загрузитесь в любую другую систему или, если таковых нет, переустановите систему... Убедитесь, что версия файла, который был выявлен, как повреждённый, совпадает с версией файла в дистрибутиве NT и если так, то замените его с диска. Постоянные ошибки с разными именами файлов означают проблемы с железом в I/O пути драйвера.
 
NO_PAGES_AVAILABLE 0x0000004D

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

  1. количество использованных страниц
  2. кол-во физических страниц на машине
  3. Extended commit value in pages
  4. Total commit value in pages

Если отладчик (kernel debugger) доступен, печатайте следующие команды:

!process 0 7
!vm
dd mmpagingfiles
dd @$p

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

 
PFN_LIST_CORRUPT 0x0000004E

Причина - повреждённая/неисправная I/O структура драйвера. Параметры:

  1. значение 1
  2. значение ListHead, которое повреждено
  3. число доступных страниц
  4. 0
  1. значение 2
  2. данные, которые удаляются
  3. наивысшее число физических страниц
  4. итог удаляемых данных
 
PAGE_FAULT_IN_NONPAGED_AREA 0x00000050

Появляется, когда запрошенная информация не была найдена в памяти. Система проверяет файл подкачки (page file), но отсутствующая информация была обозначена, как невозможная для записи в файл подкачки (page file). Дополнительная информация. Если это случилось на Terminal Server, проверьте драйвера третьей стороны для принтера. Параметры:

  1. указывает на адрес в памяти, который допустил ошибку
  2. тип обращения ( 0x00000000 = операция чтения, 0x00000001 = операция записи )
  3. если параметр не нулевой, то он показывает адрес инструкции, ссылающийся на адрес памяти в первом параметре.
 
REGISTRY_ERROR 0x00000051
MAILSLOT_FILE_SYSTEM 0x00000052
NO_BOOT_DEVICE 0x00000053
LM_SERVER_INTERNAL_ERROR 0x00000054
DATA_COHERENCY_EXCEPTION 0x00000055
INSTRUCTION_COHERENCY_EXCEPTION 0x00000056
XNS_INTERNAL_ERROR 0x00000057

Что-то случилось с реестром. Если отладчик (kernel debugger) доступен, отследите ошибку. Если он вам покажет, что вы в ветке системы (CmpWorker будет присутствовать в перечне), введите следующие команды:

dd CmpRegistryMutex+18 L1
!thread

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

  1. значение 1 (указывает, где появилась ошибка)
  2. значение 2 (указывает, где появилась ошибка)
  3. может указывать на библиотеку
  4. может быть возвратным кодом HvCheckHive'а, если какая-либо библиотека повреждена
 
FTDISK_INTERNAL_ERROR 0x00000058
PINBALL_FILE_SYSTEM 0x00000059
CRITICAL_SERVICE_FAILED 0x0000005A
SET_ENV_VAR_FAILED 0x0000005B
HAL_INITIALIZATION_FAILED 0x0000005C
HEAP_INITIALIZATION_FAILED 0x0000005D
OBJECT_INITIALIZATION_FAILED 0x0000005E
SECURITY_INITIALIZATION_FAILED 0x0000005F
PROCESS_INITIALIZATION_FAILED 0x00000060
HAL1_INITIALIZATION_FAILED 0x00000061
OBJECT1_INITIALIZATION_FAILED 0x00000062
SECURITY1_INITIALIZATION_FAILED 0x00000063
SYMBOLIC_INITIALIZATION_FAILED 0x00000064
MEMORY1_INITIALIZATION_FAILED 0x00000065
CACHE_INITIALIZATION_FAILED 0x00000066

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

 
CONFIG_INITIALIZATION_FAILED 0x00000067
FILE_INITIALIZATION_FAILED 0x00000068

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

  1. 5
  2. указывает на NTOS\CONFIG\CMSYSINI, который потерпел неудачу.
 
IO1_INITIALIZATION_FAILED 0x00000069
LPC_INITIALIZATION_FAILED 0x0000006A

Инициализация I/O системы не удалась по каким-либо причинам. Больше, практически, никакой информации нет. Такое могло случиться, если установка приняла не правильное решение по поводу инсталляции системы, или пользователь переконфигурировал систему.

 
PROCESS1_INITIALIZATION_FAILED 0x0000006B
REFMON_INITIALIZATION_FAILED 0x0000006C
SESSION1_INITIALIZATION_FAILED 0x0000006D
SESSION2_INITIALIZATION_FAILED 0x0000006E
SESSION3_INITIALIZATION_FAILED 0x0000006F
SESSION4_INITIALIZATION_FAILED 0x00000070

Параметры:

  1. указывает на код статуса, который решил, что инициализация NT не прошла успешно.
  2. указывает на место в NTOS\PS\PSINIT.C, где ошибка была обнаружена.
 
SESSION5_INITIALIZATION_FAILE 0x00000071
ASSIGN_DRIVE_LETTERS_FAILED 0x00000072

Это коды кодов (SESSION1 - SESSION5) указывают место в NTOS\INIT\INIT.C, где была допущена ошибка. Параметры:

  1. указывает код статуса, который решил, что инициализация NT не прошла успешно.
 
CONFIG_LIST_FAILED 0x00000073

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

  1. 5
  2. Код состояния Windows указывает на то, что система обнаружила невозможность подключения куста
  3. Индекс раздела реестра в списке разделов
  4. Указатель UNICODE_STRING содержащий имя файла раздела реестра.
 
BAD_SYSTEM_CONFIG_INFO 0x00000074

Эта ошибка может показывать то, что библиотека SYSTEM, загружаемая OSLOADER/NTLDR, повреждена. Тем не менее, это практически невозможно, так как OSLOADER всегда проверяет библиотеки после загрузки и убеждается, что они не повреждены.

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

 
CANNOT_WRITE_CONFIGURATION 0x00000075

Эта ошибка может появиться, если файлы SYSTEM библиотеки (SYSTEM и SYSTEM.ALT) не могут достичь accommodate additional data записанные в hive между инициализациями реестра и первой фазы (когда файловые системы доступны). Эта ошибка обычно означает, что на диске нет свободного места, так же это может произойти при попытке сохранить реестр на устройстве "только чтение".

 
PROCESS_HAS_LOCKED_PAGES 0x00000076

Эта ошибка может возникнуть по причине драйвера, который не полностью вычищен после I/O операции. Параметры:

  1. адрес процесса
  2. число замкнутых страниц
  3. число частных страниц
  4. 0
 
KERNEL_STACK_INPAGE_ERROR 0x00000077
PHASE0_EXCEPTION 0x00000078

Запрошенная страница ядра не может быть прочтена. Причина ошибки может быть в плохом блоке файла виртуальной памяти или ошибки контролера диска (очень редко, когда причиной может быть нехватка ресурсов, а конкретней, резерв nonpaged pool (невиртуальной памяти) со статусом c0000009a [STATUS_INSUFFICIENT_RESOURCES]).

Если первый и второй параметры кода ошибки равны 0, означает, что место ошибки в ядре не было найдено. Значит, эта ошибка вызвана плохим оборудованием.

I/O статус c000009c (STATUS_DEVICE_DATA_ERROR) или C000016AL (STATUS_DISK_OPERATION_FAILED) обычно означает, что информация не может быть прочитана из-за плохого блока в памяти. После перезагрузки автоматическая проверка диска попытается определить адрес плохого блока в памяти. Если статус будет C0000185

(STATUS_IO_DEVICE_ERROR) и виртуальная память находиться на SCSI диске, то должно быть проверено подключение и срок годности. Параметры:

  1. 0
  2. 0
  3. значение PTE на момент ошибки
  4. адрес ошибки ядра
  1. код статуса
  2. I/O код статуса
  3. номер страницы виртуальной памяти
  4. Компенсация в страничный файл
 
MISMATCHED_HAL 0x00000079

Уровень проверки HAL и тип конфигурации HAL не подходят ядру системы или типу машины. Такая ошибка, скорее всего, вызвана тем, что пользователь вручную обновил либо NTOSKRNL.EXE либо HAL.DLL. Или на машине мультипроцессорный HAL (MP) и мультипроцессорное ядро (UP), или наоборот. Параметры:

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

    3 - больший уровень HAL.DLL
2. несовпадение типов бильдов, в этом случае параметры 2 и 3:
      2 - тип бильда NTOSKRNL.EXE

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

      типы бильдов:

      0 -

      1 -

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

2 - тип машины, определённый NTDETECT.COM
значение 2 означает, что компьютер - MCA
3 - тип машин, которые этот HAL поддерживает
значение 2 означает, что этот HAL сделан для MCA

 
KERNEL_DATA_INPAGE_ERROR 0x0000007A

Не может быть прочитана запрашиваемая ядром страница памяти. Ошибка вызвана плохим блоком в памяти или ошибкой контроллера диска. Параметры:

  1. тип блока который повис
  2. статус ошибки (обычно I/O код статуса)
  3. текущий процесс (виртуальный адрес для лока типа 3 или PTE)
  4. адрес виртуальной памяти, который не может войти в файл подкачки
Дополнительная информация
 
INACCESSIBLE_BOOT_DEVICE 0x0000007B
BUGCODE_PSS_MESSAGE 0x0000007C

В процессе инсталляции I/O системы, драйвер загрузочного устройства, возможно, не смог инициализировать устройство, с которого система пыталась загрузиться, или файловая система, которая должна была прочитать это устройство, либо не смогла инициализироваться, либо просто не распознала информацию на устройстве, как структуру файловой системы. Дополнительная информация. В случае составителя, первый аргумент - это адрес уникодовой структуры информации, которая является ARC именем устройства, с которого была попытка загрузиться. Во втором случае, первый аргумент - это адрес объекта устройства, которое не может быть смонтировано.

Если эта ошибка возникла при начальной инсталляции системы, то она может означать, что система была установлена на диск или SCSI контроллер, которые ей не поддерживаются. Имейте в виду, что некоторые контроллеры поддерживаются только драйверами из виндовских библиотек (WDL), которые должны быть установлены выборочной установкой.

При запуске компьютера с системой Windows 7 после изменения режима SATA для загрузочного диска. Дополнительная информация

Эта ошибка так же может произойти после установки нового SCSI адаптера или контроллера или после изменений системной партиции. В этом случае, на x86 системах, нужно отредактировать BOOT.INI; на ARC системах, нужно запустить Setup. Для большей информации, как должен быть изменён BOOT.INI, смотрите Windows NT Advanced Server "Administrator's Guide".

Если аргумент указывает на ARC имя стринга (string), формат первых двух (это только в этом случае) длинных слов будет:

USHORT Length;
USHORT MaximumLength;
PVOID Buffer;

Например, если первое длинное слово содержит что-то типа 00800020, где 20 длина Уникодового стринга (Unicode string), и следующее длинное слово будет содержать адрес буфера.

Если аргумент указывает на объект устройства, формат первого слова будет: USHORT Type;

Значит, первое слово содержит 0003, где Type код всегда будет 0003.

Примечание: Вы сразу сможете опознать, указывает ли аргумент на ARC имя или на объект устройства, так как Уникодовый стринг (Unicode string) никогда не содержит нечётное число байтов, а объект устройства всегда будет содержать тип кода - 3. Параметры:

  1. указатель на объект устройства или Уникодовый стринг (Unicode string), или ARC имя.
 
Продолжение...  
Похожие публикации
Комментарии (0)

Комментариев нет.

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





Консультация специалиста

Консультант по Windows Если у вас есть вопрос по Windows или работе с ПК, вы можете задать его нашему консультанту.

Бесплатно и без регистрации!

Задать вопрос

Работа в нашей коменда
Опрос
Какая ОС вам больше нравится?





Результаты опросов
Разработка
  • Разработка сайта: Роман Чернышов