Последние
(OFF) Creatis (S) 17 ноя 2011

★Расшифровка кодов ошибок Windows (BSOD) [1]★

Расшифровка кодов ошибок Windows (BSOD)

Оффлайн версия инструкций по устранению неполадок при возникновении Blue Screen Of Death (BSOD) размещенных на сайте http://bsod.oszone.net которые были собраны по материалам базы знаний Microsoft и центра MSDN.
Рекомендовано при поиске информации по BSOD обращать внимание в первую очередь на значение следующее за номером, а не столько на сам номер ошибки. В системах Windows XP, Windows 2000 и Windows NT номера ошибок могут отличаться при совпадении значений.

Обращайте также внимание на описания и решения как для своей версии Windows так и для двух остальных так как все три системы имеют много общего и решения могут быть если не одинаковыми, то схожими.
--------------
Список BSOD

0x00000001: APC_INDEX_MISMATCH
Внутренняя ошибка ядра (kernel).
Ошибка зачастую означает, что не соответствует число KeEnterCriticalRegion числу KeLeaveCriticalRegion в файловой системе.
Проблема связана чаще всего с неполадкой в драйверах, нехваткой оперативной памяти или места на жестком диске.

0x0000000A: IRQL_NOT_LESS_OR_EQUAL
STOP 0x0000000A показывает, что процесс ядра или драйвер пытались обратиться к памяти, к которой у них нет разрешения обращаться.
Самая распространенная причина - это некорректный или повреждённый указатель (pointer), который указывает на неправильный участок в памяти. Указатель (pointer) - это переменная, которая используется программой, для указания на блок в памяти. Если переменная имеет неправильное значение, тогда программа пытается обратиться к памяти, к которой у неё нет прав обращаться. Когда это происходит в программе пользователя, она генерирует нарушение доступа. Когда это происходит в режиме ядра, она генерирует STOP 0x0000000A сообщение.

0x0000000D: MUTEX_LEVEL_NUMBER_VIOLATION
Попытайтесь установить взаимоисключения, используя файл заголовков NTOSEXEXLEVELS.H
Вы должны найти точки взаимодействия и определить, какие из них пытаются получить доступ к этому уровню в неверной последовательности.

0x0000001E: KMODE_EXCEPTION_NOT_HANDLED
Это очень часто встречающаяся ошибка. Обычно второй параметр (адрес) указывает на драйвер или функцию, которая вызвала стоп-экран. Всегда обращайте внимание не только на указанный драйвер, но и на сам адрес или образ, указанный на экране.
Обычно это код исключения 0x80000003. Эта ошибка означает, что прерывание было применено при обращении к памяти, но система всё равно загрузилась с ключом /NODEBUG . Это ошибка не должна появляться слишком часто. Если ошибка появляется постоянно, убедитесь, что отладчик (debugger) подключён и система загружается с /DEBUG ключом.
На системах не относящимся к семье Интел, если адрес исключения 0XBFC0304, ошибка появляется вследствие кэширования процессора. Если ошибка будет появляться снова, свяжитесь с производителями.
Как правило, требуется анализ второго параметра этого сообщения, который указывает на адрес драйвера/функции, которая была причиной проблемы.

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

0x00000023: FAT_FILE_SYSTEM
Произошла ошибка во время записи или чтения с системного диска на фаловой системе FAT16 или FAT32. Возможна проблема с самим диском или с Interrupt Request Packet (IRP) пакетом.
Так же присиной может быть большая фрагментация диска, проблема в антивирусном програмном обеспечение или в ПО слежения за дисками (drive monitoring).

0x00000024: NTFS_FILE_SYSTEM
Произошла ошибка во время записи или чтения с системного диска на фаловой системе NTFS. Возможна проблема с самим диском или с Interrupt Request Packet (IRP) пакетом.
Так же присиной может быть большая фрагментация диска, проблема в антивирусном програмном обеспечение или в ПО слежения за дисками (drive monitoring).

0x0000002A: INCONSISTENT_IRP
Состояния IRP (пакет ввода/вывода I/O packet) не соответствовали друг другу.
Это когда поле или несколько полей IRP не соответствовали остальному состоянию IRP. Например, IRP, который был закончен, указывался, как всё ещё ждущий выполнения команд драйвера какого-либо устройства.

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

0x0000002E: DATA_BUS_ERROR
Чаще всего данная ошибка указывает на неполадки памяти.
Почти всегда причиной является оборудование системы неверная конфигурация, несовместимое или повреждённое оборудование.
В большинстве случаев это неисправный RAM, Level 2 (L2) RAM cache ошибки, ошибки видео RAM и повреждённый жёсткий диск.
Так же это может случиться, когда драйвер обращается к 0x8XXXXXXX адресу памяти, который не существует.

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

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

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

0x0000003F: NO_MORE_SYSTEM_PTES
Это случается, когда система выполнила слишком много операций ввода/вывода ( I/O ), что приводит к фрагментации виртуальной памяти.
В общем, ошибка говорит о нехватке РТЕ (page file entries), но на самом деле из-за фрагментации не возможно выделить драйверу целый кусок запрашиваемого количества памяти.
Часто видео драйвера пытаются получить большие каски виртуальной памяти. Так же программы резервирующие данные.
Так же причиной может являться драйвер, который плохо вычищает файл подкачки (swap).

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

0x00000041: MUST_SUCCEED_POOL_EMPTY
Ошибка показывает, что какой-то драйвер запросил слишком много места в must_succeed pool.
В winNT и win2000 must_succeed pool очень мал, а в XP драйверам в обще не разрешено запрашивать там место для выполнения своих команд.

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

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

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

0x0000004D: NO_PAGES_AVAILABLE
Не хватает свободного места, чтобы продолжать операции.

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

0x00000050: PAGE_FAULT_IN_NONPAGED_AREA
Появляется, когда запрошенная информация не была найдена в памяти. Эта ошибка генерируется в случае, если адрес системной памяти, по которому система обратилась, чтобы получить какую-либо информацию, не существует.
Если это случилось на Terminal Server, проверьте драйвера третьей стороны для принтера.

0x00000051: REGISTRY_ERROR
Ошибка указывает на повреждение системного реестра. Если отладчик (kernel debugger) доступен, отследите ошибку. Если он вам покажет, что вы в ветке системы (CmpWorker будет присутствовать в перечне), введите следующие команды:
dd CmpRegistryMutex+18 L1
!thread
Это выдаст вам ветку и место ошибки в реестре.
Эта ошибка
Навигация (1/2): далее >

Комментарии (7)

Тема перенесена Collibris из » Операционные системы в » Общие вопросы (17 ноя 2011)
Тема перенесена Soft_Pro из » Общие вопросы в » Faq (19 ноя 2011)
Зачет!!! Спасибо!
0x00000024: NTFS_FILE_SYSTEM
это сообщенице выскакивает во время установки операционки. Следовательно нужно заменить жёсткий диск?
Да позновательно но где ошибка 0x00000101
Что делать?
Четко коротко ивсе ясно, спасибо!
Показать комментарий
Скрыть комментарий
Для добавления комментариев необходимо авторизоваться
Последние
Удивительный колхоз
Удивительный колхоз - это новая многопользовател
Версия: Mobile | Lite | Touch | Доступно в Google Play