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

  • 24.01.2020
  • 2 375
  • 3
  • 100.00%
  • 3
  • 25.01.2020
Анализ причин возникновения 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).

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


Комментарии:

    • Альберт

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

      • Recluse

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

    • Альберт

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

Добавить комментарий

Ваш адрес email не будет опубликован.

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