Устранение неполадок при возникновении Blue Screen Of Death (BSOD)-2
Ошибки возникновения "Синих экранов смерти"
и описание некоторых из них.
Если вы получили одну из этих ошибок, запустите отладчик ядра (kerneldebugger)
и напечатайте следующие команды:
kb
!process 0 7
!vm
!errlog
Примечание: BUGCODES.H and EXLEVELS.H are both in the Windows NT DDK.
Или просто посмотрите, если здесь есть решения для вашего стопа.
Когда ищите описание ошибки,
смотрите не столько на номер, сколько на название, потому что в системах
NT-2000-XP номера могут отличаться. Так же советую читать не только
то, что написано для Вашей системы, но и для других 2-х, потому что все
три системы схожи и решения близки.
Ниже приведены самые часто встречающиеся ошибки. Дано их описание и решения.
INSTALL_MORE_MEMORY
0x0000007D
Не хватает памяти, чтобы загрузить Windows NT (необходимо 5 MB). Параметры:
номер найденных физических страниц
нижняя физическая страница
высшая физическая страница
0
0x0000007E
Это может случиться, когда системная генерирует исключение, которое поддержка ошибок (error handler) не может уловить.
Причины:
Не хватает дискового пространства.
Если ошибка появилась после первой перезагрузки во время установки
Windows или сразу после того, как установка завершилась, на жёстком
диске может быть не достаточно места, чтобы запустить Windows.
Несовместимость BIOS. Если ошибка появилась после первого рестарта
во время установки Windows или сразу после того, как установка
завершилась, BIOS может быть несовместим с Windows.
Несовместимые драйвера видео адаптера
Повреждённый Random Access Memory (RAM).
Повреждённый драйвер оборудования или системный сервис.
Несовместимая программа третьей стороны удалённого управления. Если
ошибка ассоциируется с Win32k.sys файлом, это может быть из-за
программы третьей стороны удалённого управления компьютером
UNEXPECTED_KERNEL_MODE_TRAP
0x0000007F
Эта ошибка означает, что произошло непредвиденное прерывание в
режиме ядра, или вид прерывания, которое ядро не разрешает иметь или
получить (захват(a bound trap)), или вид прерывания, которое влечёт за
собой немедленную смерть (двойная ошибка(double fault)). Первое число в
интервалах кода бага - число прерывания (8 = double fault). Чтобы
узнать больше, что это за прерывание, обратитесь к мануалу Intel x86
семьи.
Пользуясь отладчиком ядра (kernel debugger), KB и !TRAP в подходящем
фрейме (который будет EBP, что идёт вместе с процедурой KiTrap--at
минимум на x86 машинах) покажет, откуда прерывание взялось.
В общем, баг появляется, когда процессор допускает ошибку, с которой
ядро не может справиться. Чаще всего возникает из-за плохого RAM, так
же из-за разгона процессора.
Попробуйте отменить в BIOS - sync negotiation (синхронная передача данных).
NMI_HARDWARE_FAILURE
0x00000080
SPIN_LOCK_INIT_FAILURE
0x00000081
HAL должен сообщить всю конкретную информацию, которую имеет, и
предложить пользователю обратиться к его поставщику оборудования за
поддержкой.
SETUP_FAILURE
0x00000085
Примечание: текстовая форма setup
больше не использует проверку ошибок (bugcheck), чтобы выйти из
серьёзных ошибок. Поэтому вы никогда не столкнётесь с 0x85. Все
проверки багов были заменены на более дружелюбные и (где возможно)
более информативные сообщения об ошибках. Тем не менее, некоторые
составители ошибок просто были заменены нашими bugcheck экранами, и код
для этих состояний ошибок такой же, как и был. Они приведены ниже.) 0:
OEM HAL шрифт - недействительный формат файла *.fon, поэтому установка
не смогла отобразить текст. Это означает, что vgaxxx.fon на CD или
флоппи повреждён.
1: Не смогло инициализироваться видео. Эта ошибка имеет собственный
экран и пользователю предоставляется только 2 варианта.
Это означает, что файл vga.sys (или другой драйвер, в зависимости от
машины) повреждён, или то, что данное оборудование не поддерживается Причина ошибки:
0: NtCreateFile of devicevideo0
1: IOCTL_VIDEO_QUERY_NUM_AVAIL_MODES
2: IOCTL_VIDEO_QUERY_AVAIL_MODES
3: Желаемый режим видео не поддерживается. Это означает внутреннюю ошибку установки.
4: IOCTL_VIDEO_SET_CURRENT_MODE (невозможно установить режим видео)
5: IOCTL_VIDEO_MAP_VIDEO_MEMORY
6: IOCTL_VIDEO_LOAD_AND_SET_FONT (3 - код статуса NT API вызова)
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
0x0000008B
Эта ошибка возникает в процессе загрузки, когда контрольная сумма
MBR, которую посчитала система, не совпадает с контрольной суммой
загрузчика. Обычно это означает вирус. Некоторые вирусы не могут быть
определены/найдены. Загрузитесь с дискеты с вирус-сканером (убедитесь,
что дискета защищена от записи!)
KerBugCheckEx Параметры:
Это сообщение появляется, если инициализация фазы 0 менеджера Plug
and Play не прошла на стадии инициализации ядра (kernel-mode Plug and
Play Manager failed).Вообще-то нет ничего такого, что бы могло вызвать
эту ошибку.
PP1_INITIALIZATION_FAILED
0x00000090
Это сообщение появляется, если инициализация фазы 1 менеджера Plug
and Play не прошла на стадии инициализации ядра (kernel-mode Plug and
Play Manager failed). Вот здесь происходят практический все
инициализации, включая конфигурацию среды (реестр и т.д.) драйверов для
вызова I/O впоследствии.
UP_DRIVER_ON_MP_SYSTEM
0x00000092
Этот баг появляется только когда UNIPROCESSOR драйвер загружается на систему,
в которой больше чем один активный процессор.
KeBugCheckEx Параметры:
The Base address of the driver.
INVALID_KERNEL_HANDLE
0x00000093
Эта ошибка появляется, когда код ядра (kernel code), такой, как сервер,
перенаправитель (redirector), другие драйвера и так далее пытаются закрыть
handle, который не является действительным. Параметры:
указатель, с которым NtClose был вызван
0 означает, что был закрыт защищённый указатель
1 значит, был закрыт неверный указатель.
KERNEL_STACK_LOCKED_AT_EXIT
0x00000094
Это сообщение появляется, когда нить существует, в то время как её стек ядра
помечен, как не swapable.
INVALID_WORK_QUEUE_ITEM
0x00000096
Это сообщение появляется, когда KeRemoveQueue удаляет очередь данных, flink
или blink поле равно 0. Это практический всегда вызывается неправильным
применением кода работающей нити текущего объекта, но неправильное применение
любой очереди может привести к этому. Правило - ввод данных в очередь может быть
произведено только однажды. Когда предмет удаляется из очереди, его flink поле
равно 0. Этот баг возникает, когда происходит попытка удалить данные, flink или
blink поля которых равны 0. Для того, чтобы разрешить этот баг, вам необходимо
выяснить очередь, на которую он ссылается. Если эта очередь одна из ЕХ
работающих очередей (ExWorkerQueue), тогда объект, который удаляется -
WORK_QUEUE_ITEM. Этот баг подразумевает, что это и есть причина. Параметры бага
помогают выявить драйвер, который неправильно использует очередь.
BOUND_IMAGE_UNSUPPORTED
0x00000097
MmLoadSystemImage была вызвана, чтобы загрузить bound image. Это не
поддерживается ядром. Убедитесь, что bind.exe не был запушен на картинке.
KeBugCheckEx. Параметры:
Адрес данных в очереди, flink/blink поле которых ноль.
Адрес на ссылающуюся очередь. Обычно это одна из ExWorkerQueues очередей.
Начальный адресс ExWorkerQueue массива. Это поможет выявить, если очередь в
вопросе одна из ExWorkerQueue очередей и если так, то офсет из этого параметра
выявит очередь.
Если это ExWorkerQueue очередь (как это бывает обычно), это адрес работающей
рутины, которая бы вызывалась, если работающий элемент был бы действительным.
Это может быть использовано, чтобы выявить драйвер, который неправильно
использует рабочую очередь.
END_OF_NT_EVALUATION_PERIOD
0x00000098
Ваша NT система - триал с ограниченной датой, которая подошла к концу.
KeBugCheckEx. Параметры:
Низкий 32-дитный запрос вашей даты инсталляции.
Высокий 32-дитный запрос вашей даты инсталляции.
Триал период в минутах.
INVALID_REGION_OR_SEGMENT
0x00000099
ExInitializeRegion или ExInterlockedExtendRegion были вызваны с неправильным
набором параметров.
SYSTEM_LICENSE_VIOLATION
0x0000009A
Выявился испытательный срок лицензии софта. Это может быть или из-за попытки
изменить тип продукта офлайновой системы, или попытки изменить срок триального
периода НТ. Ошибки возникновения "Синих экранов смерти"
и описание некоторых из них.
Если вы получили одну из этих ошибок, запустите отладчик ядра (kerneldebugger)
и напечатайте следующие команды:
kb
!process 0 7
!vm
!errlog
Примечание: BUGCODES.H and EXLEVELS.H are both in the Windows NT DDK.
Или просто посмотрите, если здесь есть решения для вашего стопа.
Когда ищите описание ошибки,
смотрите не столько на номер, сколько на название, потому что в системах
NT-2000-XP номера могут отличаться. Так же советую читать не только
то, что написано для Вашей системы, но и для других 2-х, потому что все
три системы схожи и решения близки.
Ниже приведены самые часто встречающиеся ошибки. Дано их описание и решения.
MACHINE_CHECK_EXCEPTION
0x0000009C
Фатальная ошибка Machine Check Exception (проверка машины).
KeBugCheckEx
Если процессор имеет ТОЛЬКО MCE функции доступными (например: Intel Pentium),
то параметры:
Low 32 bits of P5_MC_TYPE MSR
.
High 32 bits of P5_MC_ADDR MSR
Low 32 bits of P5_MC_ADDR MSR
Если процессор имеет так же MCA функции доступными (например: Intel Pentium
Pro), то параметры:
Применяется к Microsoft Windows 2000 Причиной этого стопа является драйвер устройства, который не выдержал вызова на переход в другое состояние электропитания.
Вы должны обновить или удалить неработоспособный драйвер устройства или
драйвер-фильтр файловой системы (file system filter driver), который,
возможно, был установлен антивирусной программой, программой удалённого
доступа или ПО CDW/CDRW
VIDEO_DRIVER_INIT_FAILURE
0x000000B4
Windows не удалось перейти в графический режим, потому
что ни один видео драйвер не был загружен. Обычно проблема с драйвером
или какой-то конфликт видео оборудования с другим оборудованием.
Загрузитесь в Safe Mode и посмотрите, если это решит проблему. Если
так, то обновите драйвера видео оборудования или откатите на рабочую
версию
ATTEMPTED_WRITE_TO_READONLY_MEMORY
0x000000BE
Применяется к Windows 2000 Datacenter Server Драйвер
попытался записать в read-only (только чтение) память. Обычно возникает
после установки неисправного драйвера оборудования, системного сервиса,
BIOS `a. Если имя драйвера указано в ошибке, попытайтесь исправить
проблему отключением, удалением или откаткой драйверов.
Дополнительная информация.
Процесс ядра или драйвер попытались неверно произвести
операцию с памятью. Обычно причиной являются неисправные драйвера или
софт.
DRIVER_VERIFIER_DETECTED_VIOLATION
0x000000C4
This is the general bug check code for fatal errors that the Driver Verifier
finds. The accompanying parameters are the parameters that are passed to
KeBugCheckEx and displayed on a blue screen. (ошибка 0x000000C4 возникает, если в проверкеотключить обнаружение взаимоблокировок в проверке драйверов драйверов включено обнаружение взаимоблокировок) Чтобы устранить проблему, следует
DRIVER_CORRUPTED_EXPOOL
0x000000C5
Почти всегда причиной является неисправный драйвер.
Если вы только что установили новое программное обеспечение, проверьте
обновление его драйверов на сайте производителя. Дополнительная информация.
DRIVER_CAUGHT_MODIFYING_FREED_POOL
0x000000C6
A driver tried to access a freed memory pool. Replace the driver.
TIMER_OR_DPC_INVALID
0x000000C7
A kernel timer or Delayed Procedure Call (DPC) was found somewhere in memory
where it is not permitted. This is usually caused by a driver’s failure to
cancel the timer or the DPC before freeing the memory in which the timer or DPC
resides.
DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS
0x000000CB
This is related to Stop Code 0x76. It appears instead of 0x76 if diagnostic
tracking is enabled as described in the General Discussion article below. It
indicates that a driver or the I/O manager failed to release locked pages after
an I/O operation. Note the name of the problem driver on the blue error screen.
DRIVER_IRQL_NOT_LESS_OR_EQUAL
0x000000D1
Была сделана попытка затронуть виртуальную память на внутреннем процессе IRQ уровня, который слишком высок. Возможные причины:
- Неполадки в работе драйвера
- Неполадки в работе модуля памяти
- Поврежден файл подкачки
RESOURCE_NOT_OWNED
0x000000E3
Сбой файловой системы NTFS. Эта ошибка возникает, когда ресурсы высвобождаются дважды в Ntfs.sys.
THREAD_STUCK_IN_DEVICE_DRIVER
0x000000EA
Обычно драйвер дисплея ожидает отклика от оборудования
перешедшего в неактивный режим когда оборудование перейдёт в спящий
режим. Проблема может быть с видео адаптером или его драйвером. Для
устранения проблемы необходимо установить последнюю версию драйвера
видеокарты
UNMOUNTABLE_BOOT_VOLUME
0x000000ED
I/O система ядра пыталась смонтировать устройство для
загрузки системы, а оно отказалось работать. Такая ошибка может
возникнуть во время обновления до Windows XP на систему, где
используется высокопроизводительные ATA диски или контроллеры, а
подсоединены они низкопропускным кабелем. (Смените 40-wire кабель на
80-wire UDMA кабель). В некоторых случаях, после перезагрузки, система
может продолжать работать без видимых сбоев. В BIOS загрузите
`Fail-Safe` установки по умолчанию и потом сконфигурируйте самые важные
его компоненты. Дополнительная информация.
UNKNOWN_HARD_ERROR
0xC0000218
Такое поведение может наблюдаться, когда необходимая
библиотека реестра повреждена или не найдена. Это может произойти из-за
повреждённого жёсткого диска или других проблем с оборудованием.
Так же проблема может появиться, если драйвер повредил информацию
реестра во время загрузки её в память, или когда память, в которую
загружается информация реестра, повреждена (в этом случае отключите
внешнюю память и проверьте чипы памяти на ошибки).
STATUS_SYSTEM_PROCESS_TERMINATED
0xC000021A
Это может случиться, когда
драйвер оборудования (.sys) не найден или повреждён.
Пропавший или повреждённый файл скорее всего тот, который упомянут в стоп-сообщени.
User32.dll не найден или повреждён.
0xC0000244
A “Stop 0xc0000244” Error Occurs When You Audit Policy Changes If
CrashOnAuditFail Is Turned On {KB 323475} Windows XP
0xC000026C
Usually indicates device driver problems.
Unable to Load Device Driver {KB 160495} Win NT, Win 2000, Win XP
MANUALLY_INITIATED_CRASH1
0xDEADDEAD
“It’s dead, Jim!” This Stop message indicates that the user deliberately
initiated a crash dump from either the kernel debugger or the keyboard. Perhaps
it goes without saying that you don’t ever want to see this error message unless
you did it on purpose!