Как расшифровать "Синий экран смерти"

Просмотров: 1096 0 13.01.2010 в 15:31:23 Компьютеры
Как расшифровать "Синий экран смерти" Как расшифровать "Синий экран смерти"
Описание багов для Windows NT, 2000, XP
Взято с Microsoft Corporation
Ошибки возникновения "Синих экранов смерти" и описание некоторых из них.

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

kb
!process 0 7
!vm
!errlog

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

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

APC_INDEX_MISMATCH ------------------------------------------------(0x00000001)
Это внутренняя ошибка ядра (kernel). Ошибка может возникнуть из-за несовпадения KeEnterCricticalRegion и KeLeaveCriticalRegion в файловой системе.

DEVICE_QUEUE_NOT_BUSY ---------------------------------------------(0x00000002)
INVALID_AFFINITY_SET --------------------------------------------------(0x00000003)
INVALID_DATA_ACCESS_TRAP ---------------------------------------(0x00000004)
INVALID_PROCESS_ATTACH_ATTEMPT ---------------------------(0x00000005)
INVALID_PROCESS_DETACH_ATTEMPT ---------------------------(0x00000006)
INVALID_SOFTWARE_INTERRUPT ------------------------------------(0x00000007)
IRQL_NOT_DISPATCH_LEVEL -------------------------------------------(0x00000008)
IRQL_NOT_GREATER_OR_EQUAL -------------------------------------(0x00000009)

IRQL_NOT_LESS_OR_EQUAL --------------------------------------------(0x0000000A) http://windxp.com.ru/stop-irql.htm
Была сделана попытка затронуть виртуальную память на внутреннем процессе IRQ уровня, который слишком высок. Если kernel debugger доступен, вы можете отследить, где именно система запнулась.
Наиболее частая причина возникновения - драйвер устройства использует неверный адрес.
Параметры:
1 - адрес, по которому выполнено ошибочное обращение
2 - IRQL, который использовался для обращения к памяти
3 - тип доступа к памяти: 0 = операция чтения, 1 = операция записи
4 - адрес инструкции, которая затребовала доступ к памяти по адресу
Прим: Имейте ввиду, что эта ошибка возникает в 99% из-за "кривых" драйверов. Некоторые из них в Windows XP вы можете обнаружить используя утилиту verifier.exe: Start (Пуск) -> Run (Выполнить) -> verifier.exe
NO_EXCEPTION_HANDLING_SUPPORT ------------------------------(0x0000000B)
MAXIMUM_WAIT_OBJECTS_EXCEEDED ---------------------------(0x0000000C)

MUTEX_LEVEL_NUMBER_VIOLATION -------------------------------(0x0000000D)
Попытайтесь установить взаимоисключения используя NTOS\EX\EXLEVELS.H файл заголовков.
Вы должны найти точки взаимодействия и определить, какие из них пытаются получить доступ к этому уровню в неверной последовательности.
Параметры:
1 - настоящая нить уровня взаимодействия
2 - уровень взаимодействия пытающийся получить доступ

NO_USER_MODE_CONTEXT ---------------------------------------------(0x0000000E)
SPIN_LOCK_ALREADY_OWNED ----------------------------------------(0x0000000F)
SPIN_LOCK_NOT_OWNED ------------------------------------------------(0x00000010)
THREAD_NOT_MUTEX_OWNER ----------------------------------------(0x00000011)
TRAP_CAUSE_UNKNOWN ------------------------------------------------(0x00000012)
EMPTY_THREAD_REAPER_LIST ----------------------------------------(0x00000013)
CREATE_DELETE_LOCK_NOT_LOCKED ------------------------------(0x00000014)
LAST_CHANCE_CALLED_FROM_KMODE ---------------------------(0x00000015)
CID_HANDLE_CREATION --------------------------------------------------(0x00000016)
CID_HANDLE_DELETION ---------------------------------------------------(0x00000017)
REFERENCE_BY_POINTER --------------------------------------------------(0x00000018)
BAD_POOL_HEADER ---------------------------------------------------------(0x00000019)
MEMORY_MANAGEMENT -------------------------------------------------(0x0000001A)
PFN_SHARE_COUNT ---------------------------------------------------------(0x0000001B)
PFN_REFERENCE_COUNT --------------------------------------------------(0x0000001C)
NO_SPIN_LOCK_AVAILABLE ---------------------------------------------(0x0000001D)

KMODE_EXCEPTION_NOT_HANDLED ---------------------------------(0x0000001E) http://windxp.com.ru/stop-kmode.htm
Это очень часто встречающаяся ошибка. Обычно исключённый адрес указывает на драйвер или функцию, которая вызвала стоп-экран. Всегда обращайте внимание не только на указанный драйвер, но и на сам адрес или имидж, содержащий эту ошибку. Обычно это код исключения 0x80000003. Эта ошибка означает, что точка прерывания или суждение было достигнуто при обращении к памяти, но система загрузилась с /NODEBUG ключа. Это ошибка не должна появляться слишком часто. Если ошибка появляется постоянно, убедитесь, что отладчик (debugger) подключён и система загружается с /DEBUG switch.
На неИнтеловских системах, если адрес исключения 0XBFC0304, ошибка появляется вследствие кэширования процессора. Если ошибка будет появляться снова, свяжитесь с производителями.
Как правило, требуется анализ второго параметра этого сообщения, который указывает на адрес драйвера/функции, которая была причиной проблемы.
Parameters:
1 - код исключительной ситуации
2 - адрес, при обработке которого произошел сбой
3 - Parameter 0 of the exception
4 - Parameter 1 of the exception

SHARED_RESOURCE_CONV_ERROR --------------------------------------(0x0000001F)

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

QUOTA_UNDERFLOW --------------------------------------------------------(0x00000021)
FILE_SYSTEM --------------------------------------------------------------------(0x00000022)
FAT_FILE_SYSTEM ------------------------------------------------------------(0x00000023)
NTFS_FILE_SYSTEM -----------------------------------------------------------(0x00000024)
NPFS_FILE_SYSTEM -----------------------------------------------------------(0x00000025)
CDFS_FILE_SYSTEM -----------------------------------------------------------(0x00000026)
RDR_FILE_SYSTEM -------------------------------------------------------------(0x00000027)
CORRUPT_ACCESS_TOKEN -------------------------------------------------(0x00000028)
SECURITY_SYSTEM ------------------------------------------------------------(0x00000029)

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

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

PORT_DRIVER_INTERNAL -----------------------------------------------------(0x0000002C)
SCSI_DISK_DRIVER_INTERNAL ---------------------------------------------(0x0000002D)

DATA_BUS_ERROR --------------------------------------------------------------(0x0000002E)
Этот стоп чаще всего вызывается ошибкой в памяти системы. Так же это может случиться, когда драйвер обращается к 0x8XXXXXXX адресу памяти, который не существует.
Параметры:
1 - адрес виртуальной памяти, который стал причиной ошибки
2 - физический адрес причины ошибки
3 - регистрация статуса процессора (PSR)
4 - регистрация инструкции ошибки (FIR)

INSTRUCTION_BUS_ERROR ----------------------------------------------------(0x0000002F)
SET_OF_INVALID_CONTEXT --------------------------------------------------(0x00000030)

PHASE0_INITIALIZATION_FAILED ------------------------------------------(0x00000031)
Инициализация системы не прошла на ранней стадии. Нужно более детально установить ошибку, так как этот код вам не говорит практический ни о чём.

UNEXPECTED_INITIALIZATION_CALL -------------------------------------(0x00000033)
CACHE_MANAGER -----------------------------------------------------------------(0x00000034)

PHASE1_INITIALIZATION_FAILED -------------------------------------------(0x00000032)
Параметры:
1 - код статуса системы, который описывает почему система решила, что инициализация не прошла
2 - указывает место внутри INIT.C, где ошибка инициализации фазы 1 произошла

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

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

FLOPPY_INTERNAL_ERROR -----------------------------------------------------(0x00000037)
SERIAL_DRIVER_INTERNAL -----------------------------------------------------(0x00000038)
SYSTEM_EXIT_OWNED_MUTEX ----------------------------------------------(0x00000039)
SYSTEM_UNWIND_PREVIOUS_USER -----------------------------------------(0x0000003A)
SYSTEM_SERVICE_EXCEPTION -------------------------------------------------(0x0000003B)
INTERRUPT_UNWIND_ATTEMPTED -----------------------------------------(0x0000003C)
INTERRUPT_EXCEPTION_NOT_HANDLED ---------------------------------(0x0000003D)

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

NO_MORE_SYSTEM_PTES --------------------------------------------------------(0x0000003F)
Не хватает РТЕ (page file entries). Обычно причиной является драйвер, который плохо вычищает файл подкачки (swap). Если отладчик ядра (kernel debugger) доступен проследите, где система запнулась и введите следующую команду:
!sysptes 3

TARGET_MDL_TOO_SMALL ----------------------------------------------------(0x00000040)
Драйвер вызвал функцию IoBuildPartialMdl() и послал ей MDL, чтобы выявить часть источника MDL, но цель MDL не достаточно большая, чтобы отобразить пределы требуемых адресов. Это ошибка драйвера. Источник и цель MDL, так же как длинна линии адресов определения являются аргументами IoBuildPartialMdl() функции:
IoBuildPartialMdl( IN PMDL SourceMdl,
IN OUT PMDL TargetMdl,
IN PVOID VirtualAddress,
IN ULONG Length )

MUST_SUCCEED_POOL_EMPTY ------------------------------------------------(0x00000041)
Если отладчик ядра (kernel debugger) доступен, команда Виртуальной Машины (VM) показывает различные величины:
Параметры:
1 - величина запроса, который не может быть удовлетворён
2 - номер страниц, которые были использованы из nonpaged pool.
3 - номер слишком больших страниц, запрашиваемых из nonpaged pool.
4 - номер доступных страниц

ATDISK_DRIVER_INTERNAL -----------------------------------------------------(0x00000042)
NO_SUCH_PARTITION --------------------------------------------------------------(0x00000043)

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

INSUFFICIENT_SYSTEM_MAP_REGS -------------------------------------------(0x00000045)
DEREF_UNKNOWN_LOGON_SESSION ------------------------------------------(0x00000046)
REF_UNKNOWN_LOGON_SESSION ----------------------------------------------(0x00000047)

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

PAGE_FAULT_WITH_INTERRUPTS_OFF ---------------------------------------(0x00000049)
Означает именно то, что пишет: ошибка страницы с выключенным прерыванием. Рассматривайте эту ошибку, так же как 0x0A.

IRQL_GT_ZERO_AT_SYSTEM_SERVICE -----------------------------------------(0x0000004A)
STREAMS_INTERNAL_ERROR ------------------------------------------------------(0x0000004B)

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

NO_PAGES_AVAILABLE -------------------------------------------------------------(0x0000004D)
Нет больше свободного места, чтобы закончить операцию. Если отладчик (kernel debugger) доступен, печатайте следующие команды:
!process 0 7
!vm
dd mmpagingfiles
dd @$p
Параметры:
1 - количество использованных страниц
2 - кол-во физических страниц на машине
3 - Extended commit value in pages
4 - Total commit value in pages

PFN_LIST_CORRUPT -----------------------------------------------------------------(0x0000004E)
Причина - повреждённая/неисправная I/O структура драйвера.
Параметры:
1. значение 1
2. значение ListHead, которое повреждено
3. число доступных страниц
4. 0
1. значение 2
2. данные, которые удаляются
3. наивысшее число физических страниц
4. итог удаляемых данных

NDIS_INTERNAL_ERROR --------------------------------------------------------(0x0000004F)

PAGE_FAULT_IN_NONPAGED_AREA --------------------------------------(0x00000050)Дополнительно: http://windxp.com.ru/stop-page.htm
Появляется, когда запрошенная информация не была найдена в памяти. Система проверяет файл подкачки (page file), но отсутствующая информация была обозначена, как невозможная для записи в файл подкачки (page file).
Если это случилось на Terminal Server, проверьте драйвера третьей стороны для принтера.
Параметры:
1. указывает на адрес в памяти, который допустил ошибку

REGISTRY_ERROR --------------------------------------------------------------------(0x00000051)
Что-то случилось с реестром. Если отладчик (kernel debugger) доступен, отследите ошибку. Если он вам покажет, что вы в ветке системы (CmpWorker будет присутствовать в перечне), введите следующие команды:
dd CmpRegistryMutex+18 L1
!thread
Это выдаст вам ветку и место ошибки, которое обращалось к реестру.
Эта ошибка так же может означать, что реестр получил ошибку I/O, когда пытался прочитать один из его файлов, отсюда следует, что ошибка могла быть вызвана проблемой с оборудованием или что сама система повреждена. Это так же может означать, что ошибка вызвана операцией обновления, которую использует только система безопасности и это только когда ресурсы на исходе. Если такая ошибка появилась, проверьте, является ли машина PDC или BDC и сколько аккаунтов в базе данных SAM (Менеджер Безопасности Аккаунтов), может ли это быть цель эхо и не заполнены ли соответствующие библиотеки почти до конца.
Параметры:
1. значение 1 (указывает, где появилась ошибка)
2. значение 2 (указывает, где появилась ошибка)
3. может указывать на библиотеку
4. может быть возвратным кодом HvCheckHive'а, если какая-либо библиотека повреждена

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)

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)
Это означает, что реестр не может создать место, необходимое для содержания файлов реестра. Это ошибка не должна никогда появляться, так как процесс создания такого места происходит на ранней стадии загрузки системы и поэтому должно быть достаточно места для создания басеина.
Параметры:
1. 5
2. указывает на NTOS\CONFIG\CMSYSINI, который потерпел неудачу.

FILE_INITIALIZATION_FAILED --------------------------------------------------(0x00000068)

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

LPC_INITIALIZATION_FAILED --------------------------------------------------(0x0000006A)

PROCESS1_INITIALIZATION_FAILED ---------------------------------------(0x0000006B)
Параметры:
1. указывает на код статуса, который решил, что инициализация NT не прошла успешно.
2. указывает на место в NTOS\PS\PSINIT.C, где ошибка была обнаружена.

REFMON_INITIALIZATION_FAILED -----------------------------------------(0x0000006C)
SESSION1_INITIALIZATION_FAILED ----------------------------------------(0x0000006D)
SESSION2_INITIALIZATION_FAILED ----------------------------------------(0x0000006E)
SESSION3_INITIALIZATION_FAILED ----------------------------------------(0x0000006F)
SESSION4_INITIALIZATION_FAILED ----------------------------------------(0x00000070)

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

ASSIGN_DRIVE_LETTERS_FAILED --------------------------------------------(0x00000072)

CONFIG_LIST_FAILED ------------------------------------------------------------(0x00000073)
Указывает, что одна из системных библиотек повреждена или не читаема. Эта библиотека может быть или SOFTWARE, или SECURITY, или SAM (Менеджера Безопасности Аккаунтов).
Параметры:
1. 5
2. 2
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)
Запрошенная страница ядра не может быть прочтена. Причина ошибки может быть в плохом блоке файла виртуальной памяти или ошибки контролера диска (очень редко, когда причиной может быть нехватка ресурсов, а конкретней, резерв 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. Компенсация в страничный файл

PHASE0_EXCEPTION ----------------------------------------------------------(0x00000078)

MISMATCHED_HAL ----------------------------------------------------------(0x00000079)
Уровень проверки HAL и тип конфигурации HAL не подходят ядру системы или типу машины. Такая ошибка, скорее всего, вызвана тем, что пользователь вручную обновил либо NTOSKRNL.EXE либо HAL.DLL. Или на машине мультипроцессорный HAL (MP) и юнипроцессорное ядро (UP), или наоборот.
Параметры:
1. тип несовпадения (1, 2 или 3):
1. несовпадение уровней выпуска 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)
Не может быть прочтена запрашиваемая ядром страница. Ошибка вызвана плохим блоком в памяти или ошибкой контроллера диска. См. также KERNEL_STACK_INPAGE_ERROR: http://windxp.com.ru/stop.htm#KERNEL_STACK_INPAGE_ERROR
Параметры:
1. тип лока который повис
2. статус ошибки (обычно I/O код статуса)
3. текущий процесс (виртуальный адрес для лока типа 3 или PTE)
4. адрес виртуальной памяти, который не может войти в файл подкачки.

INACCESSIBLE_BOOT_DEVICE ---------------------------------------------(0x0000007B) Дополнительно: http://windxp.com.ru/stop-boot.htm
В процессе инсталляции I/O системы, драйвер загрузочного устройства, возможно, не смог инициализировать устройство, с которого система пыталась загрузиться, или файловая система, которая должна была прочитать это устройство, либо не смогла инициализироваться, либо просто не распознала информацию на устройстве, как структуру файловой системы. В случае составителя, первый аргумент - это адрес уникодовой структуры информации, которая является ARC именем устройства, с которого была попытка загрузиться. Во втором случае, первый аргумент - это адрес объекта устройства, которое не может быть смонтировано.
Если эта ошибка возникла при начальной инсталляции системы, то она может означать, что система была установлена на диск или SCSI контроллер, которые ей не поддерживаются. Имейте в виду, что некоторые контроллеры поддерживаются только драйверами из виндовских библиотек (WDL), которые должны быть установлены выборочной установкой.
Эта ошибка так же может произойти после установки нового 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 имя.

BUGCODE_PSS_MESSAGE ------------------------------------------------------(0x0000007C)

INSTALL_MORE_MEMORY ---------------------------------------------------(0x0000007D)
Не хватает памяти, чтобы загрузить Windows NT (необходимо 5 MB).
Параметры:
1. номер найденных физических страниц
2. нижняя физическая страница
3. высшая физическая страница
4. 0

WINDOWS_NT_BANNER --------------------------------------------------------(0x4000007E)

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)
HAL должен сообщить всю конкретную информацию, которую имеет, и предложить пользователю обратиться к его поставщику оборудования за поддержкой.

SPIN_LOCK_INIT_FAILURE ---------------------------------------------------(0x00000081)

SETUP_FAILURE ------------------------------------------------------------------(0x00000085)
(Примечание: текстовая форма setup'a больше не использует проверку багов (bugcheck), чтобы выйти из серьёзных ошибок. Поэтому вы никогда не столкнётесь с 0x85. Все проверки багов были заменены на более дружелюбные и (где возможно) более информативные сообщения об ошибках. Тем не менее, некоторые составители ошибок просто были заменены нашими bugcheck экранами, и код для этих состояний ошибок такой же, как и был. Они приведены ниже.)

1-

0: OEM HAL шрифт недействительный формат файла *.fon поэтому сетап не смог отобразить текст. Это означает, что vgaxxx.fon на CD или флоппи повреждён.

1: Не прошла инициализация видео. Эта ошибка имеет собственный экран и пользователю предоставляется только 2 варианта.

Это означает, что файл vga.sys (или другой драйвер, в зависимости от машины) повреждён, или то, что мы не поддерживаем данное оборудование.

2 - что провалилось:
0: NtCreateFile of \device\video0
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 раскладки клавиатуры не может быть загружена.

2 - что правалилось:
0: NtCreateFile of \device\KeyboardClass0 .
"Сетап не обнаружил клавиатуру, подключённую к вашему компьютеру."
1: Unable to load keyboard layout dll.
"Сетап не может загрузить dll раскладки клавиатуры <имя файла>."
Это значит, что флоппи или CD не имеют файла (kbdus.dll для us или других dll).

4: Сетап не смог выяснить ARC обор. путь устройства, с которого он начался. Это внутренняя ошибка сетапа.

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

MBR_CHECKSUM_MISMATCH -----------------------------------------------(0x0000008B)
Эта ошибка возникает в процессе загрузки, когда контрольная сумма MBR, которую посчитала система, не совпадает с контрольной суммой загрузчика. Обычно это означает вирус. Некоторые вирусы не могут быть определены/найдены. Загрузитесь с дискеты с вирус-сканером (убедитесь, что дискета защищена от записи!)
KerBugCheckEx параметры:
1 - Disk Signature from MBR.
2 - MBR checksum calculated by osloader.
3 - MBR checksum calculated by system.

0x0000008E Дополнительно:http://windxp.com.ru/stop-08E.htm
Применяется к следующим системам:

Microsoft Windows XP Professional
Microsoft Windows XP Home Edition
Microsoft Windows XP Professional SP1
Microsoft Windows XP Home Edition SP1

Следующие баги добавлены в Windows NT версии 3.51 и 4.x:

PP0_INITIALIZATION_FAILED -----------------------------------------------(0x0000008F)
Это сообщение появляется, если инициализация фазы 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 впоследствии.

Следующие баги добавлены в Windows NT версии 4.x:

UP_DRIVER_ON_MP_SYSTEM ------------------------------------------------(0x00000092)
Этот баг появляется только когда UNIPROCESSOR драйвер загружается на систему, в которой больше чем один активный процессор.
KeBugCheckEx параметры:
1 - The Base address of the driver.

INVALID_KERNEL_HANDLE ---------------------------------------------------(0x00000093)
Эта ошибка появляется, когда код ядра (kernel code), такой, как сервер, перенаправитель (redirector), другие драйвера и так далее пытаются закрыть handle, который не является действительным.
Параметры:
1 - The handle that NtClose was called with.
2 - 0 means a protected handle was closed.
1 means an invalid handle was closed.

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 параметры:
1 - Адрес данных в очереди, flink/blink поле которых ноль.
2 - Адрес на ссылающуюся очередь. Обычно это одна из ExWorkerQueues очередей.
3 - Начальный адресс ExWorkerQueue массива. Это поможет выявить, если очередь в вопросе одна из ExWorkerQueue очередей и если так, то офсет из этого параметра выявит очередь.
4 - Если это ExWorkerQueue очередь (как это бывает обычно), это адрес работающей рутины, которая бы вызывалась, если работающий элемент был бы действительным. Это может быть использовано, чтобы выявить драйвер, который неправильно использует рабочую очередь.

END_OF_NT_EVALUATION_PERIOD ---------------------------------------(0x00000098)
Ваша NT система - триал с ограниченной датой, которая подошла к концу.
KeBugCheckEx параметры:
1 - Низкий 32-дитный запрос вашей даты инсталляции.
2 - Высокий 32-дитный запрос вашей даты инсталляции.
3 - Триал период в минутах.

INVALID_REGION_OR_SEGMENT ------------------------------------------(0x00000099)
ExInitializeRegion или ExInterlockedExtendRegion были вызваны с неправильным набором параметров.

SYSTEM_LICENSE_VIOLATION ----------------------------------------------(0x0000009A)
Выявился испытательный срок лицензии софта. Это может быть или из-за попытки изменить тип продукта офлайновой системы, или попытки изменить срок триального периода НТ.

1 - 0 - means that offline product type changes were attempted

2 - if 1, product should be LanmanNT or ServerNT.
If 0, should be WinNT
3 - partial serial number
4 - first two characters of product type from
product options.

1 - means that offline changes to the nt evaluation unit
time period

2 - registered evaluation time from source 1
3 - partial serial number
4 - registered evaluation time from alternate source

2 - means that the setup key could not be opened

2 - status code associated with the open failure

3 - The SetupType value from the setup key is missing
so GUI setup mode could not be detected

2 - status code associated with the key lookup failure

4 - The SystemPrefix value from the setup key is missing

2 - status code associated with the key lookup failure

5 - means that offline changes were made to the number of
licensed processors

2 - see setup code
3 - invalid value found in licensed processors
4 - officially licensed number of processors

KeBugCheckEx parameters:

1 - The segment address which must reside on a quadword boundary.
2 - The segment size which must be greater than the block
size plus the size of a segment header.
3 - The block size which must be a multiple of eight and
smaller than the segment size minus the size of the
segment header.

UDFS_FILE_SYSTEM -------------------------------------------------------(0x0000009B)
Смотрите комментарии FAT_FILE_SYSTEM

MACHINE_CHECK_EXCEPTION ---------------------------------------(0x0000009C)
Фатальная ошибка Machine Check Exception (проверка машины).
KeBugCheckEx параметры:
Если процессор имеет ТОЛЬКО MCE функции доступными (например: Intel Pentium), то параметры будут:

1 - Low 32 bits of P5_MC_TYPE MSR
2 -
3 - High 32 bits of P5_MC_ADDR MSR
4 - Low 32 bits of P5_MC_ADDR MSR

Если процессор имеет так же MCA функции доступными (например: Intel Pentium Pro), то параметры будут:

1 - Bank number
2 - Address field of MCi_ADDR MSR for the MCA bank that had the error
3 - High 32 bits of MCi_STATUS MSR for the MCA bank that had the error
4 - Low 32 bits of MCi_STATUS MSR for the MCA bank that had the error
Дополнительно:http://windxp.com.ru/stop-9C.htm

Следующие СТОПы появились только в Windows XP/2000 (за исключением трёхзначных)

0x0000009F: DRIVER_POWER_STATE_FAILURE
A driver is in an inconsistent or invalid power state. Typically occurs during events that involve power state transitions, such as shutting down, or moving into or out of standby or hibernate mode.

0x000000A0: INTERNAL_POWER_ERROR
0x000000A1: PCI_BUS_DRIVER_INTERNAL
0x000000A2: MEMORY_IMAGE_CURRUPT
0x000000A3: ACPI_DRIVER_INTERNAL
0x000000A4: CNSS_FILE_SYSTEM_FILTER

0x000000A5: ACPI_BIOS_ERROR
The cause of this message is always errors in the ACPI BIOS. Nothing can be done at an operating system level to fix the problem. See the articles linked here for more details.

0x000000A7: BAD_EXHANDLE
0x000000AB: SESSION_HAS_VALID_POOL_ON_EXIT
0x000000AC: HAL_MEMORY_ALLOCATION

0x000000B4: VIDEO_DRIVER_INIT_FAILURE
Windows was unable to enter graphics mode, because no video drivers were able to start. Commonly this is a video driver issue, or a hardware conflict with the video card. Reboot in Safe Mode (which uses a default VGA driver) and see if this resolves the problem. If so, try to correct the problem by disabling, removing, or rolling back the video driver.

0x000000B8: ATTEMPTED_SWITCH_FROM_DPC
0x000000B9: CHIPSET_DETECTED_ERROR
0x000000BA: SESSION_HAS_VALID_VIEWS_ON_EXIT
0x000000BB: NETWORK_BOOT_INITIALIZATION_FAILED
0x000000BC: NETWORK_BOOT_DUPLICATE_ADDRESS

0x000000BE: ATTEMPTED_WRITE_TO_READONLY_MEMORY
A driver attempted to write to read-only memory. Commonly occurs after installing a faulty device driver, system service, or firmware. If a driver file is named in the error message, try to correct the problem by disabling, removing, or rolling back the driver. Дополнительно:http://windxp.com.ru/stop-BE.htm

0x000000BF: MUTEX_ALREADY_OWNED

0x000000C1: SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION
A driver wrote to a n invalid section of the special memory pool. You need a new driver!
Дополнительно:http://windxp.com.ru/stop-special.htm

0x000000C2: BAD_POOL_CALLER
A kernel-mode process or driver incorrectly attempted to perform memory operations. Typically, a faulty driver or buggy software causes this.

0x000000C4: DRIVER_VERIFIER_DETECTED_VIOLATION
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.

0x00000

Источник: сайт міста Добропілля

Система комментирования SigComments
ComForm">
avatar
Наверх