Синий экран смерти (англ. Blue Screen of Death, BSoD) — название сообщения о критической системной ошибке в операционных системах Windows. Существует три вида сообщений BSOD: для семейства Windows 95/98/Me, для семейства Windows NT/2000/XP/2003/Vista/7 и для семейства Windows CE.
0x00000001
Это внутренняя ошибка ядра (kernel). Ошибка может возникнуть из-за несовпадения KeEnterCricticalRegion и KeLeaveCriticalRegion в файловой системе.
0x0000000A, а также 0x00000009; 0x00000008; 0x00000007; 0x00000006; 0x00000005; 0x00000004; 0x00000003; 0x00000002
Была сделана попытка затронуть виртуальную память на внутреннем процессе IRQ уровня, который слишком высок. Если kernel debugger доступен, вы можете отследить, где именно система запнулась. Наиболее частая причина возникновения — драйвер устройства использует неверный адрес. Имейте в виду, что в 99% случаев эта ошибка возникает из-за, мягко говоря, некачественных драйверов.
0x0000000D, а также 0x0000000B; 0x0000000C
Попытайтесь установить взаимоисключения, используя NTOS\EX\EXLEVELS.H файл заголовков. Вы должны найти точки взаимодействия и определить, какие из них пытаются получить доступ к этому уровню в неверной последовательности.
0x0000001E, а также 0x0000000E; 0x0000000F; 0x00000010; 0x0000011; 0x0000012; 0x0000013; 0x0000014; 0x0000015; 0x0000016; 0x0000017; 0x0000018; 0x0000019; 0x000001A; 0x000001B; 0x000001C; 0x000001D
Это очень часто встречающаяся ошибка. Обычно исключенный адрес указывает на драйвер или функцию, которая вызвала стоп-экран. Всегда обращайте внимание не только на указанный драйвер, но и на сам адрес, содержащий эту ошибку. Обычно это код исключения 0x80000003. Эта ошибка означает, что точка прерывания или суждение была достигнута при обращении к памяти, но система загрузилась с /NODEBUG-ключа. Эта ошибка не должна появляться слишком часто. Если она появляется постоянно, убедитесь, что отладчик (debugger) подключен, и система загружается с /DEBUG switch. На неинтеловских системах, если адрес исключения 0XBFC0304, ошибка появляется вследствие кэширования процессора. Если ошибка будет появляться снова, свяжитесь с производителями. Как правило, требуется анализ второго параметра этого сообщения, который указывает на адрес драйвера/функции, которая была причиной проблемы.
0x00000020, а также 0x0000001F
Название ошибки указывает на поврежденный/отключенный APC счетчик. Если счетчик показывает значение, не равное нулю, то он и есть источник проблемы. Отрицательное значение указывает на то, что файловая система вызывала FsRtlEnterFileSystem большее количество раз, чем FsRtlExitFileSystem. Положительное значение — что, наоборот, FsRtlExitFileSystem было вызвано большее количество раз, чем FsRtlEnterFileSystem. Если у вас такая ситуация, проверьте все файловые системы, установленные на машине. Сторонние перенаправители более всего подозреваются в сбое, так как они не были так тщательно протестированы, как NTFS, FAT, HPFS и RDR. Текущий IRQL должен быть равен 0. Если нет, то определенный порядок аннулирования драйверов может быть причиной возникновения ошибки. Всегда пытайтесь заметить, что вы делали или какие приложения закрывали, какие драйверы были установлены на момент возникновения синего экрана. Этот симптом указывает на серьезную проблему в драйверах третьей стороны.
0x0000002A, а также 0x00000029; 0x00000028; 0x00000027; 0x00000026; 0x00000025; 0x00000024; 0x00000023; 0x00000022; 0x00000021
IRP неожиданно был обнаружен в несоответствующем состоянии. Это когда поле или несколько полей были несовместимы с сохранившимся состоянием IRP. Например, IRP, который был закончен, указывался как все еще ждущий выполнения команд драйвера какого-либо устройства, 1 — адрес, на котором IRP был найден в несоответствующем состоянии.
0x0000002B
Эта ошибка указывает на то, что область стека ядра переполнена. Это может возникнуть, когда драйвер ядра использует слишком много места в области стека. Также причиной может быть серьезная ошибка в самом ядре.
0x0000002E, а также 0x0000002D; 0x0000002C
Этот стоп чаще всего вызывается ошибкой в памяти системы. Также это может случиться, когда драйвер обращается к 0x8XXXXXXX адресу памяти, который не существует. 1 — адрес виртуальной памяти, который стал причиной ошибки, 2 — физический адрес причины ошибки, 3 — регистрация статуса процессора (PSR), 4 — регистрация инструкции ошибки (FIR).
0x00000031, а также 0x0000002F; 0x00000030
Инициализация системы не прошла на ранней стадии. Нужно более детально установить ошибку, так как этот код вам не говорит практически ни о чем.
0x00000032, а также 0x00000033; 0x00000034
Параметры: 1 — код статуса системы, который описывает, почему система решила, что инициализация не прошла, 2 — указывает место внутри INIT.C, где ошибка инициализации фазы 1 произошла.
0x00000035
Драйвер высшего уровня пытался вызвать драйвер низшего уровня через IoCallDriver()-интерфейс, но в запасе не было свободного места в области стека, поэтому драйвер низшего уровня не сможет достичь нужных параметров, так как для него вообще никаких параметров нет. Это гибельная ситуация, так как драйвер высшего уровня считает, что заполнил параметры для драйвера низшего уровня (что-то он должен был сделать, чтобы вызвать драйвер низшего уровня). Тем не менее, так как для последнего драйвера нет свободного места в области стека, составитель аннулировал конец пакета. Это означает, что, скорее всего, какая-то другая память была повреждена. Параметры: 1 — адрес IRP
0x00000036
Драйвер устройства пытался удалить из системы один из объектов его устройства, но счетчик обращений этого объекта не был равен 0 — это означает, что для этого объекта все еще были невыполненные задачи (счетчик указывает номер причин, почему данный объект не может быть удален). Это ошибка вызова драйвера. Параметры: 1 — адрес объекта.
0x0000003E, а также 0x00000037, 0x00000038, 0x00000039, 0x0000003A, 0x0000003B, 0x0000003C, 0x0000003D
Мультипроцессорная система не симметрична. Чтобы быть симметричными, процессоры должны быть одного типа и уровня. Например, попытка использовать процессор уровня Pentium и 80486 вызовет ошибку. Кроме того, на х86-системах возможность вычислений с плавающей точкой должна быть на обоих процессорах или ни на одном.
0x0000003F
Не хватает РТЕ (page file entries). Обычно причиной является драйвер, который плохо вычищает файл подкачки (swap). Если отладчик ядра (kernel debugger) доступен, проследите, где система запнулась, и введите следующую команду: !sysptes(3)
0x00000040
Драйвер вызвал функцию IoBuildPartialMdl() и послал ей MDL, чтобы выявить часть источника MDL, но цель MDL недостаточно большая, чтобы отобразить пределы требуемых адресов. Это ошибка драйвера. Источник и цель MDL, также как длина линии адресов.Определения являются аргументами IoBuildPartialMdl() функции: IoBuildPartialMdl( IN PMDL SourceMdl, IN OUT PMDL TargetMdl, IN PVOID VirtualAddress, IN ULONG Length).
0x00000041
Если отладчик ядра (kernel debugger) доступен, команда виртуальной машины (VM) показывает различные величины: 1 — величина запроса, который не может быть удовлетворен, 2 — номер страниц, которые были использованы из nonpaged pool.
0x00000048, а также 0x00000045; 0x00000046; 0x00000047
Эта ошибка указывает, что I/O Request Packet (IRP), который должен быть завершен, имеет определенный в нем порядок отмены. Это означает, что пакет в таком положении, что может быть отменен. Тем не менее, пакет не относится более к драйверу, так как уже вошел в стадию завершения. 0x00000049 Означает именно то, что пишет: ошибка страницы с выключенным прерыванием. Рассматривайте эту ошибку так же, как 0x0A.
0x0000004C, а также 0x0000004B; 0x0000004C
Наиболее частые причины: x218 — необходимая библиотека реестра не может быть загружена. Этот файл может отсутствовать или быть поврежденным. Чтобы решить эту проблему, вам понадобится эмерженси загрузочная дискета. Драйвер может иметь поврежденный ключ реестра во время загрузки в память или память, в которую происходила загрузка этого ключа, может быть и не память на самом деле. Особенно AST EISA машины с 16М и выше памятью должны иметь доступ к памяти выше 16М, т.е. в утилите конфигурации EISA этот параметр должен быть ENABLED (разрешен). Иначе файл, который загрузится в ту память, при чтении покажет 0xffffffff. x21A, или Winlogon, или CSRSS (Windows) отключились (внезапно). Выходящий код может сказать больше. Обычно это c0000005, что говорит о том, что неподдерживаемое исключение рухнуло в том или другом процессе. Здесь вы не так много можете сделать. x221 означает, что драйвер поврежден или системная библиотека была распознана как поврежденная. NT делает все, чтобы проверять нетронутость важных системных файлов. Синий экран показывает имя поврежденного файла. Если такое случилось, загрузитесь в любую другую систему или, если таковых нет, переустановите систему. Убедитесь, что версия файла, который был выявлен как поврежденный, совпадает с версией файла в дистрибутиве, и, если это так, то замените его с диска. Постоянные ошибки с разными именами файлов означают проблемы с железом в I/O пути драйвера.
0x0000004D
Нет больше свободного места, чтобы закончить операцию. Если отладчик (kernel debugger) доступен, печатайте следующие команды: !process 0 7, !vm(), dd(mmpagingfiles), dd @$p.
0x0000004E
Причина — поврежденная/неисправная I/O структура драйвера.
0x00000050, а также 0x0000004F
Появляется, когда запрошенная информация не была найдена в памяти. Система проверяет файл подкачки (page file), но отсутствующая информация была обозначена как невозможная для записи в файл подкачки. Если это случилось на Terminal Server, проверьте драйверы третьей стороны для принтера. Параметры: 1 — указывает на адрес в памяти, который допустил ошибку.
0x00000051
Что-то случилось с реестром. Если отладчик (kernel debugger) доступен, отследите ошибку. Если он вам покажет, что вы в ветке системы (CmpWorker будет присутствовать в перечне), введите следующие команды: dd CmpRegistryMutex+18 L1, !thread . Это выдаст вам ветку и место ошибки, которое обращалось к реестру. Эта ошибка также может означать, что реестр получил ошибку I/O, когда пытался прочитать один из его файлов, отсюда следует, что ошибка могла быть вызвана проблемой с оборудованием или что сама система повреждена. Это также может означать, что ошибка вызвана операцией обновления, которую использует только система безопасности, и это только когда ресурсы на исходе. Если такая ошибка появилась, проверьте, является ли машина PDC или BDC и сколько аккаунтов в базе данных SAM (Менеджер Безопасности Аккаунтов), а также не заполнены ли соответствующие библиотеки почти до конца.
0x00000058, а также 0x00000052; 0x00000053; 0x00000054; 0x00000055; 0x00000056; 0x00000057
Система загрузилась с восстановленной первичной позиции, поэтому библиотеки говорят, что зеркало в порядке, но на самом деле это не так. Настоящие образы библиотек оттенены. Вам нужно загрузиться с них.
0x00000067, а также 0x0000005E; 0x0000005F; 0x00000060; 0x00000061; 0x00000062; 0x00000063; 0x00000064; 0x00000065; 0x00000066
Это означает, что реестр не может создать место, необходимое для содержания файлов реестра. Эта ошибка никогда не должна появляться, так как процесс создания такого места происходит на ранней стадии загрузки системы, и поэтому должно быть достаточно места для создания «бассейна». Указывает на NTOS\CONFIG\CMSYSINI, который потерпел неудачу.
0x00000069, а также 0x00000068
Инициализация I/O системы не удалась по каким-либо причинам. Больше практически никакой информации нет. Такое могло случиться, если установка приняла неправильное решение по поводу инсталляции системы или пользователь переконфигурировал систему.
0x0000006B, а также 0x0000006A
1 — указывает на код статуса, который решил, что инициализация NT не прошла успешно. 2 — указывает на место в NTOS\PS\PSINIT.C, где ошибка была обнаружена.
0x00000071, а также 0x00000070; 0x0000006F; 0x0000006E; 0x0000006D; 0x0000006C
Эти коды (SESSION1 — SESSION5) указывают место в NTOS\INIT\INIT.C, где была допущена ошибка. Параметры: 1 — указывает код статуса, который решил, что инициализация NT не прошла успешно.
0x00000073, а также 0x00000072
Указывает, что одна из системных библиотек повреждена или нечитаема. Эта библиотека может быть или SOFTWARE, или SECURITY, или SAM (Менеджера Безопасности Аккаунтов).
Эта ошибка может показывать то, что библиотека SYSTEM, загружаемая OSLOADER/NTLDR, повреждена. Тем не менее, это практически невозможно, так как OSLOADER всегда проверяет библиотеки после загрузки и убеждается, что они не повреждены. Эта ошибка также может означать, что некоторые требуемые ключи реестра и их параметры отсутствуют. Загрузка в LastKnownGood (Последней хорошей конфигурации) может решить проблему, или вам придется переустанавливать систему, или используйте Emergency Repair Disk.
0x00000075
Эта ошибка может появиться, если файлы SYSTEM библиотеки (SYSTEM и SYSTEM.ALT) не могут достичь accommodate additional data, записанные в hive между инициализациями реестра и первой фазы (когда файловые системы доступны). Эта ошибка обычно означает, что на диске нет свободного места, это может также произойти при попытке сохранить реестр на устройстве (только чтение).
0x00000076
Эта ошибка может возникнуть по причине драйвера, который не полностью вычищен после I/O операции. Параметры: 1 — адрес (процесса), 2 — число замкнутых страниц.
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- диске, то должно быть проверено подключение и срок годности.
0x00000078
Уровень проверки HAL и тип конфигурации HAL не подходят ядру системы или типу машины. Такая ошибка, скорее всего, вызвана тем, что пользователь вручную обновил либо NTOSKRNL.EXE, либо HAL.DLL. Или на машине мультипроцессорный HAL (MP) и юнипроцессорное ядро (UP), или наоборот.
0x0000007A
Не может быть прочтена запрашиваемая ядром страница. Ошибка вызвана плохим блоком в памяти или ошибкой контроллера диска.
0x0000007B
В процессе инсталляции I/O системы драйвер загрузочного устройства, возможно, не смог инициализировать устройство, с которого система пыталась загрузиться, или файловая система, которая должна была прочитать это устройство, либо не смогла инициализироваться, либо просто не распознала информацию на устройстве как структуру файловой системы. В случае составителя первый аргумент — адрес уникодовой структуры информации, которая является ARC именем устройства, с которого была попытка загрузиться. Во втором случае первый аргумент — адрес объекта устройства, которое не может быть смонтировано. Если эта ошибка возникла при начальной инсталляции системы, она может означать, что система была установлена на диск или SCSI-контроллер, которые ею не поддерживаются. Имейте в виду, что некоторые контроллеры поддерживаются только драйверами из виндовских библиотек (WDL), которые должны быть установлены с помощью выборочной установки. Эта ошибка также может произойти после установки нового SCSI- адаптера или контроллера или после изменений системной партиции. В этом случае на x86-системах нужно отредактировать BOOT.INI, на ARC-системах — запустить Setup. Для большей информации, как должен быть изменен BOOT.INI, смотрите Windows NT Advanced Server (Administrators Guide). Если аргумент указывает на ARC имя стринга (string), формат первых двух (это только в этом случае) длинных слов будет: USHORT Length; USHORT MaximumLength; PVOID Buffer;. Например, если первое длинное слово содержит что-то типа 00800020, где 20 — длина Уникодового стринга (Unicode string), и следующее длинное слово будет содержать адрес буфера. Если аргумент указывает на объект устройства, формат первого слова будет: USHORT Type;. Значит, первое слово содержит 0003, где Type-код всегда будет 0003.
0x0000007D, а также 0x0000007C
Не хватает памяти, чтобы загрузить Windows (необходимо 5 Мб).
0x0000007F, а также 0x4000007E
Эта ошибка означает, что произошло непредвиденное прерывание в режиме ядра, или вид прерывания, которое ядро не разрешает иметь или получить (захват (a bound trap)), или вид прерывания, которое влечет за собой немедленную «смерть» (двойная ошибка (double fault)). Первое число в интервалах кода бага — число прерывания (8 = double fault). Использование отладчика ядра (kernel debugger), KB и !TRAP в подходящем фрейме (который будет EBP, что идет вместе с процедурой KiTrap-at минимум на x86 машинах) покажет, откуда прерывание взялось. В общем, баг появляется, когда процессор допускает ошибку, с которой ядро не может справиться. Чаще всего она возникает из-за плохого RAM, а также из-за разгона процессора. Попробуйте отменить в BIOS sync negotiation (синхронная передача данных).
0x00000080
HAL должен сообщить всю конкретную информацию, которую имеет, и предложить пользователю обратиться к поставщику оборудования за поддержкой.
0x00000081
Примечание: текстовая форма setup’a больше не использует проверку багов (bugcheck), чтобы выйти из серьезных ошибок. Поэтому вы никогда не столкнетесь с 0x85. Все проверки багов были заменены на более дружелюбные и, где возможно, более информативные сообщения об ошибках. Тем не менее, некоторые составители ошибок просто были заменены нашими bugcheck-экранами, и код для этих состояний ошибок такой же, как и был. 1: Не прошла инициализация видео. Эта ошибка имеет собственный экран, и пользователю предоставляется только 2 варианта. Это означает, что файл vga.sys (или другой драйвер в зависимости от машины) поврежден или что мы не поддерживаем данное оборудование. 2. Инициализация клавиатуры провалилась. Теперь используются 2 разных экрана в зависимости от ошибок, которые тут могли появиться. Это может означать, что диск, содержащий драйверы для клавиатуры (i8042prt.sys или kbdclass.sys), поврежден или машина имеет не поддерживаемую клавиатуру. Также это может означать, что dll раскладка клавиатуры не может быть загружена.
0x0000008B
Эта ошибка возникает в процессе загрузки, когда контрольная сумма MBR, которую посчитала система, не совпадает с контрольной суммой загрузчика. Обычно это означает вирус. Некоторые вирусы не могут быть определены/найдены. Загрузитесь с дискеты с вирус-сканером (убедитесь, что дискета защищена от записи!).
0x0000008F, а также 0x00000090
Это сообщение появляется, если инициализация фазы 1 менеджера Plug and Play не прошла на стадии инициализации ядра (kernel-mode Plug and Play Manager failed). Вот здесь происходят практически все инициализации включая конфигурацию среды (реестр и т.д.) драйверов для вызова I/O впоследствии.
0x00000092
UNIPROCESSOR драйвер загружается на систему, в которой больше чем один активный процессор.
0x00000093
Эта ошибка появляется, когда код ядра (kernel code), такой, как сервер, перенаправитель (redirector), другие драйверы и т.д. пытаются закрыть handle, который не является действительным.
0x00000096
Это сообщение появляется, когда KeRemoveQueue удаляет очередь данных, flink- или blink-поле равно 0. Это практически всегда вызывается неправильным применением кода работающей нити текущего объекта, но неправильное применение любой очереди может привести к этому. Правило — ввод данных в очередь может быть произведен только однажды. Когда предмет удаляется из очереди, его flink-поле равно 0. Этот баг возникает, когда происходит попытка удалить данные, flink- или blink-поля которых равны 0. Для того, чтобы разрешить этот баг, вам необходимо выяснить очередь, на которую он ссылается. Если эта очередь одна из ЕХ работающих очередей (ExWorkerQueue), тогда объект, который удаляется — WORK_QUEUE_ITEM. Этот баг подразумевает, что это и есть причина. Параметры бага помогают выявить драйвер, который неправильно использует очередь.
0x00000097
MmLoadSystemImage была вызвана, чтобы загрузить bound image. Это не поддерживается ядром. Убедитесь, что bind.exe не был запущен на картинке. KeBugCheckEx (параметры): 1 — адрес данных в очереди, flink/blink-поле которых ноль; 2 — адрес на ссылающуюся очередь — обычно это одна из ExWorkerQueues очередей; 3 — начальный адрес ExWorkerQueue-массива — это поможет выявить, когда очередь в вопросе одна из ExWorkerQueue очередей, и, если это так, то офсет из этого параметра выявит очередь; 4 — если это ExWorkerQueue-очередь (как это бывает обычно), то это адрес работающей рутины, которая бы вызывалась, если бы работающий элемент был действительным — может быть использовано, чтобы выявить драйвер, который неправильно использует рабочую очередь.
STOP: | Параметры | Описание |
0x0000000A | 1 — адрес, по которому выполнено ошибочное обращение 2 — IRQL, который использовалcя для обращения к памяти 3 — тип доступа к памяти: 0 = операция чтения, 1 = операция записи 4 — адрес инструкции, которая затребовала доступ к памяти по данному адресу | Процесс, выполняемый в режиме ядра, или драйвер попытались обратиться к ячейке памяти, не имея к ней доступа. Эта ошибка возникает при сбойном (несовместимом) оборудовании или программным обеспечением. Обратите внимание на имя драйвера внизу экрана — это даёт шанс устранить проблему. Если подобная ошибка появляется в процессе установки, дело может быть в несовместимости ПО, антивирусной программе. Наиболее частая причина возникновения — драйвер устройства обращается к защищённой области памяти. |
0x0000000D | 1 — связь уровня взаимодействия 2 — уровень взаимодействия, пытающийся получить доступ | Найти точки взаимодействия и определить, какие из них пытаются получить доступ к этому уровню в неверной последовательности. |
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 системах, возможность вычислений с плавающей точкой должны быть на обоих процессорах или ни на одном. |
0x0000003F | . | В системе закончились записи в таблице страниц. Не хватает РТЕ (Page File Entries). Обычно причиной является драйвер, которыйплохо вычищает файл подкачки или нет места на диске. |
0x00000040 | . | Драйвер вызвал функцию IoBuildPartialMdl() и послал ей MDL, чтобы выявить частьисточника MDL, но MDL меньше, чем пределытребуемых адресов. Это ошибка драйвера. |
0x00000044 | 1 — адрес IRP | Драйвер запросил завершение IRP [IoCompleteRequest()], но пакет был ужезавершён. Эту ошибку сложно выявить, так как самый простой случай — драйверпытается завершить одну и ту же операцию дважды — обычно не то, что случается на самом деле. Реже — 2 различных драйвера пытаются завладеть пакетом и завершитьего. Первый как правило срабатывает, а второй нет. Отследить, какой именнодрайвер сделал это, трудно, так как следы первого драйвера были переписанывторым. Тем не менее, конфликт может быть выявлен, рассматривая DeviceObjectполя, в каждом местоположении стэка. |
0x00000048 | . | Это ошибка указывает, что I/O Request Packet (IRP), который должен быть завершён, имеет порядок отмены, означая, что пакет в таком положении, что может быть отменен. Тем не менее, пакет не относиться более кдрайверу, так как он уже вошёл в стадию завершения. |
0x00000049 | . | Ошибка страницы с отключённым прерыванием. Рассматривайте эту ошибку, так же как 0x0A. |
0x0000004C | . | Winlogon или CSRSS (Windows) «умерли» внезапно. Выходящий код может сказать больше. Обычно это — c0000005, что говорит о том, что не поддерживаемое исключение рухнуло в том или другом процессе. Также возникает, если драйвер или системная библиотека были распознана,как повреждённые. |
0x0000004D | 1 — количество использованных страниц 2 — количество физических страниц | Нет больше свободного места, чтобы закончить операцию. |
0x0000004E | 1. значение 1 2. значение заголовков страниц, которые повреждены 3. число доступных страниц 4. 0 1. значение 2 2. данные, которые удаляются 3. наивысшее число физических страниц 4. итог удаляемых данных | Причина — повреждённая (неисправная) структура ввода — вывода драйвера. |
0x00000050 | 1. указывает на ошибочный адрес в памяти | Драйвер устройства или системная служба запросили данные, которых не было в памяти. Это дефект ОЗУ или несовместимое ПО. |
0x00000051 | 1. значение 1 (указывает, где появилась ошибка) 2. значение 2 (указывает, где появилась ошибка) 3. может указывать на библиотеку 4. может быть возвратным кодом HvCheckHive’а, если какая-либо библиотека повреждена | Ошибка реестра. Эта ошибка так же может означать, что реестр получил ошибку ввода — вывода, когда пытался прочесть один из его файлов. Ошибка могла быть вызвана проблемой с оборудованием или система повреждена. Это так же может означать, что ошибка вызвана операцией обновления, которую использует только система безопасности и это только когда ресурсы на исходе. Если такая ошибка появилась, проверьте, является ли машина PDC или BDC и сколько аккаунтов в базе данных SAM (Менеджер Безопасности Аккаунтов), и не заполнены ли соответствующие библиотеки почти до конца. |
0x00000058 | . | Система загрузилась с восстановленного первичного раздела, поэтому библиотеки говорят, что зеркало в порядке, но на самом деле это не так. Настоящие образы изменены. |
0x00000069 | . | Инициализация системы не удалась. Например, установка приняла не правильное решение по поводу инсталляции системы или пользователь переконфигурировал систему. |
0x00000073 | 1. 5 2. 2 3. список библиотек 4. указывает UNICODE_STRING, содержащий имя библиотеки | Указывает, что одна из системных библиотек повреждена или не читаемая. Эта библиотека может быть или SOFTWARE, или SECURITY, или SAM (Менеджера Безопасности Аккаунтов). |
0x00000074 | . | Эта ошибка может показывать то, что библиотека SYSTEM, загружаемая NTLDR, повреждена. Тем не менее, это практически невозможно, так как OSLOADER всегда проверяет библиотеки после загрузки и убеждается, что они не повреждены. Эта ошибка так же может означать, что некоторые требуемые ключи реестра и их параметры отсутствуют. Загрузка в LastKnownGood (Последней хорошей конфигурации)может решить проблему. |
0x00000075 | . | На диске нет свободного места, так же это может произойти при попытке сохранить реестр на устройстве «только для чтения». |
0x00000077 | 1. 0 2. 0 3. значение PTE на момент ошибки 4. адрес ошибки ядра 1. код статуса 2. I/O код статуса 3. номер страницы виртуальной памяти 4. Компенсация в страничный файл | Система попыталась считать данные ядра из виртуальной памяти (файла подкачки) и не смогла найти данные по указанному адресу. Причины — дефекты ОЗУ, сбои жёсткого диска, повреждение данных или заражение вирусной программой и т.п. |
0x00000079 | 1. тип несовпадения (1, 2 или 3): 1. несовпадение уровней выпуска PRCB (несовпадение дат). Если дело в этом, то параметры 2 и 3: 2 — больший уровень NTOSKRNL.EXE 3 — больший уровень HAL.DLL 2. несовпадение типов бильдов, в этом случае параметры 2 и 3: 2 — тип бильда NTOSKRNL.EXE 3 — тип бильда HAL.DLL 3. Micro Channel Architecture (MCA) компьютерам требуется специфичный MCA HAL, в этом случае параметры 2 и 3: 2 — тип машины, определённый NTDETECT.COM значение 2 означает, что компьютер — MCA 3 — тип машин, которые этот HAL поддерживает значение 2 означает, что этот HAL сделан для MCA | Это сообщение указывает на не соответствие между уровнем абстрагирования от оборудования Windows XP (Hardware Abstaction Layer — HAL) и системными файлами Windows XP. Причина — внезапное изменение параметров BIOSа на компьютерах с AСPI, например, установка жёсткого диска с системой в другой компьютер. Возможно пользователь вручную обновил либо NTOSKRNL.EXE либо HAL.DLL на несовместимые версии. |
0x0000007A | . | Ошибка имеет ту же причину, что и ошибка 0х77: страница с данными ядра не найдены в виртуальной памяти (файле подкачки). Ошибка вызвана плохим блоком в памяти или ошибкой контроллера диска. |
0x0000007B | 1. указатель на объект устройства | Не найден системный раздел или загрузочный том в процессе запуска. Проблема обычно в переразбиении дисков на разделы, добавлении новых дисков перед загрузочным. В результате записи в Boot.ini перестают соответствовать правильным разделам. |
0x0000007D | 1. номер найденных физических страниц 2. нижняя физическая страница 3. высшая физическая страница 4. 0 | Не хватает памяти, чтобы загрузить Windows. Причина — дефект, либо слишком малая величина ОЗУ. |
0x0000007F | 1. конкретная причина | Появляется, когда процессор допускает ошибку, с которой ядро не может справиться. Чаще всего возникает из-за дефектов ОЗУ, остановке вентилятора процессора, а так же из-за разгонапроцессора и его перегреве. |
0x0000008B | 1 — дисковая сигнатура MBR. 2 — контрольная сумма MBR посчитанная загрузчиком системы 3 — контрольная сумма MBR сохранённая в системе. | Эта ошибка возникает в процессе загрузки, когда контрольная сумма MBR, которую посчитала система, не совпадает с контрольной суммой загрузчика. Обычно это означает вирус, т.к. некоторые вирусы могут быть не определены. Загрузитесь с диска и проверьте на вирусы. |
0x00000092 | . | Появляется только когда однопроцессорный драйвер загружается в систему, вкоторой больше чем один активный процессор. |
0x00000098 | . | Конец демонстрационного периода OC (для Trial- версий). |
0x0000009C | . | Фатальная ошибка при проверке оборудования. |
0x0000009F | . | Драйвер находится в неправильном или некорректном состоянии после завершения работы, перехода в ждущий (спящий) режим или восстановления из этих режимов. |
0x000000B4 | . | Сбой инициализации видео- драйвера. Перезагрузитесь в защищённом режиме и устраните конфликт оборудования или откатите новый драйвер. |
0x000000B9 | . | Обнаружены ошибки набора микросхем системной логики. Причина — неисправная материнская плата. |
0x000000BE | . | Драйвер пытается записать в память только для чтения (ПЗУ). |
0x000000C2 | . | Некорректная операция выделения памяти. Причина — сбойный драйвер или ПО. |
0x000000C4 | . | Проверка версий драйверов обнаружима фатальную ошибка в драйвере … |
0x000000C5 | . | Произошла попытка обращения в недопустимую область памяти процесса с слишком высоким IRQL. Это почти всегда вызвано драйверами, которые разрушили пул системы. |
0x000000C6 | . | Драйвер обратился к пулу свободной памяти. Замените драйвер. |
0x000000C7 | . | Таймер ядра или Delayed Procedure Call (DPC) были найдены в недопустимой области памяти. Обысно это вызвано дефектом драйвера. |
0x000000C9 | . | Получен сигнал от драйвера о предупреждении проверки ввода — вывода. |
0x000000CB | . | Аналогично ошибке 0x76. Указывает, что драйвер или подпрограмма ввода — вывода не сумели выгрузить оставшиеся страницы после завершения операции. |
0x000000CE | . | Драйвер не смог отменить ожидаемые действия перед переходом. Обычно возникает после инсталляции дефектного драйвера или службы. |
0x000000D1 | . | Драйвер обращается к недоступному адресу памяти. |
0x000000D8 | . | В системе закончились записи в таблице страниц. Не хватает РТЕ (Page File Entries). Обычно причиной является драйвер, который запрашивает у ядра слишком большие области памяти или нет места на диске (мал файл подкачки). |
0x000000E3 | . | Эта ошибка возникает при сбоях на файловой системе NTFS. |
0x000000EA | . | Может появиться после установки нового видеоадаптера или обновлённого драйвера видеоадаптера, заставляющего систему ждать бесконечно долго при обращении к оборудованию. замените видеоадаптер или установите другой драйвер. |
0x000000ED | . | Windows XP не смогла получить доступ к тому, содержащему загрузочные файлы. Смотри 0х7В. |
0x000000F2 | . | Ядро обнаружило «шторм прерываний», когда устройство не освобождает прерывание. Как правило это связано с некорректным драйвером устройства или ошибкой в «прошивке» |
0x000000F3 | . | Выключение Windows закончилось неудачей из — за недостатка памяти. |
0x1000007E | . | Аналогично 0x7E. |
0x1000008E | . | Аналогично 0x8E. |
0xC000009A | . | Ядро Windows разместило всю доступную память в страницы пула.. |
0xC0000135 | . | Обнаружена ошибка при загрузке библиотеки. Файл отсутствует или повреждён. Возможно повреждение реестра. |
0xC0000142 | . | Сбой инициализации библиотеки |
0xC0000218 | . | Необходимый файл улья реестра не был загружен. Файл может быть повреждён или удалён. Файл реестра разрушен из -за ошибок на жёстком диске или ОЗУ. |
0xC000021A | . | Возникла серьёзная проблема с безопасностью в Windows XP- в нарушении обвиняется Winlogon.exe или Csrss.exe. Эта ошибка возникает при неполном восстановлении архива, несоответствии версий системных файлов, а так же при некорректном изменении разрешений системных файлов, когда учётная запись System теряет доступ к системным файлам и папкам. |
0xC0000221 | . | Проблема с указанным файлом. Восстановите файл. |
0xC0000244 | . | Возникает при аудите политики безопасности, если CrashOnAuditFail включён. |
0xC000026C | . | Не возможно загрузить драйвер устройства. Проблема в драйвере. |
0xDEADDEAD | ”It’s dead, Jim!” | Почти дословный перевод сообщения: ”Это смерть, Джим!” Это сообщение о преднамеренном разрушении системы пользователем от отладчика или с клавиатуры. Само собой, Вы уведите это сообщение, только если сделали это нарочно! |