Анализ причин возникновения BSOD (Синий экран смерти) в Windows

  • 24.01.2020
  • 36 408
  • 23
  • 25.01.2020
  • 34
  • 32
  • 2
Анализ причин возникновения BSOD (Синий экран смерти) в Windows

В один безрадостный день (ночь) вы убеждаетесь, что бунт машин – не выдумка фантастов. Ваш комп перезагрузился. Сам. Без вашего желания, и, что наиболее поразительно, не спросив разрешения! Потом это случилось еще раз... Потом еще. Если вы – не Большой Босс, комп нужен вам для работы (полноценного отдыха), и морока с сервис-центром не входит в ваши планы, вы начинаете искать причину. И в еще один (прекрасный) день вам говорят, что перезагружаясь, комп пытается спастись от краха системы, и если вы эту перезагрузку снимете, то можно узнать причину грозящей беды.

Почему возникает и как исправить?

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

Как узнать причину возникновения BSOD?

Рецепт прост, как все гениальное: нажимаем две клавиши - Win + R, и вводим туда команду:

sysdm.cpl SystemProperties

и затем нажимаем Enter (или кнопку ОК).

Откроются "Свойства системы", где нужно перейти на вкладку Дополнительно, нажать на кнопку Параметры в разделе Загрузка и восстановление. И, наконец, в появившемся окошке, в разделе Отказ системы снять галочку напротив Выполнить автоматическую перезагрузку.

476

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

BlueScreenView

Одна из самых популярных программ для анализа дамп файлов - BlueScreenView, которая распространяется абсолютно бесплатно на сайте своего автора - в том числе, и для не домашнего использования. В наличии есть как и портативная версия, так и версия с полноценной установкой в систему. Утилита так же имеет поддержку русского языка (требует скачивания дополнительного пакета локализации, который необходимо разместить в один каталог с программой).

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

Интерфейс программы BlueScreenView

Интерфейс программы BlueScreenView

Интерфейс программы можно разделить на две части - верхнюю и нижнюю, каждая из которых представляет из себя таблицу. В верхней части отображен список имеющихся дампов, символьное имя ошибки (столбец Bug Check String), код ошибки (Bug Check Code), драйвер вызвавший падение системы (Caused By Driver), и другая полезная информация. Так же, при нажатии правой кнопкой мыши, будет предложено запустить поиск в гугле по коду ошибки и имени драйвера.

В нижней части окна программы можно увидеть информацию о загруженных в момент падения системы драйверах, причем те драйверы, которые вызвали синий экран смерти будут выделены красным цветом. Например, на картинке выше можно увидеть, что причиной синего экрана являлся файл CProCtrl.4.0.0.17.sys (компонент КриптоПро).

WhoCrashed

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

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

Как можно увидеть на скриншоте, программа обнаружила, что причиной BSOD'а стал драйвер atikmpag.sys, который является драйвером AMD.

Debugging Tools for Windows

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

Да, стоит упомянуть, что во время метаний по сайту Майкрософт вы пару раз наткнетесь на слово ОТЛАДЧИК (debugger). Но потом вам объяснят, что вещь, оно, может, и полезная, но бестолковая. Потому что результат работы отладчика надо посылать в Майкрософт и ждать от них ЦУ.

И вот свершилось! И от отладчика может быть польза.

Итак, определяем «виновный» драйвер:

  • Возвращаемся к Свойствам системы (загрузка и восстановление) и проверяем Запись отладочной информации. По умолчанию будет как на верхнем рисунке. Так и оставьте. При этом на диске C в папке WINDOWS при появлении Синего Экрана возникнет папка Minidump, а в ней необходимые нам файлы.
  • Загрузите и установите Debugging Tools for Windows. Это версия 6.12.2.633 от 2010 г., которая подойдет для анализа дампов для Windows XP и Windows 7. Debugging Tools for Windows устнавливается в папку %programfiles%\Debugging Tools for Windows (x86).
  • Загрузите сценарий (kdfe.cmd), который написал Александр Суховей. Этот файл нужно извлечь из архива на рабочий стол.
  • Так как данному сценарию очень много лет, то в случае использования 64-разрядной версии Windows, он может содержать не совсем верный путь к набору программ Debugging Tools for Windows. Для того, чтобы исправить данное недоразумение, нужно просто открыть блокнотом данный файл, и найти строчку, начинающуюся с set dbgpath=. После знака равенства необходимо прописать корректный путь к программе - в случае 64 разрядных операционных систем, это будет C:\Program Files (x86)\Debugging Tools for Windows (x86). Меняем значение данного параметра, и сохраняем файл.
  • Копируем файл kdfe.cmd в папку %systemroot%\system32.
  • Все, что вам осталось – открыть командную строку и написать там
    Kdfe "%systemroot%\Minidump\Mini050208-01.dmp"

    где Mini050208-01.dmp – имя файла из папки Windows\Minidump. Вы, естественно, вместо моего файла подставляете имя своего. Нажимаете Enter и через некоторое время получаете имя повинного в ваших проблемах драйвера.

Анализ дампа

Анализ дампа

В моем случае это оказался драйвер USB-мыши (Razer Habu).

Была ли эта статья Вам полезна?

Комментарии к статье (23)

    • Аноним

    Здравствуйте, добавьте пожалуйста в описание что консоль нужно открывать с правами администратора а то без них у анализатора не будет доступа к файлу дампа

    • Ярослав

    Сделал всё по инструкции, подскажите пожалуйста, что это значит?
    Crash date: Sun Jun 6 23:26:27.190 2021 (UTC + 3:00)
    Stop error code: 0x1E_c0000005
    Process name: backgroundTask
    Probably caused by: memory_corruption

      • Recluse

      Probably caused by: memory_corruption обозначает, что предположительно проблема в повреждении памяти - т. е. следует проверить оперативную память. У нас на этот случай даже есть специальная статья.

    • Богдан

    Делаю все по мануалу, после ввода в командную строку команды, получаю вот что:

    C:\WINDOWS\system32>Kdfe "%systemroot%\Minidump\111020-6562-01.dmp"
    Analyzing "C:\Windows\Minidump\111020-6562-01.dmp", please wait... Done.
    Didn't find the answer. Try again with '-v' switch.

    Далее запускаю все это дело с ключом -v, получаю еще с полсотни строк репорта, где я не смог ничего понять. Как быть ? Буду признателен за помощь

      • Recluse

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

    • Александр

    помогите разобраться пожалуйста. Раз в неделю вылетают бсоды, Блю скрин виев не показывал точно почему, поставит хукрашед и он тоже не может помочь. Что еще можно сделать ?
    Crash dump directories:
    C:\Windows
    C:\Windows\Minidump

    On Thu 24.09.2020 2:21:24 your computer crashed or a problem was reported
    crash dump file: C:\Windows\Minidump\092420-12421-01.dmp
    This was probably caused by the following module: ntoskrnl.exe (nt+0x1B7B00)
    Bugcheck code: 0x139 (0x3, 0xFFFF8303D6AB50B0, 0xFFFF8303D6AB5008, 0x0)
    Error: KERNEL_SECURITY_CHECK_FAILURE
    file path: C:\Windows\system32\ntoskrnl.exe
    product: Microsoft® Windows® Operating System
    company: Microsoft Corporation
    description: NT Kernel & System
    Bug check description: The kernel has detected the corruption of a critical data structure.
    The crash took place in the Windows kernel. Possibly this problem is caused by another driver that cannot be identified at this time.

    On Thu 24.09.2020 2:21:24 your computer crashed or a problem was reported
    crash dump file: C:\Windows\MEMORY.DMP
    This was probably caused by the following module: ntkrnlmp.exe (nt!setjmpex+0x7E49)
    Bugcheck code: 0x139 (0x3, 0xFFFF8303D6AB50B0, 0xFFFF8303D6AB5008, 0x0)
    Error: KERNEL_SECURITY_CHECK_FAILURE
    Bug check description: The kernel has detected the corruption of a critical data structure.
    The crash took place in the Windows kernel. Possibly this problem is caused by another driver that cannot be identified at this time.

    2 crash dumps have been found and analyzed. No offending third party drivers have been found. Connsider using WhoCrashed Professional which offers more detailed analysis using symbol resolution. Also configuring your system to produce a full memory dump may help you.

    Read the topic general suggestions for troubleshooting system crashes for more information.

    Note that it's not always possible to state with certainty whether a reported driver is responsible for crashing your system or that the root cause is in another module. Nonetheless it's suggested you look for updates for the products that these drivers belong to and regularly visit Windows update or enable automatic updates for Windows. In case a piece of malfunctioning hardware is causing trouble, a search with Google on the bug check errors together with the model name and brand of your computer may help you investigate this further.

    • Дима

    Доброго времени суток. При проверке нашло\указало что проблема связана с браузером Chrom. Какие действия нужно предпринять?

    Crash date: Tue Aug 25 11:16:34.400 2020 (UTC + 3:00)
    Stop error code: 0x1a_41792
    Process name: chrome.exe
    Probably caused by: memory_corruption

      • Recluse

      Скорее всего, проблема с оперативной памятью, или накопителем.

        • Дима

        Оперативная память покупалась в конце того года...Работала нормально..А вот SSD (на нем windows) даже не помню в каком году..

        • Дима

        Возможен просто глюк системы? Просто, после единственного раза проблем с синим экраном не было.

          • Recluse

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

            • Дима

            На вирусы проверял сегодня..Полная проверка часа 1.5. Все хорошо..
            Хорошо, если что то будет в плане проблем..Буду бить тревогу..Спасибо.

    • Гость

    Debugging Tools for Windows инструкция очень плохо написано, не смог воспользоваться данной программой. Скинул kdfe в C:\Windows\System32 но через поиск не могу её найти, если ещё раз скидываешь тогда пишет что файл уже существует. Сделайте нормальную инструкцию по Debugging Tools for Windows!

      • Recluse

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

    • Ирина

    Подскажите, пожалуйста, что можно сделать с таким результатом проверки дамп-файла:
    Crash date: Fri Jul 24 21:33:21.564 2020 (UTC + 3:00)
    Stop error code: 0x3B
    Process name: ETDCtrl.exe
    Probably caused by: memory_corruption

      • Recluse

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

    • Виктор

    Спасибо за Debugging Tools for Windows, раньше о нем ничего не слышал, а BlueScreenView не давал инфу о конкретном драйвере вызвавшего проблему.
    Подсвечивал красным лишь ntoskrnl.exe ntoskrnl.exe+1d41e9 и т.д.
    А причиной был драйвер wi-fi адаптера athuw8x.sys
    Вот так вот - век живи, век учись.
    Пожалуй скопирую статейку себе

    • Гость

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

      • AJIekceu4

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

    • Альберт

    Мне пишет что командная строка не нашла ответа и пишет попробывать ещё раз.

      • Recluse

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

    • Альберт

    Прошу помощи у создателя статьи у меня после ввода команды Kdfe "%systemroot%\Minidump\Mini050208-01.dmp" командная строка просто закрывается что делать?

      • Владислав

      1) запускать командную строку от имени администратора
      2) вместо "Mini050208-01.dmp" прописать имя вашего дамп-файла, который вы хотите проанализировать

Добавить комментарий для Виктор

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.