Почему появляется синий экран смерти и что с ним делать. Что такое BSOD (синий экран смерти) и как с ним бороться Синий экран смерти и анализ дампов самостоятельно

Чтобы получить сведения об ошибки введите её код в текстовое поле чуть ниже в следующем формате: 7е или 0x0000007e

Перейти к описанию

UNEXPECTED_KERNEL_MODE_TRAP

Эта ошибка означает, что произошло непредвиденное исключение в режиме ядра, или прерывания, при котором ядро не срабатывает.

Также причиной ошибки может стать прерывание, которое повлекло за собой немедленную смерть в виде двойной ошибки – double fault. Первое число в коде ошибки – число прерывания (8 = double fault). Чтобы узнать больше, что это за прерывание, обратитесь к мануалу семейства Intel x86.

Короче говоря, ошибка появляется, когда процессор допускает ошибку, с которой ядро не может справиться. Чаще всего ошибка возникает из-за плохих блоков ОЗУ, а иногда из-за разгона процессора.

Попробуйте отменить в BIOS функцию синхронной передачи данных.

Поиск и устранение неисправностей: Если в компьютер устанавливались новые аппаратные средства, необходимо их отсоединить. Если к сбою привели существующие аппаратные средства, то необходимо удалить или при необходимости заменить сбойные комплектующие компьютера.

Просканируйте оперативную память на наличие ошибок.

Убедитесь, что все комплектующие компьютера установлены должным образом. Прочистите контакты адаптеров.

Обновите BIOS.

Все жесткие диски, контроллеры жестких дисков и адаптеры SCSI должны быть совместимы с установленной версией Windows.

Если драйвер идентифицирован в сообщении ошибки, отключите или обновите данный драйвер. Отключите или удалите любые драйвера или службы, которые были недавно добавлены. Если ошибка происходит во время загрузки Windows, и системный раздел отформатирован с файловой системой NTFS, используйте Безопасный режим, чтобы переустановить или удалить дефектный драйвер. Если драйвер используется в качестве системного процесса запуска в Безопасном режиме, запустите компьютер с помощью Консоли восстановления, чтобы получить доступ к файлу.

Перезапустите компьютер и нажмите F8 в меню текстового режима, для вывода на экран вариантов загрузки операционной системы. В данном меню выберите “Загрузить последнюю удачную конфигурацию”. Эта опция является самой эффективной, при добавлении в систему только одного драйвера или службы за один раз.

Разгон центрального процессора может вызвать ошибку. Верните значение тактовой частоты ЦП по умолчанию.

Убедитесь, что система входит в систему Event Viewer. Находящиеся там сведения об ошибках помогут идентифицировать устройство или драйвер, который вызывает экран смерти 0x0000007F.

Отключите кэширование памяти BIOS.

Если ошибка UNEXPECTED_KERNEL_MODE_TRAP появилась при обновлении до новой версии операционной системы Windows, то она может быть вызвана драйвером устройства, системной службой, антивирусной программой или программой резервного копирования, которые несовместимы с новой версией. Удалите все сторонние драйвера устройств и системные службы, отключите антивирусные программы.

Установите последний пакет обновления Windows.

Если предыдущие шаги не помогли решить проблему, отнесите материнскую плату в ремонтную мастерскую для диагностики. Трещины, царапины или дефектные компоненты на системной плате могут вызвать эту ошибку.

SPIN_LOCK_INIT_FAILURE

Эта ошибка проверки появляется очень редко.

DFS_FILE_SYSTEM

Ошибки распределенной файловой системы (Distributed file system).

Обновите ОС.

SETUP_FAILURE

Произошла фатальная ошибка во время установки.

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

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

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

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

Причина ошибки:

0: NtCreateFile of devicevideo0

3: Желаемый режим видео не поддерживается. Это означает внутреннюю ошибку установки.

2: Нехватка памяти. Теперь эта ошибка использует более дружественный экран, в зависимости от того, как далеко зашла установка.

3: Клавиатура не была инициализирована. Теперь используются 2 разных экрана в зависимости от ошибок, которые тут могли появиться. Это может означать, что диск, содержащий драйвера для клавиатуры (i8042prt.sys или kbdclass.sys) повреждён или машина имеет клавиатуру, которая не поддерживается.

Так же это может означать, что dll раскладки клавиатуры не может быть загружен.

Причина ошибки:

0: NtCreateFile of deviceKeyboardClass0 .

Установка не обнаружила клавиатуру, подключённую к вашему компьютеру.

1: Unable to load keyboard layout dll.

Установка не может загрузить dll раскладки клавиатуры.

Это значит, что на флоппи или CD нет файла (kbdus.dll для us или других dll).

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

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

MBR_CHECKSUM_MISMATCH

Данная ошибка происходит во время загрузки операционной системы, когда контрольная сумма MBR, которую вычисляет операционная система Microsoft Windows, не соответствует контрольной сумме загрузчика системы.

Данный BSoD указывает на наличие вирусов.

Необходимо просканировать операционную систему на наличие вирусов актуальными антивирусными программами.

PAGE_FAULT_IN_NON_PAGED_AREA

Данный BSoD является общей ошибкой. Чтобы интерпретировать её, необходимо идентифицировать, какое исключение было сгенерировано.

Существуют следующие коды исключений:

0x80000002: STATUS_DATATYPE_MISALIGNMENT указывает на не выровненную ссылку данных;

0x80000003: STATUS_BREAKPOINT. Указывает на ситуацию, когда система сталкивается с контрольной точкой или ASSERT без присоединенного отладчика ядра;

0xC0000005: STATUS_ACCESS_VIOLATION указывает на нарушение доступа к памяти.

Для решение ошибки необходимо:

Удостоверьтесь, что системный раздел диска имеет достаточно свободного места;

Если в сообщении ошибки идентифицирован драйвер, отключите или обновите его;

Заменить видеокарту;

Обновите BIOS;

Отключите опции кэширования и затенения памяти BIOS.

2 параметр (адрес исключения) должен идентифицировать драйвер или функцию, которая вызвала ошибку.

Если причины исключения не определенны, рассмотрите следующие проблемы:

Аппаратная несовместимость. Удостоверьтесь, что новые установленные аппаратные средства совместимы с установленной версией Windows;

Дефектный драйвер устройства или системная служба могут быть причинами ошибки. Аппаратные проблемы, такие как несовместимости BIOS, конфликты памяти и конфликты IRQ также могут генерировать синий экран.

Если в ошибке указано название драйвера его необходимо удалить или отключить. Также удалите или отключите все недавно добавленные драйвера и службы. Если ошибка происходит во время запуска системы, а системный раздел отформатирован файловой системой NTFS, необходимо использовать Безопасный режим, чтобы удалить дефектный драйвер. Если драйвер используется в качестве части системного процесса запуска Безопасного режима, то для доступа к файлу потребуется запустить компьютер при помощи Консоли восстановления.

Если BSoD указывает на системный драйвер Win32k.sys, источником ошибки может быть сторонняя программа дистанционного управления. При наличии такого программного обеспечения его необходимо удалить.

Убедитесь, что система входит в систему Event Viewer. Находящиеся там сведения об ошибках помогут идентифицировать устройство или драйвер, который вызывает Stop 0x0000008E.

Отключить кэширование памяти BIOS. Обновите прошивку BIOS.

Необходимо также выполнить аппаратную диагностику. Просканируйте оперативную память на наличие ошибок.

Синий экран KERNEL_MODE_EXCEPTION_NOT_HANDLED может произойти после первого перезапуска во время установки Windows, или после окончания установки. Возможная причина – нехватка дискового пространства для установки. Удалите все временные файлы, файлы кэша интернета, файлы резервных копий приложений и.chk файлы. Можете использовать другой жесткий диск с большим объемом.

PP1_INITIALIZATION_FAILED

Ошибка происходит во время инициализации первичной фазы менеджера Plug and Play в режиме ядра. К этому моменту инициализированы системные файлы, драйвера и реестр.

Проверьте оборудование и системный диск.

WIN32K_INIT_OR_RIT_FAILURE

UP_DRIVER_ON_MP_SYSTEM

Эта ошибка возникает только тогда, когда однопроцессорный драйвер загружается в системе, где присутствует более чем один активный процессор.

INVALID_KERNEL_HANDLE

Эта ошибка появляется, когда некоторый код ядра (например, сервер, редиректор, или другой драйвер) попытался закрыть недопустимый дескриптор или защищенный дескриптор.

Параметры:

1 – Вызванный дескриптор NtClose

2 – 0 означает, что был закрыт защищенный дескриптор

1 означает, что был закрыт неправильный дескриптор

Также ошибку может вызвать служба клиента Novell NetWare версии 3.5b.

PNP_INTERNAL_ERROR

INVALID_WORK_QUEUE_ITEM

Эта проверка ошибки указывает, что запись очереди была удалена, который содержал нулевой указатель.

Это сообщение появляется, когда KeRemoveQueue удаляет очередь данных, в то время, как flink или blink поле равно 0. Это практически всегда происходит из за неправильного применения кода работающего элемента текущего объекта, но неправильное применение любой очереди также может привести к этой ошибки. Правило – ввод данных в очередь может быть произведено только однажды. Когда элемент удаляется из очереди, его flink поле равно 0. Эта ошибка возникает, когда происходит попытка удалить данные, flink или blink поля которых равны 0. Для того, чтобы разрешить эту ошибку, вам необходимо выяснить очередь, на которую он ссылается. Если эта очередь одна из ЕХ работающих очередей (ExWorkerQueue), тогда объект, который удаляется – WORK_QUEUE_ITEM. Эта ошибка подразумевает, что это и есть причина. Параметры ошибки помогают выявить драйвер, который неправильно использует очередь.

BOUND_IMAGE_UNSUPPORTED

MmLoadSystemImage была вызвана, чтобы загрузить bound image. Это не поддерживается ядром. Убедитесь, что bind.exe не был запушен для картинки.

Параметры:

1 – Адрес данных в очереди, flink/blink поле которых ноль.

2 – Адрес на ссылающуюся очередь. Обычно это одна из ExWorkerQueues очередей.

3 – Начальный адресс ExWorkerQueue массива. Это поможет выявить, если очередь в вопросе одна из ExWorkerQueue очередей и если так, то офсет из этого параметра выявит очередь.

4 – Если это ExWorkerQueue очередь (как это бывает обычно), это адрес работающей рутины, которая бы вызывалась, если работающий элемент был бы действительным. Это может быть использовано, чтобы выявить драйвер, который неправильно использует рабочую очередь.

Проблема вызвана некорректным драйвером оборудования.

END_OF_NT_EVALUATION_PERIOD

Эта ошибка проверка показывает, что испытательный срок для операционной системы Microsoft Windows закончилась.

INVALID_REGION_OR_SEGMENT

ExInitializeRegion или ExInterlockedExtendRegion были вызваны с неправильным набором параметров.

SYSTEM_LICENSE_VIOLATION

Операционная система Microsoft Windows обнаруживала нарушение лицензионного соглашения.

BSoD происходит при попытке пользователя изменить тип продукта оффлайновой системы или при изменении испытательный срока модуля оценки Windows.

UDFS_FILE_SYSTEM

Одна из возможных причин появления синего экрана – повреждение жесткого диска. Повреждение файловой системы или сбойные блоки (сектора) на диске могут вызвать эту ошибку. Поврежденные драйвера SCSI и IDE могут также оказать негативное влияние на возможность системы считывать и записывать на жесткий диск, таким образом, вызывая данную ошибку.

Другая возможная причина – истощение пула не подкачиваемой памяти. Во время процесса индексации, если количество доступного пула не подкачиваемой памяти очень мало, другой драйвер требующий пул не подкачиваемой памяти, может инициировать ошибку.

Решить проблему дискового повреждения: Проверьте Event Viewer (просмотр событий) на сообщения об ошибках SCSI и FASTFAT (журнал системы) или Autochk (Журнал приложения), которые могут точно определить устройство или драйвер, который вызывает ошибку. Попытайтесь отключить любые антивирусные программы, сделайте копию программ, или инструментов дефрагментатора диска, которые непрерывно контролируют систему. Вы должны также выполнить аппаратную диагностику системы.

Выполните команду Chkdsk/f/r, чтобы обнаружить и исправить любое структурное повреждение файловой системы. Вы должны перезапустить систему прежде, чем дисковое сканирование начнется на системном разделе.

Необходимо решить проблему истощения пула не подкачиваемой памяти: добавьте новую физическую память к компьютеру. Это увеличит количество пула не подкачиваемой памяти, доступной ядру.

MACHINE_CHECK_EXCEPTION

Фатальная ошибка Machine Check Exception.

Это происходит из-за того, что процессор вашего компьютера обнаруживает ошибку и сообщает об этом Windows XP. Чтобы сделать это он использует Machine Check Exception (MCE) для процессоров Pentium или Machine Check Architecture (MCA) для некоторых процессоров Pentium Pro. Ошибка может вызываться следующим:

Ошибки системной шины

Проблемы с чётностью в памяти или Error Correction Code (ECC)

Проблемы кеширования в процессоре или в оборудовании

Translation Lookaside Buffers (TLB) проблемы в процессоре

Другие проблемы с процессором

Другие проблемы с оборудованием

Ошибка может возникнуть если:

1. Вы разогнали (overclocking) процессор или шину. В этом случае, установите параметры работы рекомендуемые производителем.

2. Не стабильный блок питания. Удостоверьтесь, что ваш БП работает корректно.

3. Перегрев. Перегрев каких либо компонентов может привести к этой ошибке. Убедитесь, что все вентеляторы работают исправно.

4. Повреждённая память или память не подходящая для вашего компьютера. Убедитесь, что память работает исправно и модель совместима с вашей конфигурацией.

Добавление:

Такая ошибка так же может возникнуть если:

1. Вы изменили параметры в BIOS, влияющие на конфигурацию ядра системы

2. Вы установили ХР с образа чужой системы

3. У вас не правильно подключено какое-то оборудование

Происходит это из-за того что проверка машины не соответствует уже установленной конфигурации ядра.

В Windows Vista и более поздних операционных системах синий экран 0x0000009C происходит только при следующих обстоятельствах:

WHEA не полностью инициализирован;

Все процессоры, которые сближаются, не имеют ошибок в регистрах.

При других обстоятельств эта ошибки была заменена BSoD 0x00000124: WHEA_UNCORRECTABLE_ERROR.

USER_MODE_HEALTH_MONITOR

Эта проблема возникает из-за состязания между потокам, который освобождает стека ядра и другим потоком, который выделение памяти.. Эта проблема возникает, если попытки выделения памяти происходит, прежде чем рабочий поток очищает стек памяти ядра.

Аппаратные механизмы обнаружили сервисы режима ядра, которые не выполняются. Однако, проблемы исчерпания ресурсов (включая утечки памяти, конкуренцию за блокировку) могут блокировать критические компоненты пользовательского режима, не блокируя отложенные вызовы процедуры (DPCs) или истощая пул не подкачиваемой памяти.

В операционных системах Microsoft Windows Server 2003, Enterprise Edition, Windows Server 2003, Datacenter Edition, and Windows 2000 with Service Pack 4 (SP4) BSoD может быть вызван пользовательским режимом. Синий экран 0x0000009E происходит, только если пользователь установил HangRecoveryAction в значение 3.

Так же ошибка может появляться при добавлении дополнительных дисковых накопителей для отказоустойчивых кластеров в Windows Server 2008 R2

DRIVER_POWER_STATE_FAILURE

Драйвер находиться в несовместимом или неустоичивом состоянии электропитания.В большинстве случаев происходит из-за сбоев в питании, во время выключения компьютера или выхода из ждущего режима (standby) или сна (hibernate).

Windows ХР и выше

Причиной этого стопа является драйвер устройства, который не выдержал вызова на переход в другое состояние электропитания.

Вы должны обновить или удалить неработоспособный драйвер устройства или драйвер-фильтр файловой системы (file system filter driver), который, возможно, был установлен антивирусником, программой удалённого доступа или ПО CDW/CDRW.

Для обнаружения драйвера примените следующие:

1. Используйте %SystemRoot%System32Sigverif.exe чтобы проверить на драйвера, которые не проходили тесты Microsoft (unsigned drivers).

2. Проверьте обновления драйверов у поставщика вашей системы.

3. Обновите ПО, которое может иметь драйвера-фильтр файловой системы (file system filter drivers).

4. Удалите компоненты оборудования, а так же ПО, которые не обязательны.

5. Установите ещё один Windows на другую партицию. И устанавливаете ПО, тут же проверяя, пока не выявите уязвимую программу.

INTERNAL_POWER_ERROR

Указывает на фатальную ошибку менеджера управления питанием.

ППри попытке перевести компьютер под управлением Windows Vista или Windows Server 2008 в спящий режим появляется сообщение о неустранимой ошибке.

Эта проблема возникает из-за ошибки в файл Atapi.sys. Прежде чем Windows Vista переходит в спящий режим, Windows Vista обладает записи памяти файл спящего режима на диске. Однако в некоторых случаях на диск может не возвращать правильное значение при попытке инициализации соответствующего стека хранилища системы. Когда диск хранения возвращает неправильное значение, Windows Vista перестает отвечать на запросы.

Обновите вашу ОС

PCI_BUS_DRIVER_INTERNAL

0x000000A1 появляется при обнаружении несогласованности в своей внутренней структуре драйвером шины PCI и не возможности продолжить работу.

MEMORY_IMAGE_CURRUPT

0x000000A2 указывает на повреждение образа исполняемого файла в памяти.

Перестала работать контрольная сумма памяти (CRC).

Проверьте память на ошибки.

ACPI_DRIVER_INTERNAL

0x000000A3 указывает, что драйвер ACPI обнаружил внутреннюю несогласованность.

Несогласованность в драйвере ACPI настолько серьезна, что продолжение работы вызвало бы серьезные проблемы.

Возможный источник этой проблемы – ошибка BIOS.

CNSS_FILE_SYSTEM_FILTER

0x000000A4 указывает на ошибку в фильтре файловой системы CNSS.

BSoD CNSS_FILE_SYSTEM_FILTER может произойти из-за переполнения пула не подкачиваемой памяти. Если пул не подкачиваемой памяти абсолютно полон, эта ошибка может остановить работу систему. Если во время процесса индексации, количество доступного пула не подкачиваемой памяти очень мало, другой драйвер, которому требуется пул не подкачиваемой памяти также, может инициировать эту ошибку.

Решить проблему истощения пула не подкачиваемой памяти: добавьте новую физическую память к компьютеру. Это увеличит количество пула не подкачиваемой памяти, доступной ядру.

ACPI_BIOS_ERROR

Причиной данного сообщения являются постоянные сбои в ACPI BIOS. На уровне операционной системы данную проблему решить нельзя. Необходим детальный анализ.

Это может происходить, если обнаружено, что BIOS компьютера не полностью совместим с конфигурацией и питанием (ACPI).

Чтобы устранить данную проблему, обратитесь к производителю компьютера, чтобы получить обновление BIOS, которая является полностью ACPI-совместимых.

Для временного решения этой проблемы необходимо вручную установите стандартный компьютер слой абстрагирования оборудования (HAL):

Перезагрузите компьютер и повторно запустите программу установки.

После повторного запуска программы установки нажмите клавишу F7 (не F6) при появлении на экране «Нажмите F6, если вам необходимо установить особый драйвер SCSI или RAID».

Windows автоматически отключает установки ACPI HAL и устанавливает стандартный HAL ПК.

BAD_EXHANDLE

Эта ошибка означает, что проверка в режиме ядра, таблицы дескрипторов обнаружен несовместимую запись в таблице состояния.

SESSION_HAS_VALID_POOL_ON_EXIT

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

Ошибка происходит, потому что драйвер сеанса не освобождает свои выделения пула прежде, чем сеанс разгрузится. Эта проверка ошибки указывает ошибку в Win32k.sys, Atmfd.dll, Rdpdd.dll, или видеодрайвер.

С синими экранами смерти Windows (B lue S creen o f D ead) не сталкивался, пожалуй, только редкий счастливчик. Большинство же из нас имело «счастье» лицезреть сие явление на собственном ПК. И очень многих оно вгоняет в панику: а вдруг компу крышка?

Чтобы не теряться, когда на экране внезапно засветился синий «фонарь», нужно уметь смотреть неприятелю «в лицо». То есть научиться выяснять, что привело к появлению BSoD’a, оценивать, насколько ситуация критична и знать, что делать, чтобы она больше не повторялась.

«Синий фонарь» включается неожиданно

В процессе работы Windows возникает множество ошибок, основную массу которых система устраняет незаметно для пользователя. Но среди них бывают и столь серьезные, что продолжение сеанса работы становится невозможным. Либо возникшая проблема угрожает Windows или железу необратимым повреждением. В таких случаях и выскакивает BSoD. Система как бы говорит пользователю: «Извини, друг, но у меня не было другого выбора. Если бы не аварийное завершение, произошло бы что-то нехорошее».

Синие экраны смерти возникают на любой стадии загрузки и работы компьютера. А приводит к ним следующее:

  • Некорректная работа драйверов устройств из-за плохой совместимости с операционной системой, конфликта с другими драйверами, повреждения или изменения параметров.
  • Некорректная работа программного обеспечения, чаще того, которое создает собственные службы – антивирусов, файерволов, эмуляторов оборудования и т. п.
  • Заражение вредоносными программами.
  • Аппаратные неполадки – неисправность оперативной памяти, дисковых накопителей, сетевых, звуковых адаптеров, видеоподсистемы, материнской платы, блока питания и другого оборудования.
  • Нештатная работа устройств – перегрев, нестабильное питание, разгон.
  • Нарушение обмена данными между устройствами – плохой контакт в разъемах, неисправные кабели и шлейфы.
  • Несовместимость устройств.

Кстати, однократный BSoD после подключения к компьютеру нового девайса, если в дальнейшем всё работает без нареканий, можно считать нормой.

Что можно узнать из информации на синем экране

К счастью, подавляющее большинство синих экранов смерти вызывается программными сбоями, которые пользователь может устранить самостоятельно и относительно быстро, не прибегая к переустановке винды. Для программных неполадок характерны рандомные по времени BSoD’ы с одинаковыми или близкими по значению кодами ошибки.

Аппаратные «синяки» чаще возникают в одних и тех же условиях (например, при увеличении нагрузки на видеокарту, попытке открыть объемный файл) и имеют разные коды. Либо эти коды указывают на проблемы конкретного оборудования, как то: ошибки доступа к устройству, невозможность считывания, распознавания.

Однако эти признаки позволяют сделать лишь предположение о причине проблемы. Для ее уточнения необходимы более детальные сведения.

Синий экран смерти Windows 10 выглядит так:

Информацию об ошибке в нем несет строка «Stop code ». В моем примере это CRITICAL PROCESS DIED.

Отсканировав телефоном QR-код, который находится здесь же, вы можете перейти на сайт stopcode, где содержатся общие советы по устранению сбоя. Подсказки от Microsoft иногда полезны, но о причине конкретно вашего случая там ничего нет, а значит, придется искать эти данные в другом источнике, например:

  • На компьютерных форумах.
  • В справочниках по различным кодам ошибок, в частности, и в .

Но и это не совсем полные сведения. Каждая ошибка уникальна, и самая точная информация о ней содержится в файле, который система сохраняет на диск в момент сбоя. А именно – в малом дампе памяти, которые мы и будет учиться анализировать. А чтобы такие файлы создавались, необходимо сделать несколько маленьких настроек.

Как включить функцию создания и сохранения малых дампов памяти

Для сохранения дампов памяти на жестком диске системе обязательно нужен , который должен находиться в том же разделе, где папка Виндовс. Его размер может быть от 2 Mb и больше.

  • Зайдите через контекстное меню в свойства папки «Компьютер ».

  • Щелкните в открывшемся окошке кнопку «Дополнительные параметры системы ».

» нажмите кнопочку «Параметры ».

  • В разделе нового окна «Отказ системы » из списка «Запись отладочной информации » выберите «Малый дамп памяти ». В качестве места сохранения пусть будет указано «% SystemRoot%\ Minidump » (%systemroot% – это папка Windows).

На этом настройка закончена. Теперь информация о BSoD’ах будет сохраняться в вышеуказанном каталоге.

Как анализировать содержимое минидампов

С уществует разные способы анализа аварийных дампов памяти Windows, но мы познакомимся с самым, на мой взгляд, удобным и простым – при помощи бесплатной утилиты .

BlueScreenView особенно удобна тем, что не требует установки на компьютер громоздких пакетов Debugging Tools for Windows и может запускаться с любого носителя, достаточно кликнуть по одноименному файлу.

Интерфейс утилиты, несмотря на отсутствие русского языка, весьма дружелюбен. Главное окно разделено на 2 половины. Вверху – таблица минидампов – файлов из папки Windows\Minidump с датой и временем создания (колонка Crash Time ), кодом ошибки в шестнадцатеричном формате (колонка Bug Check Code ), четырьмя ее параметрами и другими сведениями. Впрочем, данные о конкретном сбое удобнее просматривать в отдельном окне, которое открывается двойным щелчком по интересующей строке (показано ниже). Главное окно дает больше информации о проблеме в целом, если BSoD’ы случались неоднократно. В нем легко отслеживать даты происшествий и коды ошибок, по повторяемости которых можно судить о характере неполадки.

Нижняя половина основного окна отображает драйвера, загруженные в память в момент аварийной ситуации по конкретному дампу, выделенному в списке. Строки, подсвеченные розовым, показывают содержимое стека потока событий, а упомянутые в них драйвера имеют самое прямое отношение к причине сбоя.

Разберем для примера один из малых дампов памяти с кодом ошибки 0x00000154. Скажу наперед, что он был вызван заломом шлейфа жесткого диска. Начиная анализ, посмотрим на список драйверов в стеке событий. Здесь нет ничего, кроме ntoskrnl.exe – ядра ОС Windows, которое, конечно, в проблеме не виновато – просто во время сбоя ни одного драйвера в стеке не было, а оно присутствует там всегда.

Для проверки этой версии оценим показатели S.M.A.R.T жесткого диска компьютера, которые отслеживает программа Hard Disk Sentinel. В день аварии здесь появились изменения следующих атрибутов:

  • 188 Command Timeout.
  • 199 UltraDMA CRC Error Count.

Оба указывают на ошибки передачи данных по интерфейсному кабелю. Тест поверхности харда и проверка файловой структуры отклонений не выявили, поэтому проблема была решена заменой шлейфа.

Рассмотрим еще один случай синего экрана смерти, причиной которого стал антивирус Касперского. BSoD периодически возникал во время запуска Windows 10 и при выходе компьютера из спящего режима.

Ошибка зафиксировалась несколько раз под одним и тем же кодом – 0x000000d1, который означает следующее: «драйвер режима ядра попытался получить доступ к странице памяти в процессе IRQL, который имел слишком высокий приоритет». На этот раз BlueScreenView указал на проблему в драйвере NDIS.sys, отвечающем за сетевые подключения. Значит, высока вероятность, что сбой имеет программное происхождение и связан с чем-то, что использует сеть.

Для выявления виновника потребовалось провести анализ автозагрузки приложений. На раннем этапе запуска операционной системы этого ПК стартовало не слишком много программ, которым разрешен доступ в Интернет, точнее, один Касперский. В подтверждение его причастности я снова обратилась к списку загруженных в память драйверов в BlueScreenView и среди того, что присутствует здесь обычно, обнаружила kl1.sys, принадлежащий антивирусу.

После удаления Касперского синие экраны больше не выскакивали.

Утилита BlueScreenView позволяет анализировать аварийные дампы памяти, полученные не только там, где она запущена, но и на другом компьютере. Для этого не нужно копировать их в папку Windows\ Minidump своего ПК, которая загружается в программу по умолчанию. Скопируйте их в любое удобное место, например, на рабочий стол, и укажите программе новое расположение каталога, который следует загружать.

Функция выбора папки с файлами дампов находится в меню «Options » – «Advanced Options » (открывается сочетанием клавиш Ctrl + O) и называется «Load from the following minidump folder ».

Установив здесь отметку, кликните кнопку «Browse » и найдите нужный каталог в проводнике. Когда захотите вернуть настройки по умолчанию, нажмите «Default ».

Вот так за считанные минуты можно узнать причину почти любого синего экрана смерти Windows, а исследовав минидампы в совокупности – выявить источник неполадки и успешно его устранить. Кстати, подсказки, какой драйвер чему принадлежит, можете найти . Там же приведены рекомендации по решению связанных с ними проблем.

Ещё на сайте:

Как узнать причину синего экрана смерти Windows (BSoD) обновлено: Ноябрь 25, 2017 автором: Johnny Mnemonic

Твитнуть

Что такое BSoD

BSoD - Blue Sceen of Death, синий экран смерти. Появляется в самых критических ситуациях, когда закрытием сбойной программы обойтись нельзя.

Операционная система Windows имеет несколько уровней работающих программ. Мы видим лишь самый верхний - открытые окна программ и запущенные службы. Именно их показывает Диспетчер задач. Когда одна из программ совершает ошибку, которую не в состоянии обработать и обойти, она, как говорят многие пользователи, «вылетает». Можно снова запустить и работать дальше.

Программные модули, работающие на более низком уровне (драйвера), при ошибке перезапуститься не смогут. Операционная система Windows старается оградить пользователя от многих ошибок, но это не всегда получается и она капитулирует, показывая на экране компьютера грустную рожицу или набор символов.

Нужно понимать, что драйвера - посредник между программной и аппаратной частью компьютера. Сбоить могут как драйвера (программисты тоже люди, могут чего-то не учесть или ошибиться), так и железная часть компьютера.

Симптомы BSoD

1. Появление синего экрана с непонятными символами или грустным смайликом.

В 99% случаев компьютер перезагружается сам из-за критической ошибки (BSoD), но бывает ситуация похуже: проблемы с блоком питания или материнской платы. Если у вас настольный ПК, проверьте, не вздулись ли где-нибудь .

Причины появление синего экрана

1. Перегрев. Перегрев видеокарты, процессора приводит к синему экрану смерти.

Кстати, в Windows XP при перегреве видеокарты всегда возникал BSoD, в Vista и новее видеодрайвер просто перезагружается. Если вы видите надпись «Видеодрайвер перестал отвечать и был восстановлен», то это перегрев видеокарты:

Чем новее Windows, тем совершенней защита от сбоев. Будем надеяться, в какой-нибудь Windows XV вместо синего экрана мы будем видеть уведомление об ошибке, не мешающее работе.

2. Сбой оперативной памяти. Можно , но чтобы не попасть пальцем в небо, сначала прочтите дальше - возможно, причина вашего синего экрана смерти в чем-то другом.

Если вы установили новую оперативную память в компьютер и получили частые BSoD’ы, меняйте в магазине на исправную. Других способов побороть синие экраны смерти при замене оперативной памяти нет.

3. Сбой другого железа. Может быть, «проседает» напряжение в блоке питания. Может быть, где-то пропадает контакт. Может быть, вашему компьютеру не нравится полнолуние. Причин много, гадать можно бесконечно.

Если после того, как вы проанализировали минидамп (об этом ниже) и исключили ошибки, синий экран никуда не уходит, стоит заменить по очереди все компоненты. Нельзя просто так взять и определить причину BSoD, если каждый раз коды ошибок - разные.

4. Переразгон. Если вы продвинутый оверклокер, то знаете, какое отношение разгон компьютера имеет к BSoD. Если нет - не разгоняйте компьютер.

5. Сбой драйвера(ов). Причиной BSoD не обязательно будет аппаратная проблема. Нестабильно работающие драйвера - частый гость на компьютерах пользователей. Как выявить сбойный драйвер, будет дальше.

6. Вирусы. Обязательно проверьте компьютер каким-нибудь или .

Не устаю удивляться самоуверенности пользователей, которые заявляют «У меня нет вирусов и антивируса тоже! У меня прямые руки/сижу только на проверенных сайтах/иногда проверяю одноразовым антивирусом и поэтому все нормально! «. Оставляя в стороне дебаты о том, как можно жить без антивируса, задумайтесь: если человек видит BSoD, у него уже не нормальная ситуация. Как можно заявлять о том, что вирусов нет и это не причина синего экрана?

Также не надо думать, что если у вас установлен антивирус с самыми свежими базами, вирусов быть не может. Проверьте другим, чтобы полностью исключить вероятность.

7. Антивирусы. Забавно (и печально), что антивирусы бывают причиной сбоя. Удалите на время антивирус. Синие экраны смерти перестали появляться? Ставьте новый, чтобы синие экраны не появились по причине №6.

8. Обновления Windows. Разработчики в Microsoft иногда плохо тестируют обновления. Некоторые из-за этого вовсе отключают Центр обновления Windows и сидят без обновлений, хотя это не выход. Панель управления - Программы и компоненты - Просмотр установленных обновлений - нажмите правой кнопкой - Удалить по обновлениям, установленным недавно, затем проверяйте работу Windows. Все нормализовалось? Просто не ставьте обновления пару недель - обычно за это время выходит какое-нибудь исправляющее обновление для обновления и все становится хорошо.

9. Сбой программ. Такое бывает, но редко. Если видите BSoD во время игры или при работе какой-то определенной программы, советую проверить компьютер на перегрев, потому что большинство программ не способны вызвать синий экран, за исключением устанавливающих драйверы в систему (антивирусы, эмуляторы виртуальных дисков, системы игровой защиты вроде PunkBuster, бухгалтерские программы, работающие с цифровыми ключами).

10. Ошибки файловой системы жесткого диска. Не лишним будет

Узнаем причину BSoD

Как видите, причин довольно много и гадать не имеет смысла. К счастью, синий экран смерти содержит подсказки о том, с чего это вдруг Windows начала сбоить. Среди непонятного текста будут коды ошибок, содержащие прямое указание на то, что вызвало сбой.

Чаще всего BSoD вы не увидите , так как в настройках Windows по умолчанию включена перезагрузка компьютера при критических ошибках.

Отключить автоматическую перезагрузку Windows можно так: Панель управления - Система - Дополнительные параметры системы - Параметры - поставить/снять галки так, как на скриншоте ниже:

Обратите внимание на пункт «Малый дамп памяти» - его тоже поставьте.

Загуглите код ошибки из Журнала Windows

Галка «Записать событие в системный журнал» установлена по умолчанию, значит - коды ошибок будут в Журнале Windows.

Идите в Панель управления - Администрирование - Просмотр событий - Система - и ищите в списке строчку, по времени совпадающую с появлением синего экрана или перезагрузкой компьютера:

Ищите код ошибки (на скриншоте выше это 0x0000009f) в Гугле и читайте первые несколько сайтов в выдаче, выполняйте рекомендации, которые помогли другим. Если указан драйвер (слово с окончанием .sys, то вообще замечательно - вероятный виновник найден сразу, нужно установить драйвер для этого устройства более старой/новой версии. Если в интернете не будет четкого и ясного указания причины BSoD по указанному коду ошибки, читайте мою инструкцию дальше.

Если в Журнале Windows ничего нет, ждите появления синего экрана и смотрите ошибку там:

Просто ищите в Google информацию по коду ошибки и выполняйте рекомендации.

Анализируйте минидамп

К сожалению, если проблема в сбойном драйвере, на синем экране это не всегда отображено. Код ошибки тоже не всегда информативен. Нужно проанализировать файл minidump, создавамый во время появления BSoD и содержащий информацию о сбое, в частности о том, какие драйвера сообщили об ошибке. Существуют две программы для анализа минидампа: Windows Debugging Tools и BlueScreenView. К сожалению, первая слишком сложна для начинающих пользователей, хоть и дает более информативный результат. В 99% случаях хватает второй, простой и бесплатной BlueScreenView.

Установщик BlueScreenView доступен по этой ссылке.

После запуска программы вы увидите окно, в котором вверху будут созданные системой минидампы, информация о них, внизу - список драйверов. Желтым будут обозначены сбоившие драйвера.

Пример №1 - виновата видеокарта

Появляется синий экран с текстом ATTEMPTED_WRITE_TO_READONLY_MEMORY. Смотрим минидамп:

Ошибка ATTEMPTED_WRITE_TO_READONLY_MEMORY, судя по гуглению, вызывается каким-то драйвером. Вероятный виновник в данном случае - nv4_disp.sys. Есть и другие, но это часть системы, статистически маловероятно, что причина в них. Поиск в Google показал, что nv4_disp.sys - драйвер видеокарты от nVidia. Три шага:

1. Проверка видеокарты на перегрев.

2. Установка более старого драйвера видеокарты (нового, если стоит старый). Так поступают с любыми драйверами, не только видеокарты.

3. Установка видеокарты в другой компьютер.

4. Если синий экран появляется на другом компьютере - несите видеокарту в сервис-центр. Если гарантия еще действует, можно бесплатно заменить на исправную.

5. На другом компьютере синий экран не появляется? Попробуйте установить другой блок питания на свой - причина может быть в нем.

6. Не помогает? Переустановите Windows начисто.

7. Если и это не поможет, несите в сервис-центр на диагностику.

Пример №2 - виновато совсем не то, что ожидалось

Синий экран с надписью PAGE_FAULT_IN_NONPAGED_AREA сопутствует множеству проблем:

Если бы вероятным сбойным драйвером был ntfs.sys, то я бы порекомендовал проверить жесткий диск на ошибки, а также заменить шлейф, идущий от жесткого диска к материнской плате. В данном случае BlueScreenView указывает на драйвер USB-порта и это могло бы быть правдой, но там, откуда я брал дамп для примера, у человека виновата материнская плата - на ней вздулись конденсаторы. Решение - системный блок в руки и топаем в сервис-центр.

Пример №3 - виноват антивирус

Нашел на просторах интернета вот такой минидамп:

Виновником был SRTSP.SYS - компонент антивируса от Norton. Решается его удалением.

Пример №4 - «битая» оперативная память

Синий экран с MEMORY_MANAGEMENT - признак того, что оперативная память непригодна для использования:

Переустановите Windows

Долго думал - советовать ли такое. Однако быстрая пробежка по популярным форумам показала: многие пользователи до сих пор используют пиратские сборки Windows. Так вот, если у вас:

  • сборка Windows,
  • стоит или было установлено множество оптимизаторов,
  • компьютер загружается больше десяти минут,
  • программы часто закрываются с ошибками,

переустановите Windows начисто! И ставьте нормальную, оригинальную Windows. Если у вас ноутбук, на жестком диске будет раздел восстановления с заготовленной производителем Windows - читайте инструкцию и ставьте (восстанавливайте) ее!

Установка Windows - не дело пяти минут, но при желании справится даже начинающий пользователь.

Где можно получить помощь

Ничего не помогает? Есть отличная ветка форума: Устранение критических ошибок Windows (прочтите сначала правила) .

Только сначала убедитесь в том, что вы сделали все возможное: , проанализировали минидамп, обновили сбойный драйвер. Если проблема в железе, единственный выход - обратиться в сервис-центр.

BSOD (англ . Blue Screen Of Death)

BSOD - так называют сообщение, появляющееся в операционной системе Windows , при критической ошибке системы, в переводе на русский - синий экран смерти. Этот экран появился еще в Windows NT и, с тех пор, присутствует во всех версиях этой операционной системы, а столь зловеще он называется потому, что после его появления ОС действительно "умирает" (уходит в перезагрузку), сбрасывая дамп и теряя все несохраненные данные.


Отчего же возникает BSOD? Эта ошибка ждет Вас если какой-либо драйвер попытается выполнить недопустимую операцию, причем неважно, будет ли это драйвер жесткого диска, без которого реально невозможно работать, или же драйвер сетевой/звуковой карты, который на работу основного функционала системы не влияет... итог один: BSOD и экстренная перезагрузка.

Проблемы с драйверами, вызывающие синий экран смерти, условно можно разделить на два типа:

  • неполадки оборудования (ОЗУ, материнская плата, винчестер, нестандартные устройства...),
  • конфликт драйверов программного обеспечения (антивирусы, эмуляторы, файерволы...).

Существует косвенный признак, по которому можно определить причину возникновения BSOD.

Если синий экран появляется с разными кодами ошибок (на случайных драйверах), - вероятнее всего причиной служат проблемы с аппаратным обеспечением компьютера. Чтобы проверить эту версию необходимо для начала исследовать оборудование на возможный перегрев: процессор, сопроцессор, видеокарту, жесткий диск и пр. Температуру устройств можно посмотреть в BIOS или специализированными программами, которые легко найти в сети. Температура выше 65-70°С служит поводом для беспокойства.
Если перегрева не наблюдается, стоит визуально осмотреть материнскую плату и блок питания на предмет вздутия конденсаторов (вытекшего электролита).
Также необходимо проверить настройки BIOS, желательно сбросить их на настройки по умолчанию. Не будет лишним обновление версии BIOS с сайта производителя материнской платы, или, как минимум, вынуть батарейку с материнской платы и, подождав около минуты, вставить ее обратно.
Попробуйте провести различные тесты на компьютере (памяти, видеокарты, процессора) специальными утилитами.
Если у Вас на компьютере установлено несколько модулей оперативной памяти, попробуйте оставить один из них и проверить работу системы.
Последний способ проверки состоит в том, чтобы полностью вынуть все платы из разъемов, продуть компьютер сжатым воздухом, зачистить контакты на платах ватой, смоченной в спиртовом растворе, просушить и собрать все обратно.

Если же критическая ошибка возникает постоянно с одним и тем же кодом ошибки (именем драйвера) - то более вероятна проблема с конфликтом драйверов или некорректно написанным драйвером. В этом случае приоритет проверки стоит отдать не системным драйверам, адрайверам программного обеспечения, работающим в режиме ядра.
Для начала стоит убедиться в том, что Ваша операционная систем сохраняет участки памяти с ошибками в файлы минидампа. В Windows такие файлы сохраняются по умолчанию в папке %systemroot%\Minidump (C:\Windows\Minidump). Если в данном каталоге нет файлов (нет самого каталога), необходимо включить данную опцию по адресу:
Для Windows XP Панель управления - Система - Дополнительно - Загрузка и восстановление - Параметры...
Для Windows 7 Панель управления - Система и безопасность - Система - Дополнительные параметры системы - Загрузка и восстановление - Параметры...
Под заголовком "Запись отладочной информации" необходимо выставить Малый дамп памяти (64 КБ для Windows XP, 256 КБ для Windows 7).

После этого файлы минидампа будут появляться в папке по умолчанию после каждого краха системы. В именах файлов будет указана дата сохранения и порядковый номер сохраненного файла за эту дату. Открыть такие файлы можно специальными программами, которые легко найти на просторах интернета по поисковому запросу. Открыв файл минидампа за интересующую Вас дату Вы можете увидеть какой именно драйвер вызвал аварийное завершение работы, после чего можно будет откатить/обновить данный драйвер, переустановить конфликтное ПО, произвести прочие действия по восстановлению работоспособности компьютера.
Синий экран смерти это сообщение от операционной системы о критической ошибке. Таким способом Windows дает нам понять, что в работе компьютера существуют серьезные неполадки, которые требуют неотложного внимания пользователя. Попробуем разобраться, что же может послужить причиной возникновения синего экрана смерти, как можно предотвратить его появление и каким образом можно с ним бороться.

Что такое синий экран смерти?
Для того, чтобы выявить причины появления синего экрана смерти, необходимо понять, что он из себя представляет. Blue Screen of Death или BSoD – именно так данный тип ошибки называют сами разработчики Windows. Синий – потому что сообщение от системы выводится на голубом фоне. Экран смерти – так как дальнейшая работа Windows после такой ошибки невозможна, необходимо выполнить перезагрузку операционной системы, при этом все несохраненные данные теряются. Если вы увидели BSoD на своем компьютере 1 или 2 раза – не стоит беспокоиться, изредка сбои операционной системы случаются у всех. Если же появление синего экрана смерти стало регулярным – стоит задуматься о причинах его возникновения и способах устранения.

Синий экран смерти, возможные причины его возникновения.

Основными причинами возникновения синего экрана смерти являются:

  • Программный сбой в работе драйвера какого-либо устройства. Это наиболее частая причина появления BSoD.
  • Конфликт в работе приложений, как правило, это случается, если вы установили на свой компьютер два антивирусных пакета или два брандмауэра.
  • Установка драйверов от неизвестного разработчика – часто драйвера от сторонних разработчиков могут содержать ошибки, приводящие к перебоям в работе операционной системы.
  • Ошибки в работе оборудования – перегрев процессора или видеокарты, плохой контакт в разъемах, бракованные чипы оперативной памяти.

Как видим, список причин появления BSoD достаточно обширен. Для того, чтобы выяснить конкретную причину, нам стоит внимательно посмотреть на сам синий экран смерти в системе Windows XP или другой версии Windows. В блоке Technical Information первой строкой идет код ошибки. Неспециалисту трудно будет понять, что скрывается за этой последовательностью цифр, во второй строчке этого блока система сообщает нам, в каком именно файле произошел критический сбой, который привел к появлению синего экрана смерти. По имени файла можно определить, в драйвере какого именно устройства произошла ошибка.

Как бороться с синим экраном смерти.

На предыдущем этапе мы провели анализ причин возникновения BSoD . Сейчас на основе этих данных мы определим, почему же на нашем компьютере появился синий экран смерти и что нужно делать для того, чтобы устранить источник критической ошибки.

В первую очередь необходимо выяснить, драйвером какого устройства является файл, в котором произошел сбой. После этого необходимо переустановить данный драйвер, обязательно используя софт от производителя устройства. Теперь перезагрузите систему и дайте ей поработать, если ошибка появляется снова – надо рассматривать другие причины, из-за которых происходит сбой системы. Синий экран смерти в Windows 7 довольно часто возникает из-за некорректной работы оборудования. Попробуйте проверить при отключенном от сети компьютере надежность установки в соответствующие разъемы на материнской плате оперативной памяти и видеокарты. Зачастую именно некачественная установка или наличие пыли на контактах может привести к неправильной работе системы.

Наиболее распространенные BSoD. Коды ошибок синего экрана смерти

KMODE_EXCEPTION_NOT_HANDLED – вызывает синий экран в результате ошибки процесса режима ядра, который пытается выполнить неизвестную инструкцию. Может быть связан с несовместимостью или неисправностью оборудования, а также ошибками в драйверах или системных службах.

NTFS_FILE_SYSTEM – данная ошибка появляется в результате сбоя выполнении кода драйвера файловой системы ntfs.sys. Основной причиной может быть нарушение целостности данных на диске или в памяти, а также повреждение драйверов SCSI или IDE.

DATA_BUS_ERROR – синий экран смерти появляется в результате появленияошибки чётностив оперативной памяти. Основная причина может крыться в несовместимом или неисправном оборудовании. Также проблема может быть связана с некорректным драйвером, а также сбоем прошедшим на диске.

IRQL_NOT_LESS_OR_EQUAL - синий экран смерти в этом случае появляется в результате обращения процесса режима ядра к области памяти при этом используя недопустимо высокий для него уровень IRQL. Данная ошибка может быть вызвана неправильной работой драйверов, системных служб, или несовместимым программным обеспечением, например программным эмулятором или антивирусным приложением.

PAGE_FAULT_IN_NONPAGED_AREA - ошибка появляется в результате не нахождения системой необходимых данных, например, когда Windows ищет необходимую информацию в файле подкачки, но не может её найти. Зачастую появления синего экрана смерти в этом случае вызывается сбоями в оборудовании, нарушениями в работе файловых систем или же ошибкой службы или программного обеспечения, например антивируса.

KERNEL_STACK_INPAGE_ERROR - Даная ошибка появляется в результате появления ошибок чтения из файла подкачки в физическую память. Основная причина появления синего экрана смерти - испорченный сектор файла виртуальной памяти, неправильная работа или сбой в работе контроллера жёстких дисков, недостаточное количество свободного места на диске, некорректное подключение винчестера, конфликт в прерываниях, дефект в оперативной памяти, вирусы в операционной системе.

В основном появление синего экрана"смерти"вызвано:программным обеспечением (драйвера),иногда в оборудовании(его отказе, конфликтах или неправильной работе). В данных случаях при появлении синего экрана "смерти" Вам надо удалить недавно установленные программы и драйверы, а также отключить и извлечь недавно установленное оборудование.

Удалять программное обеспечение нужно в Безопасном режиме Windows.Для этого при загрузке операционной системы,необходимо нажать клавишу F8 и выбрать Безопасный режим.

Частой причиной появления синего экрана смерти является перегрев оборудования(комплектующих компьютера). В связи с этим срабатывает защита которая и является причиной появления BSoD. Для этого необходимо снять крышку системного блока и определить источник перегрева-очень часто таким источником является центральный процессор, реже видеокарта и блок питания. При обнаружении неисправности,её(неисправность)необходимо устранить, тогда устранится проблема появления BSoD.

Синий экран смерти (BSOD , Blue Screen of Death) - визуальное оповещение о фатальной (неустранимой) ошибке в операционной системе Windows. Обработка исключительной ситуации и вывод "синего экрана смерти" (BSOD ) - это последнее действие операционной системы, указывающее на обнаружение необрабатываемой ошибки, дальнейшее исполнение кода после возникновения которой не имеет смысла по целому ряду причин. Следствием является внезапное завершение работы с остановом ("заморозкой") практически всех процессов потерей и всех не сохраненных оперативных данных. BSOD это своего рода (вы не поверите!) защитный механизм системы, позволяющий на раннем этапе остановить неверно функционирующий процесс ядра. Разработчики кода ядра операционной системы Windows не случайно ввели подобную логику обработки критических ошибок, поскольку она основана на следующих утверждениях:

  • синий экран смерти вызывается по таким условиям/проверкам в коде ядра, несоблюдение которых делает дальнейшее исполнение участка кода (равно как и всей последующей функции) ядра бессмысленным , то есть система просто не понимает, что делать дальше. Например, критический системный параметр, имеющий два состояния, может принять невалидное (третье) значение, при котором дальнейшая работа не имеет смысла, поскольку данное значение абсурдно и для него нет обработки. Или же могут отсутствовать необходимые входные данные функции вследствии возникновения ошибок доступа к аппаратному ресурсу;
  • уход на код вывода синего экрана смерти осуществляется с целью недопущения существенной потери данных (разрушения файловой системы);

То есть, основная причина завершения заключается в том, что если система продолжит функционирование при возникшей критической ошибке, то имеется очень большая вероятность привести систему к еще более плачевному состоянию, нежели то, в котором она пребывает в момент возникновения ошибки. Общей причиной BSOD является возбуждение низкоуровневой функцией режима ядра необрабатываемого исключения, в следствии которого код ядра (система) не в состоянии продолжить нормальное функционирование. Дело в том, что в процессе функционирования операционной системы, низкоуровневые функции режима ядра время от времени возбуждают исключения как реакцию на возникновение тех или иных ошибок. В подобной ситуации диспетчер исключений проверяет, имеется ли в наличии процедура (фильтр) ядра, способная обработать возникшее исключение (обработчик), то есть сопоставленая с контекстом, в котором возникла ошибка. Очевидно, что необходимая процедура обработки представляет собой последнее средство сохранить систему "на плаву", поэтому ядро всегда находит обработчик. Если же обработчик исключения не в состоянии обработать возникшее исключение, то исключение остается необработанным. В этом случае система вызывает стандартный обработчик исключений в ядре, который уже полностью останавливает систему.
Дабы у читателя не сложилось неправильного представления, стоит подчеркнуть, что само ядро Windows 7 относительно надежно, так как его отладкой занимаются днем и ночью, и по причине "родного" кода самого ядра сбои возникают исключительно редко, к тому же, в ядре все же присутствует некоторое количество цепочек разрешения критических ошибок. Сбои, в большинстве своем, случаются по вине "сторонних" модулей/драйверов режима ядра, содержащих ошибки.

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

Во всех случаях, когда возможно избежать падения, ядро просто логгирует (фиксирует в системном журнале) возникшую ошибку и продолжает свою работу, не вызывая процедуру BugCheck , поэтому если пользователь видит "синий экран смерти", то он должен понимать, что это единственно возможная реакция системы при выявлении "невосстанавливаемых несоответствий" (unrecoverable inconsistency) кода режима ядра.

Синий экран смерти называют еще СТОП-ошибкой (STOP-error) или Контролем дефекта (BugCheck).

Само по себе появление на экране BSOD - это лишь начальная стадия алгоритма, стартующего при возникновении фатальной ошибки, которая заключается в выводе на экран отладочной информации с целью облегчения дальнейшего поиска причины проблемы. Давайте посмотрим, как же выглядит та информация, которую видит пользователь на экране в случае возникновения исключительной ситуации? Ниже я привожу типовой вид BSOD для Windows 7:

Обычно BSOD выводится в текстовом режиме, символами белого цвета на синем фоне. Хотя, надо упомянуть, что внешний вид BSOD на протяжении всего времени развития Windows претерпевает изменения. Не во всех ОС BSOD выглядит подобным образом, к примеру, начиная с Windows 8/Windows 2012 количество выводимой информации существенно сокращено до названия ошибки, остальную информацию пользователь может найти в журнале событий системы.

Зачастую пользователь не видит самого экрана BSOD с информацией об ошибке! Происходит это потому, что по умолчанию система настроена на автоматическую перезагрузку в случае возникновения BSOD. Для пользователя это выглядит как периодические самопроизвольные перезагрузки компьютера с последующим выводом сообщения о том, что система была восстановлена после серьёзной ошибки.

Общие причины возникновения BSOD

Причиной BSOD может быт один из источников, описанных ниже (пункты отсортированы по мере убывания частоты встречаемости):

  1. Драйвер оборудования. По статистике самой Microsoft, порядка 85% всех фиксируемых ошибок останова относятся именно к драйверам . Различные проблемы в драйверах - самая вероятная и распространенная причина возникновения синего экрана смерти, которую можно подразделить на несколько частей.
  • Ошибка в драйвере. Образуется в следствии ошибки разработчика на стадии написания кода.
  • Неподходящий к оборудованию драйвер. Microsoft всячески пытается оградить пользователя от подобной ситуации, однако человеческий фактор тут главенствует.
  • Конфликт драйверов устройств. Драйверы различных устройств могут конфликтовать между собой.
  • Несовместимость драйвера с текущей версией операционной системы. Опять же, установщик Microsoft предупреждает о подобных ситуациях.
  • Аппаратный сбой. Перегрев комплектующих. В следствии разгона, то есть аппаратной модификации компонента, неправильных настроек BIOS/ , плохой вентиляции внутри корпуса.
  • Аппаратный сбой. Неисправность ОЗУ. Причиной является повреждение памяти на физическом уровне.
  • Программный сбой. Использование "левых" сборок Windows.
  • Конфликт устройств. На уровне портов, областей памяти и прч.
  • Несовместимости оборудования с операционной системой.
  • Аппаратный сбой. Некорректные настройки BIOS. Примером может служить завышенное/заниженное значение частоты/таймингов с целью разгона процессора либо оперативной памяти.
  • Аппаратный сбой. Неисправность жесткого диска. Недостаток свободного места на системном носителе (от даже как!).
  • Заражение вредоносными программами (трояны, вирусы). Встречает подобная ситуация довольно редко.
  • Поврежденный системный реестр;
  • Ошибка загрузчика. В некоторых случаях BSOD может быть вызван ошибкой загрузчика (Boot loader). Происходит это в ситуации, когда загрузчик не может получить доступ к загрузочному разделу из-за несовместимых либо неустановленных драйверов дискового контроллера, повреждения файловой системы. Пример: STOP 0x0000007B (INACCESSIBLE_BOOT_DEVICE). В подобных ситуациях дамп памяти не создается.
  • Как мы видим, довольно часто причиной BSOD являются драйвера устройств. Именно по этой причине Microsoft перешла к сертификации и защите драйверов устройств методом цифровой подписи. Однако, стоит заметить, что не все драйвера управляют физическими устройствами, а большинство так называемых Windows-драйверов представляют из себя обычные программы, которые не управляют никакими устройствами, но, при этом, им требуется доступ к структурам ядра, к которым невозможно получить доступ из кода пользовательского режима через традиционный Win32 API.

    Виды ошибок, приводящих к BSOD

    А что же из себя представляет та самая "серьёзная ошибка", являющаяся причиной BSOD, на более низком уровне машинных инструкций? Ошибки, приводящие к BSOD, делятся на две основные категории. Попытаюсь их детализировать:

    • Необрабатываемое исключение:
      • Обращение к нулевому адресу (нулевые указатели, когда указатель по какой-то причине содержит значение 0);
      • Попытка записи в страницу памяти, доступную только для чтения;
      • Ошибка ввода/вывода при попытке подкачки страницы в ОП из файла подкачки;
      • Неверная ссылка на память. Причиной может являться драйвер, выполняющий операцию ввода/вывода в то время, как Асинхронные Вызовы Процедур (APCs) отключены.
    • Некорректная операция:
      • Повторное освобождение уже освобожденной памяти.

    Пример №1 (из дампа ядра):

    Bc582f10 push esi bc582f11 mov esi, dword ptr bc582f14 mov edx, dword ptr bc582f16 mov eax, dword ptr ; Место ошибки! bc582f19 sub eax, dword ptr bc582f1c mov esi, dword ptr bc582f1f add edx,1Ch . . .

    bc582f10 push esi

    bc582f11 mov esi, dword ptr

    bc582f14 mov edx, dword ptr

    bc582f16 mov eax, dword ptr ; Место ошибки!

    bc582f19 sub eax, dword ptr

    bc582f1c mov esi, dword ptr

    bc582f1f add edx,1Ch

    Ошибка произошла в строке 5 . Поскольку значение регистра EDX =00000000, была произведена попытка чтения двойного слова памяти по адресу 00000024 , то есть из области, являющейся областью нулевых указателей. Возникло исключение "ошибка доступа к памяти". Остается открытым вопрос, почему же в памяти по адресу оказалось значение 0 ?

    Пример №2 (из дампа ядра):

    8eb20967 xor edx, edx 8eb20969 div eax, dword ptr ; Место ошибки! 8eb20972 xchg eax, edx . . .

    8eb20967 xor edx, edx

    8eb20969 div eax, dword ptr ; Место ошибки!

    8eb20972 xchg eax, edx

    Ошибка в строке 3 . Поскольку значение в регистре EBP =a3c84bc0, и соответственно, SS:0010:a3c84bcc=00000000. Произошло исключение "деление на ноль".

    Пример №3 (из исходного кода ядра):

    INIT:007A0307 mov edi, edi INIT:007A0309 push ebp INIT:007A030A mov ebp, esp INIT:007A030C and esp, 0FFFFFFF8h INIT:007A030F mov eax, _InitializationPhase INIT:007A0314 mov ecx, eax INIT:007A0316 xor edx, edx INIT:007A0318 sub ecx, edx INIT:007A031A jz short loc_7A0331 INIT:007A031C dec ecx INIT:007A031D jz short loc_7A032D INIT:007A031F push edx INIT:007A0320 push edx INIT:007A0321 push edx INIT:007A0322 push eax INIT:007A0323 push 2 INIT:007A0325 push 33h INIT:007A0327 call _KeBugCheck2@24 . . .

    INIT:007A0307 mov edi, edi

    INIT:007A0309 push ebp

    INIT:007A030A mov ebp, esp

    INIT:007A030C and esp, 0FFFFFFF8h

    INIT:007A030F mov eax, _InitializationPhase

    INIT:007A0314 mov ecx, eax

    INIT:007A0316 xor edx, edx

    INIT:007A0318 sub ecx, edx

    INIT:007A031A jz short loc_7A0331

    INIT:007A031D jz short loc_7A032D

    INIT:007A031F push edx

    INIT:007A0320 push edx

    INIT:007A0321 push edx

    INIT:007A0322 push eax

    INIT:007A0323 push 2

    INIT:007A0325 push 33h

    INIT:007A0327 call _KeBugCheck2@24

    А вот этот пример уже из исходного кода ядра (файл ntoskrnl.exe и производные). Тут разработчики решили, что у переменной InitializationPhase не может быть значений кроме 0 и 1 , оно и понятно, в ядре могут быть только две фазы инициализации. Соответственно, при всех остальных значениях дальнейшее выполнение кода ядра не имеет ни малейшего смысла, и код уходит на вызов функции KeBugCheck2 с кодом 33h (с преждевременным заталкиванием параметров в стек), что ведет, в конечном итоге, к выводу синего экрана смерти.

    Алгоритм BSOD

    После возникновения критической ошибки, когда код режима ядра классифицирует ошибку как фатальную (неустранимую), управление передается на:

    • системную функцию KeBugCheckEx -- является "оберткой" к функции KeBugCheck2 ;
    • системную функцию KeBugCheck2 ;

    Именно функция KeBugCheck2 и выполняет определенную последовательность действий (сброс буферов, сохранение дампа, перезагрука). Тут я приведу пока лишь краткое описание функции, более же детальную информацию вы всегда сможете найти на сайте Microsoft. Данная функция экспортируются модулем исполнительной подсистемы ядра, который для разных систем может называться по-разному: ntoskrnl.exe , ntkrnlmp.exe , ntkrnlpa.exe , ntkrpamp.exe . Функция KeBugCheck2 имеет пять входных параметров (аргументов). Поскольку значение параметров сильно зависят от кода ошибки, в таблице я приведу лишь общие, возможные значения параметров, поскольку приводить все возможные комбинации параметров не хватило бы даже и книги.

    Параметр Описание
    BugCheckCode Код ошибки. Перечень возможных значений BugCheckCode, определенных Microsoft, можно найти в NTDDK , либо можно определить собственный код в своем драйвере. Делятся на две категории: с указанием адреса инструкции, вызвавшей исключение и без указания. Разрядность 32 бита.
    BugCheckParameter1 Параметр 1. Зависит от кода ошибки (BugCheckCode). Может принимать значение кода исключения, адреса, идентификатора потока, специального поля потока, внутреннего параметра, уровня IRQL, указателя на объект, пула значений и прч. Разрядность 32/64 бита.
    BugCheckParameter2 Параметр 2. Зависит от кода ошибки (BugCheckCode). Может принимать значение кода исключения, адреса, идентификатора потока, специального поля потока, внутреннего параметра, уровня IRQL, указателя на объект, пула значений и прч. Разрядность 32/64 бита.
    BugCheckParameter3 Параметр 3. Зависит от кода ошибки (BugCheckCode). Может принимать значение кода исключения, адреса, идентификатора потока, специального поля потока, внутреннего параметра, уровня IRQL, указателя на объект, пула значений и прч. Разрядность 32/64 бита.
    BugCheckParameter4 Параметр 4. Зависит от кода ошибки (BugCheckCode). Может принимать значение кода исключения, адреса, идентификатора потока, специального поля потока, внутреннего параметра, уровня IRQL, указателя на объект, пула значений и прч. Разрядность 32/64 бита.

    Как Вы уже догадались, данные параметры введены разработчиками не просто так. Поговаривают, что гуру визуальной отладки:) могут лишь по коду ошибки и значениям этих дополнительных параметров достаточно точно определить причину сбоя. Ну а для нас, простых смертных, параметры эти однозначно указывают на дополнительные детали сбоя, которые помогают отладчику (WinDBG) в процессе выполнения анализа инцидента. Как уже говорилось, параметры могут использоваться и для поверхностного визуального анализа проблемы. Например, для ошибки STOP 0x000000ED, второй параметр, имеющий значение 0xC0000185 и носящий название STATUS_IO_DEVICE_ERROR , довольно часто указывает на то, что с нашим диском творится что-то неладное, и при этом на аппаратном уровне.
    В самом ядре Windows функция KeBugCheckEx вызывается из достаточно большого количества мест кода.
    Алгоритм работы функции KeBugCheckEx следующий:

    1. Формируется текст BSOD и выводится на экран.
    2. Код ядра системы проверяет целостность карты блоков файла подкачки (либо пользовательского файла, указанного для сохранения дампа), ранее сохраненной в памяти.
    3. Код ядра проверяет работоспособность специализированного независимого дискового драйвера и целостность управляющих структур дискового драйвера.
    4. Код ядра записывает данные из памяти в блоки, указанные в карте блоков файла подкачки (либо пользовательского файла, указанного для сохранения дампа).
    5. Возможна передача управления отладчику.
    6. В зависимости от настроек выполняется или не выполняется автоматическая перезагрузка системы.
    7. В процессе следующей загрузки ОС, winlogon.exe переносит дамп памяти (полный/сокращенный) из временного файла в файл, указанный в настройках. Для сброса используется специализированная утилита.
    8. При следующей загрузке, в зависимости от настроек создается запись в журнале событий.

    Поиск причины BSOD

    Любой специалист рано или поздно сталкивается с задачей выявления виновника BSOD, то есть компонента, который и является, в конечном итоге, причиной падения операционной системы. Не стоит бояться браться за анализ BSOD. Ведь от того, владеет ли специалист необходимой информацией, зависит выбор метода решения, от затрат всего нескольких минут на переустановку драйвера/устройства, до многочасовой переустановки и настройки операционной системы с нуля. Вы можете себе представить, сколько времени Вы потеряете, пойдя по этому ложному пути, с учетом того, что все эти действия могут и не решить проблемы? Только представьте, какие временные затраты мы получим бы при попытке, предположим, "перезалить" контроллер домена или сервер приложений? Поэтому, последуйте хорошему совету: во всех ситуациях, где только возможно, до последней захудалой зацепки пытайтесь определить источник проблемы и избежать переустановки ОС.
    Есть два основных варианта нахождения причины возникновения синего экрана смерти:

    Визуальный анализ

    Попытаться без использования специализированного ПО, по коду ошибки или имени драйвера, информация о которых представлена на экране или в логе события BSOD, выяснить причину. Если удалось получить только лишь код STOP-ошибки, то это наименее точный и наименее быстрый метод определения источника проблемы, поскольку некоторые классы ошибок имеют множество потенциальных причин возникновения. Однако, если нам повезло и мы получили с экрана или из лога наименование сбойного драйвера, то метод превращается в достаточно точный и наиболее быстрый.
    Описанная ранее функция KeBugCheckEx содержит в себе алгоритмы, которые собирают и выводят на экран максимально-возможный объем информации о состоянии определенных триггеров системы в момент сбоя. И такое поведение вполне объяснимо, поскольку специалисту может потребоваться вся доступная информация для последующего анализа возникшей проблемы. Бывают, однако, случаи, когда сообщение недостаточно информативно, то есть информации откровенно мало, но такие ситуации встречаются достаточно редко.
    Давайте попробуем "расшифровать" BSOD и разберемся с данными, которые процедура выводит на экран. Для удобства понимания информации, представленной на синем экране смерти, я промаркировал основные блоки:

    Давайте теперь рассмотрим эти блоки подробнее:

    1. Символическое имя ошибки (в нашем случае: BAD_SYSTEM_CONFIG_INFO). Может отсутствовать.
    2. Рекомендации по устранению общего характера.
    3. Код STOP-ошибки. (в нашем случае: 0x00000074).
    4. Четыре параметра, конкретизирующие ошибку, предназначенные для отладочного ПО (Значение параметров зависит от кода ошибки и кратко описывается в таблице выше).
    5. Необязательный параметр. На нашем скриншоте отсутствует. Имя программного модуля или драйвера ядра, в коде которого возникла ошибка. Адрес инструкции, вызвавшей останов, "база" драйвера. Время, дата. Если ошибка не относится к модулю/драйверу, либо ядро не смогло связать проблему с объектом, то данный параметр отсутствует.
      пример: gv3.sys – address F86B5A89 base at F86B5000, DateStamp 3dd991eb

    BSOD-ошибки можно условно разделить на две категории. Первая категория содержит адрес инструкции, вызвавшей исключение (как в нашем примере, 00000074h: BAD_SYSTEM_CONFIG_INFO). Вторая категория BSOD-ошибок не содержит адреса проблемной инструкции, потому что ядро диагностирует аварийную ситуацию на поздней стадии.

    Для последующей работы над проблемой нам потребуется как минимум один параметр от синего экрана смерти: код STOP-ошибки и/или (если имеется) имя программного модуля или драйвера ядра.
    Запишите всю эту информацию и смело переходите к следующему разделу "Устранение BSOD".

    Автоматизированный анализ

    С помощью специализированного программного обеспечения проанализировать аварийный дамп памяти системы. Этот метод позволяет, в подавляющем большинстве случаев, достаточно точно определить источник проблемы. Практически всегда дает определенный результат, за исключением довольно редких случаев, когда ситуация остается неясной. Виновниками подобных исключительных сбоев является, как правило, оборудование (железо).
    Для использования данного метода, нам необходимо будет сначала произвести с целью получения полного дампа памяти системы.
    После настройки необходимо вновь дождаться системного сбоя. Когда произойдет сбой, Вы получите в своё распоряжение дамп памяти (файл с расширением.dmp), и можете переходить непосредственно к анализу. Я приведу три основных способа изучения дампа памяти:

    1. Анализ дампа при помощи утилиты .
    2. Анализ дампа при помощи скрипта .
    3. Анализ дампа при помощи отладчика .
    4. Анализ дампа при помощи онлайн-анализатора OSR Instant Online Crash Analysis . Принимаются дампы размером до 40Мб.

    Какой из методов выбрать, спросите Вы? Я бы на Вашем месте придерживался логики перебора методов до выяснения источника проблемы, либо выполнения всех описанных методов для составления полной картины происшествия. В данном конкретном случае никакая информация лишней не будет!

    Устранение (исправление) BSOD

    Воспользовавшись одним из вышеописанных способов нахождения причин сбоя, Вы получили на руки информацию о предполагаемом источнике проблемы. Теперь, в зависимости от рода имеющейся информации, давайте опишем дальнейшие шаги:

    • Код ошибки. Если мы имеет только код STOP-ошибки, просто посмотрели списали его с BSOD и не стали заниматься анализом никаких там дампов, то в этом случае можно с помощью таблицы STOP-ошибок , имеющейся на официальном сайте, определить предполагаемого виновника. Можно не ограничивать себя только лишь официальным ресурсом, а просто поискать в Сети.
    • Сторонний драйвер. Если предполагаемым источником проблемы является драйвер устройства, то нам необходимо понять, к какому компоненту ОС он принадлежит. Для этого используем поисковик.
      Если недавно был установлен обновленный драйвер видеокарты, звуковой, материнской, сетевой - пробуем откатиться на старый, если не помогло, то пробуем просто переустановить текущую версию, если и это не помогло, то попытаемся найти еще более новый, взятый с официального сайта производителя оборудования.
    • Системный драйвер. Вероятность того, что причиной является системный драйвер очень мала, потому как системные (встроенные) драйвера очень хорошо отлаживаются перед запуском в релиз. Но если, все же, вы грешите на системный драйвер Windows - то Вам потребуется средство проверки драйверов verifier.exe .

    При всей серьезности проблемы, множество критических ситуаций могут быть исправлены. Существуют методы "перехвата" критических ситуаций с помощью специализированных отладчиков, ручной корректировки данных и возврата к нормальному режиму функционирования ОС. И ОС продолжает работу, худо-бедно, медленно, неуверенно, но продолжает. Объясняется это тем, что большинство ошибок не фатальны. Почему же тогда ядро предпочитает в большинстве случаев завершить работу системы, для меня загадка. Однако, для применения на практике этого метода требуется определенный уровень квалификации.