Ошибки возникновения "Синих экранов смерти" (Как расшифровать сообщение BSOD «Синий экран смерти» — «Blue Screen of Death»)и описание некоторых из них. А также небольшая утилита поможет разобраться с ошибкой.
BlueScreenView – утилита для анализа «синих экранов смерти» Бесплатная утилита под названием BlueScreenView позволит пользователям разобраться, что именно послужило причиной появления «синего экрана», и принять меры во избежание указанной проблемы в дальнейшем. Приложение сканирует содержимое файлов малого дампа памяти, создаваемых при критическом сбое системы, и представляет информацию в виде удобной, легко интерпретируемой таблицы. В том числе пользователи смогут увидеть имя соответствующего minidump-файла, время и дату сбоя, изображение конкретного «синего экрана», а также подробные сведения о драйвере или модуле, которые являются предполагаемой причиной выхода системы из строя (название продукта, имя файла, а также его версия и краткое описание). Если на жестком диске компьютера установлено несколько экземпляров операционной системы Windows, программу можно использовать с любым из них. Пользователям достаточно выбрать альтернативное местоположение папки minidump (в меню Advanced Options). Интерфейс приложения может быть модифицирован в соответствии с предпочтениями пользователя. В частности, BlueScreenView позволяет скрывать или отображать отдельные столбцы данных. Утилита не требует установки на жесткий диск и активируется путем запуска exe-файла. Продукт BlueScreenView можно загрузить. |
Если вы получили одну из этих ошибок, запустите отладчик ядра (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 |
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 |
Это внутренняя ошибка ядра (kernel). Ошибка может возникнуть из-за несовпадения KeEnterCricticalRegion и KeLeaveCriticalRegion в файловой системе. |
|
IRQL_NOT_LESS_OR_EQUAL | 0x0000000A |
NO_EXCEPTION_HANDLING_SUPPORT | 0x0000000B |
MAXIMUM_WAIT_OBJECTS_EXCEEDED | 0x0000000C |
Была сделана попытка затронуть виртуальную память на внутреннем процессе IRQ уровня, который слишком высок. Если kernel debugger доступен, вы можете отследить, где именно система запнулась. Дополнительная информация. Одна из самых часто возникающих ошибок Windows NT - STOP 0x0000000A. Этот STOP может быть вызван как Программным Обеспечением, так и проблемой с оборудованием. Для выявления причин вы должны разобрать этот STOP, используя дебагер. Тем не менее, некоторые выводы можно сделать, рассмотрев параметры STOP сообщения и сообщения сопутствующего этот STOP. Параметры:
Примечание: Имейте ввиду, что эта ошибка возникает в 99% из-за "кривых" драйверов. Некоторые из них в Windows XP вы можете обнаружить используя утилиту verifier.exe: Start (Пуск) -> Run (Выполнить) -> verifier.exe |
|
MUTEX_LEVEL_NUMBER_VIOLATION | 0x0000000D |
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 |
Попытайтесь установить взаимоисключения используя NTOS\EX\EXLEVELS.H файл заголовков. Вы должны найти точки взаимодействия и определить, какие из них пытаются получить доступ к этому уровню в неверной последовательности. Параметры:
|
|
KMODE_EXCEPTION_NOT_HANDLED | 0x0000001E |
SHARED_RESOURCE_CONV_ERROR | 0x0000001F |
Это очень часто встречающаяся ошибка - Дополнительная информация. Обычно исключённый адрес указывает на драйвер или функцию, которая вызвала стоп-экран. Всегда обращайте внимание не только на указанный драйвер, но и на сам адрес или имидж, содержащий эту ошибку. Обычно это код исключения 0x80000003. Эта ошибка означает, что точка прерывания или суждение было достигнуто при обращении к памяти, но система загрузилась с /NODEBUG ключа. Это ошибка не должна появляться слишком часто. Если ошибка появляется постоянно, убедитесь, что отладчик (debugger) подключён и система загружается с /DEBUG switch. На неИнтеловских системах, если адрес исключения 0XBFC0304, ошибка появляется вследствие кэширования процессора. Если ошибка будет появляться снова, свяжитесь с производителями. Как правило, требуется анализ второго параметра этого сообщения, который указывает на адрес драйвера/функции, которая была причиной проблемы. Параметры:
|
|
KERNEL_APC_PENDING_DURING_EXIT | 0x00000020 |
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 |
Название ошибки указывает на повреждённый/отключённый APC счётчик. Если счётчик показывает значение не равное нулю, то он и есть источник проблемы. Отрицательное значение указывает на то, что файловая система вызывала FsRtlEnterFileSystem большее количество раз чем FsRtlExitFileSystem. Положительное значение указывает наоборот FsRtlExitFileSystem было вызвано большее количество раз чем FsRtlEnterFileSystem. Если у вас такая ситуация, проверьте все файловые системы установленные на машине. Сторонние перенаправители более всего подозреваются в сбое, так как они не были так тщательно протестированы, как NTFS, FAT, HPFS и RDR. Текущий IRQL должен быть равен 0. Если нет, то определённый порядок аннулирования драйверов может быть причиной возникновения ошибки, возвращаясь на высоком уровне IRQ. Всегда пытайтесь заметить, что вы делали или какие приложения закрывали, какие драйвера были установлены на момент возникновения синего экрана. Этот симптом указывает на серьёзную проблему в драйверах третьей стороны. Параметры:
|
|
INCONSISTENT_IRP | 0x0000002A |
IRP неожиданно был обнаружен на несоответствующем состоянии; это когда поле или несколько полей были несовместимы с сохранившемся состоянием IRP. Например, IRP, который был закончен указывался, как всё ещё ждущий выполнения команд драйвера какого-либо устройства. Параметры:
|
|
PANIC_STACK_SWITCH | 0x0000002B |
PORT_DRIVER_INTERNAL | 0x0000002C |
SCSI_DISK_DRIVER_INTERNAL | 0x0000002D |
Эта ошибка указывает а то, что область стека ядра переполнено. Это может возникнуть, когда драйвер ядра использует слишком много места в области стека. Это так же может случиться, когда серьёзная ошибка в самом ядре. |
|
DATA_BUS_ERROR | 0x0000002E |
INSTRUCTION_BUS_ERROR | 0x0000002F |
SET_OF_INVALID_CONTEXT | 0x00000030 |
Этот стоп чаще всего вызывается ошибкой в памяти системы. В большинстве случаев это неисправный RAM, Level 2 (L2) RAM cache ошибки, ошибки видео RAM и повреждённый жёсткий диск. Так же это может случиться, когда драйвер обращается к 0x8XXXXXXX адресу памяти, который не существует. Параметры:
|
|
PHASE0_INITIALIZATION_FAILED | 0x00000031 |
Инициализация системы не прошла на ранней стадии. Нужно более детально установить ошибку, так как этот код вам не говорит практический ни о чём. |
|
PHASE1_INITIALIZATION_FAILED | 0x00000032 |
UNEXPECTED_INITIALIZATION_CALL | 0x00000033 |
CACHE_MANAGER | 0x00000034 |
Параметры:
|
|
NO_MORE_IRP_STACK_LOCATIONS | 0x00000035 |
Драйвер высшего уровня пытался вызвать драйвер низшего уровня через IoCallDriver() интерфейс, но в запасе не было свободного места в области стека, поэтому драйвер низшего уровня не сможет достичь нужных параметров, так как для него вообще нет никаких параметров. Это гибельная ситуация, так как драйвер высшего уровня считает, что заполнил параметры для драйвера низшего уровня (что-то он должен был сделать, чтобы вызвать драйвер низшего уровня). Тем не менее, так как для последнего драйвера нет свободного места в области стека, составитель аннулировал конец пакета. Это означает, что, скорее всего, какая-то другая память была повреждена. Параметры:
|
|
DEVICE_REFERENCE_COUNT_NOT_ZERO | 0x00000036 |
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 |
Драйвер устройства пытался удалить из системы одно из объектов его устройства, но счётчик обращений этого объекта не был равен 0, означающий что для этого объекта всё ещё были невыполненные задачи (счётчик указывает номер причин, почему данный объект на может быть удалён). Это ошибка вызова драйвера. Параметры:
|
|
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, |
|
MUST_SUCCEED_POOL_EMPTY | 0x00000041 |
ATDISK_DRIVER_INTERNAL | 0x00000042 |
NO_SUCH_PARTITION | 0x00000043 |
Если отладчик ядра (kernel debugger) доступен, команда Виртуальной Машины (VM) показывает различные величины. Параметры:
|
|
MULTIPLE_IRP_COMPLETE_REQUESTS | 0x00000044 |
INSUFFICIENT_SYSTEM_MAP_REGS | 0x00000045 |
DEREF_UNKNOWN_LOGON_SESSION | 0x00000046 |
REF_UNKNOWN_LOGON_SESSION | 0x00000047 |
Драйвер запросил завершение IRP [IoCompleteRequest()], но пакет был уже завершён. Эту ошибку сложно выявить, так как самый простой случай - драйвер пытается завершить одну и ту же операцию дважды - обычно не то, что случается на самом деле. Реже - 2 различных драйвера пытаются завладеть пакетом и завершить его. Первый как правило срабатывает, а второй нет. Отследить, какой именно драйвер сделал это, трудно, так как следы первого драйвера были переписаны вторым. Тем не менее, конфликт может быть выявлен, рассматривая DeviceObject поля, в каждом местоположении стека. Параметры:
|
|
CANCEL_STATE_IN_COMPLETED_IRP | 0x00000048 |
Это ошибка указывает, что I/O Request Packet (IRP), который должен быть завершён, имеет порядок отмены определённый в нём, означая, что пакет в таком положении, что может быть отменен. Тем не менее, пакет не относиться более к драйверу, так как он уже вошёл в стадию завершения. |
|
PAGE_FAULT_WITH_INTERRUPTS_OFF | 0x00000049 |
IRQL_GT_ZERO_AT_SYSTEM_SERVICE | 0x0000004A |
STREAMS_INTERNAL_ERROR | 0x0000004B |
Означает именно то, что пишет: ошибка страницы с выключенным прерыванием. Рассматривайте эту ошибку, так же как 0x0A |
|
Поделиться с друзьями
Комментариев нет.
Для того, чтобы оставить свой комментарий вам необходимо войти или зарегистрироваться на сайте.