Если перед вами появился так называемый синий экран смерти в Windows 10 и вы уже готовы впасть в нервное коматозное состояние, возьмите себя в руки и попробуйте решить возникшую проблему. Для начала стоит сказать, что это зловещее сообщение сигнализирует вам о критической системной ошибке. Более того, далеко не всегда можно словить момент и успеть прочитать код ошибки, когда Windows вывалится в синий экран смерти и произойдет перезагрузка устройства. Сразу отметим, что существует огромное количество решений этой проблемы, как и причин появления синего экрана. В этой статье мы попробуем рассмотреть вероятные причины появления синего экрана счастья, а также о возможных решениях проблемы.
В подавляющем большинстве случаев синий экран смерти сигнализирует про ошибку BAD_POOL_CALLER — stop 0x000000c2. Диагностировать эту ошибку скажем прямо сложно, но возможно и мы попытаемся на примере этой ошибке описать алгоритм ваших следующих действий.
Чтобы правильно осуществить диагностику проблемы, сначала следует проанализировать специальный файл системы под названием minidump (дамп памяти). К созданию таких файлов приводит сбой в работе системы, более того, они могут нас проинформировать – что именно привело к сбою.
1. Чтобы включить такую автоматическую запись малого дампа памяти (по-умолчанию отключено) зайдите в свойства компьютера и перейдите в раздел «Дополнительные параметры системы» (такое включение предусмотрено для все систем, а не только Windows 10):
2. Далее нажимаем «Параметры» в разделе «Загрузка и восстановление» и в открывшемся окне выбираем пункт «Малый дамп памяти (256KB):
Как правило все файлы minidump при появлении синего экрана смерти (BSOD) сохраняются, а найти их можно в папке C:\Windows\Minidump. Примечательно, что в имени файла содержится текущая дата – когда он был создан, что значительно облегчает идентификацию даты возникновения ошибки, особенно учитывая, что такой файл может быть не один.
Два способа как расшифровать малый дам памяти minidump
Первый способ, заключается в использовании довольно популярной утилите BlueScreenView. Эта утилита может также стать хорошим вариантом для анализа дампа памяти. Применение этой утилиты как нельзя кстати пригодится, как способ чтобы определить проблемный драйвер.
Более того, она особенно примечательна тем, что с ее помощью возможен просмотр BSOD (синего экрана смерти) как бы в стоп-кадре, как это было, когда система крашилась. Она отображает время и дату сбоя, данные о драйвере или модуле с версией и кратким описанием. Кроме того, утилита доступна на множестве языков, включая русский. Так что утилита BlueScreenView как раз самое то, если нужно произвести быстрый анализ дампов памяти при BSOD.
Для второго способа нужно установить Debugging Tools for Windows, а также загрузить утилиту bsdos_utility. Далее после распаковки скрипта bsdos_utility.cmd следует переместить его на диск C:\ (можно создать отдельную папку, но стоит помнить, что строка адреса запуска скрипта будет отличатся от нашего примера). Затем в командной строке следует написать:
C:\bsdos_utility.cmd
После выведения списка всех дампов из списка C:\Windows\Minidump\, после чего скрипт спросит какой именно дамп должен подвергнуться анализу. Выбрать нужный минидамп можно также самостоятельно при запуске скрипта:
Подобным образом возможно обнаружение массы ошибок Windows 10, из-за которых выпал BSOD, а также проблематичных программ .exe из-за которых случился синий экран.
Синий экран Windows, называемый также в англоязычной литературе A Blue Screen of Death (BSOD) — это технически ошибка, вызывающая остановку операционной системы. К счастью, в Windows 10 такие проблемы стали встречаться реже, чем в предыдущих версиях (Windows 8, Windows 7, Windows Vista, Windows XP, тем более Windows 98/95), однако и в наше время бывают ситуации, когда система сталкивается с проблемой, которую она не в силах решить, что приводит к ее полной остановке.
Хотя появление синего (или голубого, как говорят некоторые) экрана дает возможность перезапустить систему, важно знать — что послужило причиной ошибки. Для получения информации о причинах служат коды ошибок, максимально полный перечень которых мы приводим здесь. Кроме кода, мы попытались дать небольшое пояснение к каждой из ошибок.
Внимание: мы настоятельно рекомендуем сверять приведенное тут описание с другими источниками. Могут быть замечены небольшие разночтения, значение тех или иных ошибок в том или ином случае может варьироваться.
Все коды приведены в шестнадцатизначном виде. Для поиска можно использовать сочетание клавиш Ctrl+F
Код ошибки | Причина появления синего экрана |
---|---|
0x00000001 | Код означает, как правило, проблемы с драйвером, который неправильно вызывает asychronous procedure call (APC) — асинхронный вызов процедур или вызывает многократно. Следует поменять драйвер. 0x00000001 имеет синоним «APC_INDEX_MISMATCH» . Синоним ох1. |
0x00000002 | Возникает редко и в связи сразу с несколькими причинами. Имеет пояснение «DEVICE_QUEUE_NOT_BUSY» на экране. Синоним ох2. Означает, что установленное устройство работает неправильно. Встречается в Windows 2000. |
0x00000003 | Синоним ох3. Возникает при установке несовместимого оборудования. Имеет также сообщение «INVALID_AFFINITY_SET». Рекомендуется заменить оборудование, установленное непосредственно перед появлением ошибки. |
0x00000004 | Синоним ох4. Появляется сообщение «INVALID_DATA_ACCESS_TRAP». Дословный перевод — неправильная ловушка доступа к данным. Возникает при получении Windows сообщения от процессора о внутренней ошибке. Может быть вызвана перебоями с напряжением (проверить сеть и блок питания), нехваткой оперативной памяти. |
0x00000005 | Имеет сообщение: «INVALID_PROCESS_ATTACH_ATTEMPT» часто возникает при неправильной работе файла Http.sys. Может возникать, если на компьютере установлены драйверы фильтра TDI антивирусными программами. |
0x00000006 | Ошибка неспецифична. Может возникать вследствие неправильного поведения в мультипроцессорной системе. Сообщение: «INVALID_PROCESS_DETACH_ATTEMPT». |
0x00000007 | Встречается редко. Альтернативный код 0x7 и описание «INVALID_SOFTWARE_INTERRUPT». Возникает вследствие неправильно написанного программного обеспечения при попытке вызвать неправильное прерывание операционной системы. |
0x00000008 | Сбой программного обеспечения, возникающий редко. Сообщение: «IRQL_NOT_DISPATCH_LEVEL» необходимо проверить используемый софт. |
0x00000009 | Редкая ошибка с сообщением «IRQL_NOT_GREATER_OR_EQUAL». Типичная причина — попытка софта вызывать запрещенные прерывания. |
0x0000000A | Сбой программы, вызванный попыткой программной попыткой вызвать функцию операционной системы, не предназначенную для выполнения на этом уровне привилегий. «IRQL_NOT_LESS_OR_EQUAL». |
0x0000000B | Возникает крайне редко. Сопровождается пояснением «NO_EXCEPTION_HANDLING_SUPPORT» и означает, что для данного случая у операционной системы не существует описаний. |
0x0000000C | Сообщение оxC возникает в процессе, если в нем превышено допустимое количество объектов, находящихся в режиме ожидания. Проблемы с программным обеспечением. «MAXIMUM_WAIT_OBJECTS_EXCEEDED». |
0x0000000D | Редко встречающееся исключение. Для программистов. «MUTEX_LEVEL_NUMBER_VIOLATION» |
0x0000000E | Отсутствует контекст режима пользователя. Связано, как правило, с повреждением системных файлов «NO_USER_MODE_CONTEXT» |
0x0000000F | Свидетельствует о занятости одного из ресурсов системы. «SPIN_LOCK_ALREADY_OWNED» |
0x00000010 | Возникает редко. Для программистов. «SPIN_LOCK_NOT_OWNED» |
0x00000011 | Возникает редко. Для программистов.w «THREAD_NOT_MUTEX_OWNER» |
0x00000012 | Возникает редко. Для программистов. «TRAP_CAUSE_UNKNOWN» |
0x00000013 | Возникает редко. Для программистов. «EMPTY_THREAD_REAPER_LIST» |
0x00000014 | Описание отсутствует. Возникает редко. Для программистов. «CREATE_DELETE_LOCK_NOT_LOCKED» |
0x00000015 | Возникает редко. Для программистов. «LAST_CHANCE_CALLED_FROM_KMODE» |
0x00000016 | Возникает редко. Для разработчиков программного обеспечения. «CID_HANDLE_CREATION» |
0x00000017 | Возникает редко. Для программистов. «CID_HANDLE_DELETION» |
0x00000018 | Свидетельствует о том, что ссылка на объект не соответствует типу объекта, на который она ссылается. REFERENCE_BY_POINTER» |
0x00000019 | Сообщает о том, что заголовок таблицы распределения страницы памяти поврежден «BAD_POOL_HEADER» |
0x0000001A | Серьезная и неустранимая ошибка менеджера оперативной памяти. Может свидетельствовать как о сбое системных программ и драйверов, так и физических проблемах с модулями. «MEMORY_MANAGEMENT» |
0x0000001B | Возникает редко. Для программистов. «PFN_SHARE_COUNT» |
0x0000001C | Возникает редко. Для программистов. «PFN_REFERENCE_COUNT» |
0x0000001D | Возникает редко. Для программистов. «NO_SPIN_LOCK_AVAILABLE» |
0x0000001E | Сообщает о том, что программа, действующая с привилегиями ядра, сообщила об ошибке, которую менеджер исключений не смог распознать или классифицировать. «KMODE_EXCEPTION_NOT_HANDLED» |
0x0000001F | Ошибка распределения общих ресурсов системы «SHARED_RESOURCE_CONV_ERROR» |
0x00000020 | Состоялся асинхронный вызов процедуры (APC) и еще не закончился, но процесс, который его вызвал, уже завершен или закрыт. «KERNEL_APC_PENDING_DURING_EXIT» |
0x00000021 | Произошло неправильное выделение ресурсов процессу. «QUOTA_UNDERFLOW» |
0x00000022 | Общая ошибка файловых систем, которая не может быть классифицирована, но наличие которой не позволяет системе продолжить работу. «FILE_SYSTEM» |
0x00000023 | Общая ошибка, связанная с подсистемой FAT, без классификации, связанная с общим остановом системы. «FAT_FILE_SYSTEM» |
0x00000024 | Аналогично предыдущему, но относительно системы NTFS. «NTFS_FILE_SYSTEM» |
0x00000025 | Аналогично предыдущему, касающееся дисковой подсистемы NPFS. «NPFS_FILE_SYSTEM» |
0x00000026 | Неустранимая проблема, связанная с использованием CD-диска, приведшая к краху Windows и появлению синего экрана «CDFS_FILE_SYSTEM» |
0x00000027 | Аналогично предыдущему, связанное с подсистемой SMB на дисках «RDR_FILE_SYSTEM» |
0x00000028 | Сообщение системы безопасности, связанное с неправильным ключом программы, предъявленным для проверки «CORRUPT_ACCESS_TOKEN» |
0x00000029 | Общая ошибка, возникшая в системе безопасности, и приведшая к появлению синего экрана смерти «SECURITY_SYSTEM» |
0x0000002A | Неправильное или некорректное содержание IRP. Предназначено для разработчиков. «INCONSISTENT_IRP» |
0x0000002B | Перерасход стека ядра. «PANIC_STACK_SWITCH» |
0x0000002C | Общая проблема системы ввода-вывода без конкретного описания. «PORT_DRIVER_INTERNAL» |
0x0000002D | Общая проблема, связанная с диском, подключенным через интерфейс SCSI, приведшая к невозможности функционирования «SCSI_DISK_DRIVER_INTERNAL» |
0x0000002E | Ошибка контроля четности модулей памяти. Типичный отказ оборудования. «DATA_BUS_ERROR» |
0x0000002F | Неклассифицированная ошибка шины. «INSTRUCTION_BUS_ERROR» |
0x00000030 | Указатель стека имеет неправильное значение. «SET_OF_INVALID_CONTEXT» |
0x00000031 | Одна из множества проблем запуска. Фаза 0. «PHASE0_INITIALIZATION_FAILED» |
0x00000032 | Одна из множества проблем запуска. Фаза 1. «PHASE1_INITIALIZATION_FAILED» |
0x00000033 | Неожиданно поступивший сигнал о необходимости инициализации. «UNEXPECTED_INITIALIZATION_CALL» |
0x00000034 | Отказ менеджера кэша. «CACHE_MANAGER» |
0x00000035 | Закончилось место под стек для драйвера ввода вывода. «NO_MORE_IRP_STACK_LOCATIONS» |
0x00000036 | Сообщение о том, что драйвер попробовал удалить устройство, у которого есть зависимые устройства. «DEVICE_REFERENCE_COUNT_NOT_ZERO» |
0x00000037 | Внутренняя ошибка флоппи-диска «FLOPPY_INTERNAL_ERROR» |
0x00000038 | Проблемы последовательного адаптера, приведшие к краху системы. Описание недоступно. «SERIAL_DRIVER_INTERNAL» |
0x00000039 | Процесс закончил процедуру без того, чтобы освободить ресурсы, которыми она обладала. «SYSTEM_EXIT_OWNED_MUTEX» |
0x0000003A | Редко встречается. Общая ошибка, связанная с пользовательскими настройками. «SYSTEM_UNWIND_PREVIOUS_USER» |
0x0000003B | Возникли трудности передачи данных между программами с различными уровнями привилегий в системе. «SYSTEM_SERVICE_EXCEPTION» |
0x0000003C | Для программистов. «INTERRUPT_UNWIND_ATTEMPTED» |
0x0000003D | Для программистов. «INTERRUPT_EXCEPTION_NOT_HANDLED» |
0x0000003E | Система обнаружила, что процессоры в системе не являются равноправными и не могут быть использованы в качестве мультипроцессорной системы. «MULTIPROCESSOR_CONFIGURATION_NOT_SUPPORTED» |
0x0000003F | Слишком много операций ввода-вывода и связанное с этим переполнение таблицы размещения данных. «NO_MORE_SYSTEM_PTES» |
0x00000040 | Неправильное обращение программы с IoBuildPartialMdl. Для разработчиков. «TARGET_MDL_TOO_SMALL» |
0x00000041 | Поток с привилегиями ядра запросил слишком много ресурсов. «MUST_SUCCEED_POOL_EMPTY» |
0x00000042 | Общая ошибка. Описание отсутствует. «ATDISK_DRIVER_INTERNAL» |
0x00000043 | Раздел на диске не найден, что привело к краху системы. «NO_SUCH_PARTITION» |
0x00000044 | Попытка завершить IRP, которая уже к тому времени была завершена. «MULTIPLE_IRP_COMPLETE_REQUESTS» |
0x00000045 | Недостаточно системных регистров «INSUFFICIENT_SYSTEM_MAP_REGS» |
0x00000046 | Общая ошибка безопасности. «DEREF_UNKNOWN_LOGON_SESSION» |
0x00000047 | Общий сбой безопасности. «REF_UNKNOWN_LOGON_SESSION» |
0x00000048 | Пакет операций ввода ввывода — I/O request packet (IRP) завершен, а затем был неожиданно отменен. «CANCEL_STATE_IN_COMPLETED_IRP» |
0x00000049 | Нарушение целостности таблиц распределения ресурсов. «PAGE_FAULT_WITH_INTERRUPTS_OFF» |
0x0000004A | Процесс вернулся к пользовательскому уровню от вызова процедуры в то время, когда он все еще оставался в приостановленном состоянии. «IRQL_GT_ZERO_AT_SYSTEM_SERVICE» |
0x0000004B | Сбой внутренних потоков данных «STREAMS_INTERNAL_ERROR» |
0x0000004C | Фатальный сбой аппаратного обеспечения, который не может быть обработан программно. «FATAL_UNHANDLED_HARD_ERROR» |
0x0000004D | Не осталось памяти для продолжения операций. «NO_PAGES_AVAILABLE» |
0x0000004E | Спиоск страниц памяти поврежден. «PFN_LIST_CORRUPT» |
0x0000004F | Общие проблемы сетевого драйвера NDIS «NDIS_INTERNAL_ERROR» |
0x00000050 | Обращение к неправильной или поврежденной системной памяти. «PAGE_FAULT_IN_NONPAGED_AREA» |
0x00000051 | Серьезный сбой реестра. Критические нарушения целостности или синтаксиса. «REGISTRY_ERROR» |
0x00000052 | Встречается редко. Описание отсутствует. «MAILSLOT_FILE_SYSTEM» |
0x00000053 | Отсутствие устройства для загрузки. Неспецифическая. «NO_BOOT_DEVICE» |
0x00000054 | Встречается редко. Может соответствовать нескольким причинам. «LM_SERVER_INTERNAL_ERROR» |
0x00000055 | Нарушение правильной последовательности данных. Может быть вызвана несколькими службами, иметь несколько причин «DATA_COHERENCY_EXCEPTION» |
0x00000056 | Нарушение правильной последовательности команд. Неспецифическая для какой-либо службы или сервиса. Может быть вызвана несколькими источниками «INSTRUCTION_COHERENCY_EXCEPTION» |
0x00000057 | Относится к XNS — предназначена для отладки программ программистами. «XNS_INTERNAL_ERROR» . |
0x00000058 | Возникает в случае загрузки системы с неправильной копии зеркалированного дискового устройства «FTDISK_INTERNAL_ERROR» |
0x00000059 | Сбой в файловой системе Pinball «PINBALL_FILE_SYSTEM» |
0x0000005A | Может быть вызвана множеством причин. Специфическое описание отсутствует «CRITICAL_SERVICE_FAILED» |
0x0000005B | Встречается редко. Возникает в различных системах при трудностях и невозможности установок переменных окружения «SET_ENV_VAR_FAILED» |
0x0000005C | Вызывается старыми и несовременными драйверами. Может быть решена обновлением системы, удалением из системы драйверов, которые больше не используются. «HAL_INITIALIZATION_FAILED» |
0x0000005D | Попытка запуска системы процессором, который ей не поддерживается. «UNSUPPORTED_PROCESSOR» |
0x0000005E | Объект не может быть проинициализирован. Возникает вследствие множества причин. «OBJECT_INITIALIZATION_FAILED» |
0x0000005F | Сбой запуска системы безопасности «SECURITY_INITIALIZATION_FAILED» |
0x00000060 | Сбой запуска важного системного процесса «PROCESS_INITIALIZATION_FAILED» |
0x00000061 | Проблемы с драйверами при выходе из режима сохранения энергии. Необходимо найти устаревшие драйвера. «HAL1_INITIALIZATION_FAILED» |
0x00000062 | Разновидность сообщения выше, связанного с объектами. «OBJECT1_INITIALIZATION_FAILED» |
0x00000063 | Разновидность сообщения выше, связанного с запуском подсистемы безопасности. «SECURITY1_INITIALIZATION_FAILED» |
0x00000064 | Редко возникающее сообщение. Описание отсутствует. «SYMBOLIC_INITIALIZATION_FAILED» |
0x00000065 | Крэш инициализации менеджера памяти. «MEMORY1_INITIALIZATION_FAILED |
0x00000066 | Просчет системы при инициализации системного кэша. «CACHE_INITIALIZATION_FAILED» |
0x00000067 | Невозможность применить или прочитать файл реестра. «CONFIG_INITIALIZATION_FAILED» |
0x00000068 | Общие проблемы, связанные с файловой системой. «FILE_INITIALIZATION_FAILED» |
0x00000069 | Подсистема ввода-вывода не может быть подготовлена к работе по тем или иным причинам, которые не может объяснить. «IO1_INITIALIZATION_FAILED» |
0x0000006A | Появляется очень редко. Относится к отладке программистами своего кода «LPC_INITIALIZATION_FAILED» |
0x0000006B | Система не смогла запуститься правильно и полностью «PROCESS1_INITIALIZATION_FAILED» |
0x0000006C | Появляется очень редко. Относится к отладке программистами своего кода «REFMON_INITIALIZATION_FAILED» |
0x0000006D | Система Windows не смогла запуститься правильно и полностью «SESSION1_INITIALIZATION_FAILED» |
0x0000006E | Система Windows не смогла запуститься правильно и полностью «SESSION2_INITIALIZATION_FAILED» |
0x0000006F | Система Windows не смогла запуститься правильно и полностью «SESSION3_INITIALIZATION_FAILED» |
0x00000070 | Система Windows не смогла запуститься правильно и полностью «SESSION4_INITIALIZATION_FAILED» |
0x00000071 | Система Windows не смогла запуститься правильно и полностью «SESSION5_INITIALIZATION_FAILED» |
0x00000072 | Возникает редко. Свидетельствует о невозможности назначения букв дисков для внешних накопителей «ASSIGN_DRIVE_LETTERS_FAILED» |
0x00000073 | Одна из главных ветвей реестра не может быть отнесена ко всему конфигурационному файлу. «CONFIG_LIST_FAILED». |
0x00000074 | Ошибка в реестре «BAD_SYSTEM_CONFIG_INFO» |
0x00000075 | Система не может распознать и перевести в значения данные одной из веток реестра. Проблемы с записью «CANNOT_WRITE_CONFIGURATION» |
0x00000076 | Драйвер не смог освободить страницы памяти после выполнения операций ввода-вывода. «PROCESS_HAS_LOCKED_PAGES» |
0x00000077 | Запрошенные страницы из теневого файла памяти не могут быть прочитаны и загружены обратно «KERNEL_STACK_INPAGE_ERROR» |
0x00000078 | Редкая, без описания. «PHASE0_EXCEPTION» |
0x00000079 | Уровень аппаратной абстракции (HAL) не соответствует уровню ядра операционной системы Windows «MISMATCHED_HAL» |
0x0000007A | Запрошенная страница памяти ядра не смогла загрузиться «KERNEL_DATA_INPAGE_ERROR» |
0x0000007B | Microsoft Windows не смогла получить доступ к диску, с которого была загружена. «INACCESSIBLE_BOOT_DEVICE» |
0x0000007C | Проблема в драйвере NDIS. «BUGCODE_NDIS_DRIVER» |
0x0000007D | Не хватает оперативной памяти для старта и работы Windows «INSTALL_MORE_MEMORY» |
0x0000007E | Обнаружена ошибка, которая система обработки не смогла распознать. «SYSTEM_THREAD_EXCEPTION_NOT_HANDLED» |
0x0000007F | Центральный процессор сгенерировал исключение, которое ядро не смогло обработать. «UNEXPECTED_KERNEL_MODE_TRAP» |
0x00000080 | Серьезный сбой аппаратного обеспечения. «NMI_HARDWARE_FAILURE» |
0x00000081 | Для программистов. «SPIN_LOCK_INIT_FAILURE» |
0x00000082 | Для разработчиков. «DFS_FILE_SYSTEM» |
0x00000085 | Невозможность продолжать работу из-за неполадок в настройке «SETUP_FAILURE» |
0x0000008B | Несовпадение контрольной суммы главной загрузочной таблицы диска. «MBR_CHECKSUM_MISMATCH» |
0x0000008E | Вызывается в случае, если приложение уровня ядра сообщает об ошибке, которую менеджер исключений не может распознать и обработать. «KERNEL_MODE_EXCEPTION_NOT_HANDLED» |
0x0000008F | Менеджер PnP (устройства с автоматическим определением) не может начать свою работу. «PP0_INITIALIZATION_FAILED» |
0x00000090 | Менеджер PnP (устройства с автоматическим определением) не может начать свою работу. «PP1_INITIALIZATION_FAILED» |
0x00000092 | Свидетельствует о том, что в систему со многими процессорами был загружен драйвер с поддержкой только одного процессора. «UP_DRIVER_ON_MP_SYSTEM» |
0x00000093 | Для закрытия программного потока был передан не существующий или неправильный указатель на поток. «INVALID_KERNEL_HANDLE» |
0x00000094 | Свидетельствует о том, что процесс ядра был выгружен из памяти, в то время как его стек остался в ОЗУ «KERNEL_STACK_LOCKED_AT_EXIT» |
0x00000096 | Проблемы с очередью процессов. Был получен нулевой указатель на процесс. «INVALID_WORK_QUEUE_ITEM» |
0x00000097 | Для программистов. «BOUND_IMAGE_UNSUPPORTED» . |
0x00000098 | Windows требует себя купить и ввести лицензионный ключ. Закончился период пробной эксплуатации. «END_OF_NT_EVALUATION_PERIOD» |
0x00000099 | Неправильные параметры были переданы в процедуру определения региона. «INVALID_REGION_OR_SEGMENT» |
0x0000009A | Зафиксировано нарушение лицензионного использования Windows «SYSTEM_LICENSE_VIOLATION» |
0x0000009B | Ошибка файловой системы UDF, которая привела к общему краху системы. Подробное описание отсутствует. «UDFS_FILE_SYSTEM» |
0x0000009C | Подробная проверка компьютера обнаружила проблемы, связанные с невозможностью его дальнейшего использования в действующей конфигурации. «MACHINE_CHECK_EXCEPTION» |
0x0000009E | По крайней мере один из компонентов режима пользователя не позволяет Windows производить дальнейшие операции «USER_MODE_HEALTH_MONITOR» |
0x0000009F | По крайней мере один из драйверов в настоящее время находится в режиме потребления электроэнергии, не соответствующем правильным настройкам. «DRIVER_POWER_STATE_FAILURE» |
0x000000A0 | Неудача с управлением электропитанием. Система распределения энергии потерпела крах. «INTERNAL_POWER_ERROR» |
0x000000A1 | Обнаружен сбой систем шины PCI и периферийных устройств. Несогласованность работы внешних аппаратных устройств, вызвавшая синий экран. «PCI_BUS_DRIVER_INTERNAL» |
0x000000A2 | Найдено несоответствие в образе памяти — повреждение исполняемого файла. Как правило свидетельствует об аппаратных проблемах с оперативной памятью или является следствием программной ошибки. «MEMORY_IMAGE_CORRUPT» o |
0x000000A3 | Драйвер управления питанием ACPI выдал ошибку. Аппаратные проблемы на материнской плате. «ACPI_DRIVER_INTERNAL» |
0x000000A4 | Проблема, которая может быть вызвана недостаточным количеством памяти, отведенной для невыгружаемых страниц. Для тех страниц, которые не могут быть временно отправлены на диск. Как правило свидетельствует о существенной нехватке физической оперативной памяти в компьютере. «CNSS_FILE_SYSTEM_FILTER». |
0x000000A5 | Несоответствие версии используемой системы управления питанием ACPI и используемой в BIOS конфигурацией. Вызвано проблемами с системным программным обеспечением материнской платы или ее неправильной прошивкой. «ACPI_BIOS_ERROR» on the same blue screen. |
0x000000A7 | Обнаружено несоответствие записи во внутренних таблицах ядра параметрам этих таблиц. «BAD_EXHANDLE». |
0x000000AB | Синий экран с этим сообщением появляется тогда, когда драйвер программной сессии остается в памяти, в то время когда сама сессия ужеп завершилась. Может быть связана с процессамиWin32k.sys, Atmfd.dll, Rdpdd.dll, видеодрайвером. «SESSION_HAS_VALID_POOL_ON_EXIT» |
0x000000AC | Недостаточно памяти для уровня аппаратной абстракции. Один из вариантов сообщения об общей нехватке оперативной памяти в системе. «HAL_MEMORY_ALLOCATION». |
0x000000AD | Сообщается, что видео порт создал дамп памяти от имени видеодрайвера во время работы системы. Причиной создания дампа могут быть внутренние проблемы видео подсистемы, которые не могут быть интерпретированы операционной системой. «VIDEO_DRIVER_DEBUG_REPORT_REQUEST» on the same blue screen. |
0x000000B4 | Невозможность для Windows инициировать графический драйвер и войти в графический режим «VIDEO_DRIVER_INIT_FAILURE» |
0x000000B8 | Через систему удаленного вызова процедур (DPC) была предпринята попытка выполнить запрещенную операцию. «ATTEMPTED_SWITCH_FROM_DPC» может свидетельствовать о наличии вируса. |
0x000000B9 | Встречается редко. Общая ошибка чипсета. «CHIPSET_DETECTED_ERROR». |
0x000000BA | Обнаружен драйвер сессии, который связан с уже выгруженным из памяти процессором. «SESSION_HAS_VALID_VIEWS_ON_EXIT». |
0x000000BB | Невозможность успешно загрузиться через локальную сеть. «NETWORK_BOOT_INITIALIZATION_FAILED». |
0x000000BC | Обнаружен дублирующий IP-адрес, присвоенный машине, с которой компьютер должен загрузиться по сети. Может свидетельствовать о попытке взлома. «NETWORK_BOOT_DUPLICATE_ADDRESS» |
0x000000BE | Попытка записи в память, предназначенную только для чтения. «ATTEMPTED_WRITE_TO_READONLY_MEMORY». |
0x000000BF | Процесс пытался присвоить mutex, который уже кому-то принадлежал. Свидетельствует об ошибках в программном обеспечении. Сообщение предназначено для программистов. «MUTEX_ALREADY_OWNED» |
0x000000C1 | Ошибка целостности специальной памяти. Свидетельствует о проблемах (возможно, аппаратных) с памятью. «SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION» on the same blue screen. |
0x000000C2 | Неправильное обращение к памяти. «BAD_POOL_CALLER» |
0x000000C4 | Подсистема проверки драйверов обнаружила неустранимую проблему и вызывает синий экран смерти и общий останов системы. «DRIVER_VERIFIER_DETECTED_VIOLATION». |
0x000000C5 | Попытка обращения к памяти процесса, уровень привилегий которого не соответствует уровню памяти. «DRIVER_CORRUPTED_EXPOOL» |
0x000000C6 | Попытка доступа к замороженному сегменту памяти. «DRIVER_CAUGHT_MODIFYING_FREED_POOL» |
0x000000C7 | Появляется, если система обнаруживает таймер ядра или отложенный вызов процедуры в том месте системы, где их быть не должно. «TIMER_OR_DPC_INVALID» |
0x000000C8 | Уровень привилегий процессора не соответствует тому, какой должен быть установлен в данный момент. «IRQL_UNEXPECTED_VALUE» |
0x000000C9 | Вызывается менеджером драйверов и свидетельствует о проблемах в системе ввода-вывода. «DRIVER_VERIFIER_IOMANAGER_VIOLATION» |
0x000000CA | Серьезная ошибка подсистемы Plug and Play, обычно вызванная неправильным PnP драйвером. «PNP_DETECTED_FATAL_ERROR» |
0x000000CB | Возникает, если драйвер или система ввода-вывода не освободила занятые страницы памяти после того, как закончили свою работу. «DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS» |
0x000000CC | Система обнаружила замороженные участки памяти, созданные ранее «PAGE_FAULT_IN_FREED_SPECIAL_POOL». |
0x000000CD | Синий экран при попытке доступа к памяти за пределами выделенной области. Выдается некорректным драйвером или другой системой программ. BSOD error code 0x000000CD may also show «PAGE_FAULT_BEYOND_END_OF_ALLOCATION» on the same blue screen. |
0x000000CE | Возникает, если драйвер решил завершить работу в системе имея незаконченные текущие операции «DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS». |
0x000000CF | Система некорректно обратилась к серверу терминала. «TERMINAL_SERVER_DRIVER_MADE_INCORRECT_MEMORY_REFERENCE» |
0x000000D0 | Система обратилась к памяти в то время, когда ее приоритет был слишком высоким для такой операции. Проблемы с безопасностью. «DRIVER_CORRUPTED_MMPOOL» |
0x000000D1 | Драйвер уровня ядра пытался обратиться к памяти в то время, когда его привилегии были слишком высокие. «DRIVER_IRQL_NOT_LESS_OR_EQUAL» |
0x000000D2 | Ошибка драйвера NDIS — проблемы с сетевыми дисками. «BUGCODE_ID_DRIVER». |
0x000000D3 | Система попыталась обратиться к памяти со слишком высоким уровнем привилегий. «DRIVER_PORTION_MUST_BE_NONPAGED» |
0x000000D4 | Возникает в случае, если драйвер не отменил зависшие или продолжающиеся операции перед тем, как дал команду на собственную выгрузку. «SYSTEM_SCAN_AT_RAISED_IRQL_CAUGHT_IMPROPER_DRIVER_UNLOAD» |
0x000000D5 | У драйвера обнаружена выделенная память, которая ранее была заморожена. «DRIVER_PAGE_FAULT_IN_FREED_SPECIAL_POOL» |
0x000000D6 | Драйвер попытался обратиться к памяти за пределами выделенной для него области. «DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION» |
0x000000D7 | Процесс попытался вычислить несуществующий адрес. «DRIVER_UNMAPPING_INVALID_VIEW» . |
0x000000D8 | Больше не осталось свободных мест в таблице записей страниц памяти. «DRIVER_USED_EXCESSIVE_PTES» |
0x000000D9 | Список закрытых страниц оперативной памяти поврежден. «LOCKED_PAGES_TRACKER_CORRUPTION» |
0x000000DA | Функция выделения памяти в таблице распределения (PTE) была вызвана неправильным образом. «SYSTEM_PTE_MISUSE» |
0x000000DB | Вызов или обращение к адресу, возникший скорее всего из-за неправильных записей в таблице распределения памяти. «DRIVER_CORRUPTED_SYSPTES» |
0x000000DC | Драйвер пытался обратиться к содержимому стека не в правильном порядке. «DRIVER_INVALID_STACK_ACCESS» |
0x000000DE | Обнаружены поврежденные области памяти, соответствующие областям для хранения данных файлов на диске. «POOL_CORRUPTION_IN_FILE_AREA |
0x000000DF | Процесс не закончил свою работу до момента его остановки. «IMPERSONATING_WORKER_THREAD» |
0x000000E0 | Сообщение о том, что один из компонентов в связке — BIOS — система управления питанием (ACPI) неисправен «ACPI_BIOS_FATAL_ERROR» on the same blue screen. |
0x000000E1 | Процесс закончил свою работу и возвратил больший чем нужно уровень привилегий. «WORKER_THREAD_RETURNED_AT_BAD_IRQL» |
0x000000E2 | Пользователь сознательно инициировал создание дампа памяти при сбое с помощью отладчика или клавиатуры. «MANUALLY_INITIATED_CRASH» |
0x000000E3 | Процесс пытается освободить ресурс, который он не получал. «RESOURCE_NOT_OWNED» |
0x000000E4 | Ситуация, при которой рабочий процесс оказывается в той области памяти, где он не должен находиться. «WORKER_INVALID» |
0x000000E6 | Получено требование об остановке системы со стороны подсистемы проверки драйверов и цифрового контента. «DRIVER_VERIFIER_DMA_VIOLATION» |
0x000000E7 | Состояние процесса с плавающей запятой нарушено. «INVALID_FLOATING_POINT_STATE» |
0x000000E8 | Поврежденный файл был допущен к операции отмены открытия файла. «INVALID_CANCEL_OF_FILE_OPEN» |
0x000000E9 | Удален из памяти и остановлен текущий процесс, который должен быть выполнен «ACTIVE_EX_WORKER_THREAD_TERMINATION» |
0x000000EA | Система считает, что процесс в драйвере устройства завис. «THREAD_STUCK_IN_DEVICE_DRIVER» |
0x000000EB | Не осталось свободных страниц памяти для продолжения операций «DIRTY_MAPPED_PAGES_CONGESTION» |
0x000000EC | Сессия завершилась в то время, как драйвер сессии остался загруженным в память. «SESSION_HAS_VALID_SPECIAL_POOL_ON_EXIT» |
0x000000ED | Система ввода-вывода пыталась смонтироваться на загрузочное устройство, однако у нее это не получилось. «UNMOUNTABLE_BOOT_VOLUME» |
0x000000EF | Останов критического системного процесса «CRITICAL_PROCESS_DIED» |
0x000000F1 | Получено сообщение от драйвера SCSI о необходимости останова системы вследствие неустранимой ошибки. «SCSI_VERIFIER_DETECTED_VIOLATION» |
0x000000F3 | Windows не получается завершить свою работу вследствие нехватки памяти и других ресурсов. «DISORDERLY_SHUTDOWN» |
0x000000F4 | Процесс, важный для работы операционной системы, неожиданно был остановлен или удален из памяти. «CRITICAL_OBJECT_TERMINATION» |
0x000000F5 | Неустранимая ошибка менеджера файлов «FLTMGR_FILE_SYSTEM» |
0x000000F6 | Драйвер PCI проверил устройство и сообщает, что дальнейшая работа системы невозможна. «PCI_VERIFIER_DETECTED_VIOLATION» |
0x000000F7 | Драйвер переполнил буфер стека. «DRIVER_OVERRAN_STACK_BUFFER» |
0x000000F8 | Проблема инициализации RAM-диска. Невозможно загрузиться из памяти. «RAMDISK_BOOT_INITIALIZATION_FAILED» on the same blue screen. |
0x000000F9 | Проблема, связанная с ошибкой диска, возникшей при открытии нового тома. «DRIVER_RETURNED_STATUS_REPARSE_FOR_VOLUME_OPEN» on the same blue screen. |
0x000000FA | Драйвер ядра встроенного веб-сервера (Http.sys) поврежден и не может восстановиться. «HTTP_DRIVER_CORRUPTED» |
0x000000FC | Попытка выполнения кода в памяти, не предназначенной для исполнения программ. «ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY» |
0x000000FD | Закончились страницы памяти для выполнения операций. «DIRTY_NOWRITE_PAGES_CONGESTION» on the same blue screen. |
0x000000FE | Ошибка драйвера USB «BUGCODE_USB_DRIVER» |
0x000000FF | Попытка вставить объект в очередь, которая привела к переполнению очереди. «RESERVE_QUEUE_OVERFLOW» |
0x00000100 | Ошибка работы загрузчика. Возникает при программных и аппаратных сбоях, когда загрузчик не может правильно прочитать и распознать данные. «LOADER_BLOCK_MISMATCH» |
0x00000101 | Проблемы с таймером на одном из процессоров в мультипроцессорной системе. Когда прерывания от таймера, которое ожидалось, не произошло в заданный временной интервал. Может свидетельствовать о сбое одного из ядер или процессора. «CLOCK_WATCHDOG_TIMEOUT» |
0x00000103 | Неправильные данные, полученные из сетевого хранилища данных. Или эти данные совсем не получены. Система хранения данных не может перенаправить запрос на чтение или запись данных из сетевого хранилища. «MUP_FILE_SYSTEM» |
0x00000104 | Проблема на графической карте. Процессор карты попытался записать данные в отведенную для порта AGP область памяти, которая ранее не была им зарезервирована. «AGP_INVALID_ACCESS». |
0x00000105 | Сбой таблицы распределения данных, относящихся к работе видеокарты вообще и карт с портом AGP в частности. «AGP_GART_CORRUPTION» . |
0x00000106 | Попытка программирования видеокарты неавторизованным для этого сервисом или процессом. «AGP_ILLEGALLY_REPROGRAMMED». |
0x00000108 | Сбой внешних файловых систем или систем, поставленных помимо основных. «THIRD_PARTY_FILE_SYSTEM_FAILURE». |
0x00000109 | Ошибка процессов ядра системы. «CRITICAL_STRUCTURE_CORRUPTION» видимо необходимо перезагрузить компьютер. |
0x0000010A | Редко возникающее сообщение «APP_TAGGING_INITIALIZATION_FAILED» без описания. |
0x0000010C | Сбой библиотеки обработчика файловой системы, связанный с его некорректной работой и попыткой нарушения целостности данных. «FSRTL_EXTRA_CREATE_PARAMETER_VIOLATION». |
0x0000010D | Проблемы, обнаруженные библиотекой драйверов уровня ядра. Означают, что один из основных базовых системных драйверов поврежден или работает неправильно. «WDF_VIOLATION». |
0x0000010E | Ситуация, в которой оказался менеджер памяти видеокарты, не подразумевает дальнейшей правильной работе и вызывает исключение, вызывающее синий экран. «VIDEO_MEMORY_MANAGEMENT_INTERNAL». |
0x0000010F | Менеджер транзакций ядра обнаружил, что один из процессов ядра запустил исключение в ответ на прямой вызов. Менеджер ресурсов не может обработать это исключение и поэтому останавливает свою работу. Сбой ядра системы с появлением синего экрана смерти. «RESOURCE_MANAGER_EXCEPTION_NOT_HANDLED». |
0x00000111 | Вызов немаскируемого прерывания в то время, как уже исполняется другое немаскируемое прерывание. «RECURSIVE_NMI» |
0x00000112 | Драйвер Msrpc.sys вызвал общий останов системы. «MSRPC_STATE_VIOLATION» |
0x00000113 | Свидетельствует о том, что ядро видеоподсистемы столкнулось с проблемами и вызывает общий останов системы с появлением синего экрана. «VIDEO_DXGKRNL_FATAL_ERROR» |
0x00000114 | Отказ системы по инициативе теневого драйвера. «VIDEO_SHADOW_DRIVER_FATAL_ERROR» |
0x00000115 | Нарушения работы порта AGP. Могут быть вызваны как программными, так и аппаратными причинами. «AGP_INTERNAL» |
0x00000116 | Попытка перезагрузить драйвер дисплея, видеокарты окончилась неудачей. Перезагрузка была вызвана его зависанием. «VIDEO_TDR_ERROR» |
0x00000117 | Драйвер дисплея и видеокарты перестал отвечать на запросы. «VIDEO_TDR_TIMEOUT_DETECTED» . |
0x00000119 | Обработчик запросов видеокарты столкнулся с серьезными проблемами в своей работы и вызывает голубой экран смерти с крушением всей системы. «VIDEO_SCHEDULER_INTERNAL_ERROR». |
0x0000011A | Редко возникающая ошибка, неспецифическая, не имеющая описания. «EM_INITIALIZATION_FAILURE». |
0x0000011B | Эта проверка ошибок указывает, что драйвер вернулся из процедуры отмены, которая содержит глобальную блокировку отмены. Это приводит к сбою всех последующих вызовов отмены, а также приводит к блокировке или другой ошибке. «DRIVER_RETURNED_HOLDING_CANCEL_LOCK» |
0x0000011C | Зафиксирована попытка записи в защищенный от записи менеджер конфигуацй. Может быть вызвана вирусом или неправильным драйвером. «ATTEMPTED_WRITE_TO_CM_PROTECTED_STORAGE». |
0x0000011D | Внутренняя фатальная ошибка подсистемы отслеживания событий. «EVENT_TRACING_FATAL_ERROR». |
0x00000121 | Нарушения со стороны драйвера. «DRIVER_VIOLATION» |
0x00000122 | Внутренние проблемы подсистемы распознавания аппаратных ошибок Windows Hardware Error Architecture (WHEA). Означает, что отказала та система, которая должна мониторить аппаратные сбои. «WHEA_INTERNAL_ERROR». |
0x00000124 | Полный аппаратный сбой. Означает, что конкретная причина проблем не указана, но Windows не в состоянии продолжать работу в той аппаратной конфигурации, что имеется в настоящий момент. «WHEA_UNCORRECTABLE_ERROR». |
0x00000127 | Проблемы с памятью — система увидела, что страница ОЗУ, которая должна быть заполнена нулями, оказалась не заполненной. Возникает при аппаратных проблемах. «PAGE_NOT_ZERO». |
0x0000012B | Несовпадение контроля четности памяти. Аппаратные проблемы с оперативной памятью. Могут быть кратковременными. «FAULTY_HARDWARE_CORRUPTED_PAGE» . |
0x0000012C | Проблемы с доступом к диску. Система exFAT диска не читается. «EXFAT_FILE_SYSTEM» |
0x1000007E | Невозможность обработать или распознать ошибку, возникшую в системе среди файлов и программ операционной системы. «SYSTEM_THREAD_EXCEPTION_NOT_HANDLED_M» . |
0x1000007F | Неизвестная ошибка процессора, которую ядро не в силах обработать. «UNEXPECTED_KERNEL_MODE_TRAP_M». |
0x1000008E | Программа уровня ядра вызвала прерывание, которое обработчик ошибок не может распознать. «KERNEL_MODE_EXCEPTION_NOT_HANDLED_M». |
0x100000EA | Один из потоков драйвера не заканчивается. Проблемы с устройством или драйвером (или обоими). «THREAD_STUCK_IN_DEVICE_DRIVER_M» |
0xC0000218 | Возникает при невозможности увидеть, прочитать или загрузить файл реестра ОС. «STATUS_CANNOT_LOAD_REGISTRY_FILE» . |
0xC000021A | Проблемы системы взаимодействия с пользователем. Возникает при невозможности дальнейшего взаимодействия и повреждения критических подсистем. «STATUS_SYSTEM_PROCESS_TERMINATED». |
0xC0000221 | Повреждение системного файла или библиотеки. Контрольная сумма не совпадает. «STATUS_IMAGE_CHECKSUM_MISMATCH» . |
0xDEADDEAD | Ошибка, вызванная пользователем вручную. Да, бывает и такое! |
При возникновении синих экранов BSoD Windows 11, 10 и другие версии системы создают дамп (снимок состояния) оперативной памяти, содержащий отладочную информацию, которую можно использовать для диагностики и определения причин сбоя. Функция обычно включена по умолчанию, но если дампы памяти не создаются, их можно включить: Как включить создание дампов памяти в Windows.
Подробным анализом дампов памяти занимаются разработчики, но и для рядового пользователя, столкнувшегося с синими экранами в Windows это может оказаться полезным: адреса в памяти ему ничего не дадут, но часто можно обнаружить имя файла приложения или драйвера, вызывающее сбой. Здесь помогут специальные программы для анализа дампов памяти, о которых и пойдёт речь далее.
WinDbg
У Майкрософт имеется собственный инструмент отладки и анализа дампов памяти — WinDbg (пока Preview). Скачать его для Windows 11 и Windows 10 можно из Microsoft Store, используя поиск в магазине приложений или прямую ссылку.
Пример простого анализа дампа памяти для обычного пользователя с целью выявления процесса, вызвавшего BSoD с помощью WinDbg:
- Запустите WinDbg от имени Администратора (правый клик по ярлыку в меню «Пуск» — «Запуск от имени администратора»).
- В главном меню программы выберите «Файл» — «Open dump File» и укажите путь к нужному мини-дампу, обычно находящемуся в папке C:\Windows\Minidump, нажмите кнопку «Open».
- Введите команду
!analyze -v
в поле ввода команд (либо нажмите по ссылке с командой в верхней панели WinDbg) и дождитесь завершения анализа.
- В панели «Command» в верхней части окна программы будет отображен результат анализа, где, при удаче, вы сможете найти информацию о том, каким процессом был инициирован сбой (PROCESS_NAME).
- Может быть информация о файле драйвера (.sys) в поле IMAGE_NAME и другая информация, позволяющая найти источник проблемы.
Далее полученную информацию можно использовать для того, чтобы найти, каким устройствам соответствуют драйверы в Интернете, выяснить назначение процессов вызвавших сбой, предпринять те или иные действия с целью их устранения.
BlueScreenView
BlueScreenView — очень простая утилита, которая позволяет выбрать файла дампа памяти в списке и посмотреть, какие файлы драйвера и процессы привели к сбою: в окне программы они будут выделены красным цветом.
Скачать BlueScreenView можно с официального сайта разработчика https://www.nirsoft.net/utils/blue_screen_view.html
WhoCrashed
Ещё одна программа для анализа дампов памяти — WhoCrashed. В бесплатной версии предоставляет не так много информации.
После нажатия кнопки «Analyze» имеющиеся дампы памяти анализируются, и на вкладке «Report» выводятся коды ошибок, а также текстовое описание на английском языке о том, что означает этот код и о возможных причинах сбоя.
Официальный сайт WhoCrashed https://www.resplendence.com/whocrashed, судя по всему, не открывается из РФ, но утилиту легко найти и скачать из сторонних источников.
В момент критического сбоя операционная система Windows прерывает работу и показывает синий экран смерти (BSOD). Содержимое оперативной памяти и вся информация о возникшей ошибке записывается в файл подкачки. При следующей загрузке Windows создается аварийный дамп c отладочной информацией на основе сохраненных данных. В системном журнале событий создается запись о критической ошибке.
Внимание! Аварийный дамп не создается, если отказала дисковая подсистема или критическая ошибка возникла на начальной стадии загрузки Windows.
Содержание:
- Типы аварийных дампов памяти Windows
- Как включить создание дампа памяти в Windows?
- Установка WinDBG в Windows
- Настройка ассоциации .dmp файлов с WinDBG
- Настройка сервера отладочных символов в WinDBG
- Анализ аварийного дампа памяти в WinDBG
Типы аварийных дампов памяти Windows
На примере актуальной операционной системы Windows 10 (Windows Server 2016) рассмотрим основные типы дампов памяти, которые может создавать система:
- Мини дамп памяти (Small memory dump) (256 КБ). Этот тип файла включает минимальный объем информации. Он содержит только сообщение об ошибке BSOD, информацию о драйверах, процессах, которые были активны в момент сбоя, а также какой процесс или поток ядра вызвал сбой.
- Дамп памяти ядра (Kernel memory dump). Как правило, небольшой по размеру — одна треть объема физической памяти. Дамп памяти ядра является более подробным, чем мини дамп. Он содержит информацию о драйверах и программах в режиме ядра, включает память, выделенную ядру Windows и аппаратному уровню абстракции (HAL), а также память, выделенную драйверам и другим программам в режиме ядра.
- Полный дамп памяти (Complete memory dump). Самый большой по объему и требует памяти, равной оперативной памяти вашей системы плюс 1MB, необходимый Windows для создания этого файла.
- Автоматический дамп памяти (Automatic memory dump). Соответствует дампу памяти ядра с точки зрения информации. Отличается только тем, сколько места он использует для создания файла дампа. Этот тип файлов не существовал в Windows 7. Он был добавлен в Windows 8.
- Активный дамп памяти (Active memory dump). Этот тип отсеивает элементы, которые не могут определить причину сбоя системы. Это было добавлено в Windows 10 и особенно полезно, если вы используете виртуальную машину, или если ваша система является хостом Hyper-V.
Как включить создание дампа памяти в Windows?
С помощью Win+Pause откройте окно с параметрами системы, выберите «Дополнительные параметры системы» (Advanced system settings). Во вкладке «Дополнительно» (Advanced), раздел «Загрузка и восстановление» (Startup and Recovery) нажмите кнопку «Параметры» (Settings). В открывшемся окне настройте действия при отказе системы. Поставьте галку в чек-боксе «Записать события в системный журнал» (Write an event to the system log), выберите тип дампа, который должен создаваться при сбое системы. Если в чек-боксе «Заменять существующий файл дампа» (Overwrite any existing file) поставить галку, то файл будет перезаписываться при каждом сбое. Лучше эту галку снять, тогда у вас будет больше информации для анализа. Отключите также автоматическую перезагрузку системы (Automatically restart).
В большинстве случаев для анализа причины BSOD вам будет достаточно малого дампа памяти.
Теперь при возникновении BSOD вы сможете проанализировать файл дампа и найти причину сбоев. Мини дамп по умолчанию сохраняется в папке %systemroot%\minidump. Для анализа файла дампа рекомендую воспользоваться программой WinDBG (Microsoft Kernel Debugger).
Установка WinDBG в Windows
Утилита WinDBG входит в «Пакет SDK для Windows 10» (Windows 10 SDK). Скачать можно здесь.
Файл называется winsdksetup.exe, размер 1,3 МБ.
WinDBG для Windows7 и более ранних систем включен в состав пакета «Microsoft Windows SDK for Windows 7 and .NET Framework 4». Скачать можно здесь.
Запустите установку и выберите, что именно нужно сделать – установить пакет на этот компьютер или загрузить для установки на другие компьютеры. Установим пакет на локальный компьютер.
Можете установить весь пакет, но для установки только инструмента отладки выберите Debugging Tools for Windows.
После установки ярлыки WinDBG можно найти в стартовом меню.
Настройка ассоциации .dmp файлов с WinDBG
Для того, чтобы открывать файлы дампов простым кликом, сопоставьте расширение .dmp с утилитой WinDBG.
- Откройте командную строку от имени администратора и выполните команды для 64-разрядной системы:
cd C:\Program Files (x86)\Windows Kits\10\Debuggers\x64
windbg.exe –IA
для 32-разрядной системы:
C:\Program Files (x86)\Windows Kits\10\Debuggers\x86
windbg.exe –IA - В результате типы файлов: .DMP, .HDMP, .MDMP, .KDMP, .WEW – будут сопоставлены с WinDBG.
Настройка сервера отладочных символов в WinDBG
Отладочные символы (debug-символы или symbol files) – это блоки данных, генерируемые в процессе компиляции программы совместно с исполняемым файлом. В таких блоках данных содержится информация о именах переменных, вызываемых функциях, библиотеках и т.д. Эти данные не нужны при выполнении программы, но полезные при ее отладке. Компоненты Microsoft компилируются с символами, распространяемыми через Microsoft Symbol Server.
Настройте WinDBG на использование Microsoft Symbol Server:
- Откройте WinDBG;
- Перейдите в меню File –> Symbol File Path;
- Пропишите строку, содержащую URL для загрузки символов отладки с сайта Microsoft и папку для сохранения кэша:
SRV*E:\Sym_WinDBG*http://msdl.microsoft.com/download/symbols
В примере кэш загружается в папку E:\Sym_WinDBG, можете указать любую. - Не забывайте сохранить изменения в меню File –> Save WorkSpace;
WinDBG произведет поиск символов в локальной папке и, если не обнаружит в ней необходимых символов, то самостоятельно загрузит символы с указанного сайта. Если вы хотите добавить собственную папку с символами, то можно сделать это так:
SRV*E:\Sym_WinDBG*http://msdl.microsoft.com/download/symbols;c:\Symbols
Если подключение к интернету отсутствует, то загрузите предварительно пакет символов с ресурса Windows Symbol Packages.
Анализ аварийного дампа памяти в WinDBG
Отладчик WinDBG открывает файл дампа и загружает необходимые символы для отладки из локальной папки или из интернета. Во время этого процесса вы не можете использовать WinDBG. Внизу окна (в командной строке отладчика) появляется надпись Debugee not connected.
Команды вводятся в командную строку, расположенную внизу окна.
Самое главное, на что нужно обратить внимание – это код ошибки, который всегда указывается в шестнадцатеричном значении и имеет вид 0xXXXXXXXX (указываются в одном из вариантов — STOP: 0x0000007B, 02.07.2019 0008F, 0x8F). В нашем примере код ошибки 0х139.
Полный справочник ошибок можно посмотреть здесь.
Отладчик предлагает выполнить команду !analyze -v, достаточно навести указатель мыши на ссылку и кликнуть. Для чего нужна эта команда?
- Она выполняет предварительный анализ дампа памяти и предоставляет подробную информацию для начала анализа.
- Эта команда отобразит STOP-код и символическое имя ошибки.
- Она показывает стек вызовов команд, которые привели к аварийному завершению.
- Кроме того, здесь отображаются неисправности IP-адреса, процессов и регистров.
- Команда может предоставить готовые рекомендации по решению проблемы.
Основные моменты, на которые вы должны обратить внимание при анализе после выполнения команды !analyze –v (листинг неполный).
1: kd>
!analyze -v
*****************************************************************************
* *
* Bugcheck Analysis *
* *
*****************************************************************************
Символическое имя STOP-ошибки (BugCheck)
KERNEL_SECURITY_CHECK_FAILURE (139)
Описание ошибки (Компонент ядра повредил критическую структуру данных. Это повреждение потенциально может позволить злоумышленнику получить контроль над этой машиной):
A kernel component has corrupted a critical data structure. The corruption could potentially allow a malicious user to gain control of this machine.
Аргументы ошибки:
Arguments:
Arg1: 0000000000000003, A LIST_ENTRY has been corrupted (i.e. double remove).
Arg2: ffffd0003a20d5d0, Address of the trap frame for the exception that caused the bugcheck
Arg3: ffffd0003a20d528, Address of the exception record for the exception that caused the bugcheck
Arg4: 0000000000000000, Reserved
Debugging Details:
------------------
Счетчик показывает сколько раз система упала с аналогичной ошибкой:
CUSTOMER_CRASH_COUNT: 1
Основная категория текущего сбоя:
DEFAULT_BUCKET_ID: FAIL_FAST_CORRUPT_LIST_ENTRY
Код STOP-ошибки в сокращенном формате:
BUGCHECK_STR: 0x139
Процесс, во время исполнения которого произошел сбой (не обязательно причина ошибки, просто в момент сбоя в памяти выполнялся этот процесс):
PROCESS_NAME: sqlservr.exe
CURRENT_IRQL: 2
Расшифровка кода ошибки: В этом приложении система обнаружила переполнение буфера стека, что может позволить злоумышленнику получить контроль над этим приложением.
ERROR_CODE: (NTSTATUS) 0xc0000409 - The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application.
EXCEPTION_CODE: (NTSTATUS) 0xc0000409 - The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application.
Последний вызов в стеке:
LAST_CONTROL_TRANSFER: from fffff8040117d6a9 to fffff8040116b0a0
Стек вызовов в момент сбоя:
STACK_TEXT:
ffffd000`3a20d2a8 fffff804`0117d6a9 : 00000000`00000139 00000000`00000003 ffffd000`3a20d5d0 ffffd000`3a20d528 : nt!KeBugCheckEx
ffffd000`3a20d2b0 fffff804`0117da50 : ffffe000`f3ab9080 ffffe000`fc37e001 ffffd000`3a20d5d0 fffff804`0116e2a2 : nt!KiBugCheckDispatch+0x69
ffffd000`3a20d3f0 fffff804`0117c150 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiFastFailDispatch+0xd0
ffffd000`3a20d5d0 fffff804`01199482 : ffffc000`701ba270 ffffc000`00000001 000000ea`73f68040 fffff804`000006f9 : nt!KiRaiseSecurityCheckFailure+0x3d0
ffffd000`3a20d760 fffff804`014a455d : 00000000`00000001 ffffd000`3a20d941 ffffe000`fcacb000 ffffd000`3a20d951 : nt! ?? ::FNODOBFM::`string'+0x17252
ffffd000`3a20d8c0 fffff804`013a34ac : 00000000`00000004 00000000`00000000 ffffd000`3a20d9d8 ffffe001`0a34c600 : nt!IopSynchronousServiceTail+0x379
ffffd000`3a20d990 fffff804`0117d313 : ffffffff`fffffffe 00000000`00000000 00000000`00000000 000000eb`a0cf1380 : nt!NtWriteFile+0x694
ffffd000`3a20da90 00007ffb`475307da : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x13
000000ee`f25ed2b8 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x00007ffb`475307da
Участок кода, где возникла ошибка:
FOLLOWUP_IP:
nt!KiFastFailDispatch+d0
fffff804`0117da50 c644242000 mov byte ptr [rsp+20h],0
FAULT_INSTR_CODE: 202444c6
SYMBOL_STACK_INDEX: 2
SYMBOL_NAME: nt!KiFastFailDispatch+d0
FOLLOWUP_NAME: MachineOwner
Имя модуля в таблице объектов ядра. Если анализатору удалось обнаружить проблемный драйвер, имя отображается в полях MODULE_NAME и IMAGE_NAME:
MODULE_NAME: nt
IMAGE_NAME: ntkrnlmp.exe
Если кликнете по ссылке модуля (nt), то увидите подробную информацию о пути и других свойствах модуля. Находите указанный файл, и изучаете его свойства.
1: kd>
lmvm nt
Browse full module list
Loaded symbol image file: ntkrnlmp.exe
Mapped memory image file: C:\ProgramData\dbg\sym\ntoskrnl.exe\5A9A2147787000\ntoskrnl.exe
Image path: ntkrnlmp.exe
Image name: ntkrnlmp.exe
InternalName: ntkrnlmp.exe
OriginalFilename: ntkrnlmp.exe
ProductVersion: 6.3.9600.18946
FileVersion: 6.3.9600.18946 (winblue_ltsb_escrow.180302-1800)
В приведенном примере анализ указал на файл ядра ntkrnlmp.exe. Когда анализ дампа памяти указывает на системный драйвер (например, win32k.sys) или файл ядра (как в нашем примере ntkrnlmp.exe), вероятнее всего данный файл не является причиной проблемы. Очень часто оказывается, что проблема кроется в драйвере устройства, настройках BIOS или в неисправности оборудования.
Если вы увидели, что BSOD возник из-за стороннего драйвера, его имя будет указано в значениях MODULE_NAME и IMAGE_NAME.
Например:
Image path: \SystemRoot\system32\drivers\cmudaxp.sys
Image name: cmudaxp.sys
Откройте свойсва файла драйвера и проверьте его версию. В большинстве случаев проблема с драйверами решается их обнвовлением.
Обновление Anniversary операционной системы Windows 10 добавило в нее множество утилит и дополнительных программ, которые могут потребоваться пользователю. В том числе компания Microsoft ввела новое диагностическое приложение, которое позволяет определить причину возникновения «Синего экрана» — хорошо известной ошибки, которая приводит к перезагрузке компьютера. Если синий экран возникает часто, пользователю важно узнать, почему это происходит, после чего принять шаги для устранения проблемы.
Как узнать причину синего экрана (BSOD) в Windows 10
До обновления Anniversary на Windows 10 узнать причину возникновения синего экрана можно было только в системных файлах компьютера. Компания Microsoft стремится сократить количество взаимодействий между пользователем и системными данными PC, выпуская различные утилиты и диагностические приложения для определения синего экрана.
Чтобы узнать причину синего экрана в Windows 10 после Anniversary обновления нужно сделать следующее:
- Перейти в центр безопасности и обслуживания Windows 10. Для этого потребуется зайти в «Панель управления», установить режим просмотра «Крупные значки» и выбрать соответствующий пункт;
- Далее нужно перейти в меню «Устранение неполадок»;
- Откроется новая страница, где в левой части потребуется выбрать «Просмотр всех категорий», чтобы увидеть диагностические утилиты, предусмотренные по умолчанию в операционной системе;
- После того как запустится список всех диагностических инструментов, среди них найдите «Синий экран» и нажмите на него;
- Запустится утилита «Синий экран», которая может работать в двух режима:
Важно помнить, что не всегда синий экран возникает при работе Windows из-за программной ошибки. Он может появляться из-за проблем с «железом» (перегрев или повреждения компонентов компьютера) или вирусами. Когда ошибка будет определена диагностической утилитой Windows, можно узнать подробности о ней на сайте Microsoft по коду ошибки BugCheck.
Почему нужно диагностировать причину синего экрана
Многие пользователи Windows считают нормальной ситуацию, когда несколько раз в месяц компьютер перезагружается из-за BSOD – синего экрана. Данная ошибка является для многих привычной, и они не думают о многих проблемах, к которым она может привести:
- Экстренное завершение программ и драйверов операционной системы может вылиться в потерю «пакетов данных», из-за чего позже приложение не будет запускаться на компьютере или придется переустанавливать драйвер;
- Непредсказуемая потеря данных. Неожиданное появление синего экрана может привести к потере проектов, создаваемых на компьютере;
- Выход из строя «железа». Синий экран негативно сказывается на работе компонентов компьютера. Из оперативной памяти мгновенно выгружается вся информация, жесткие диски резко останавливаются. Мгновенный выход из рабочего режима может привести к поломке комплектующих компьютера.
- Вирусное воздействие. Часто причиной BSOD становятся вирусы, которые могут различными способами навредить компьютеру: зашифровать файлы, передать личные данные на сервера злоумышленников, привести к неисправности операционной системы и прочее.
Если синий экран появляется регулярно, нужно обязательно определить причину возникновения ошибки и устранить ее.
(411 голос., средний: 4,48 из 5)
Загрузка…