Приветствую на страницах блога Компьютер76, и сейчас мы с вами обсудим вопрос о том, что такое и как исправить синий экран BSOD. Я думаю, если вы столкнулись с этой проблемой, вы наверняка успели перелопатить множество похожих ресурсов с дельными, а порой совершенно пустыми советами как исправить синий экран отказавшей Windows. Нередко советы друг друга дублируют, и всё потому, что они одинаково либо верны, либо ложны. Давайте немного расширим знания по поводу этого вопроса.
Можно ли исправить синий экран смерти BSOD?
Самое плохое для пользователя – это потеря данных, и синий экран смерти BSOD (как ни парадоксально прозвучит) как раз предназначен для борьбы с этими потерями. BSOD – это настройка, призванная сохранить то, что вам дорого. Просто нужно правильно оценить обстановку. Причину и как с ним справиться, вы сможете иногда сами одолеть. Если он застал вас врасплох, вам понадобятся:
- Загрузочный Live CD диск на примере Hiren’s BootCD (бесплатен и доступен для скачивания)
- Установочный диск или флешка с Windows
- Если повезёт можно обойтись удалением программы или файлов из Безопасного режима Windows.
Как узнать причину BSOD или пара слов для статистики
Самая большая ошибка, вскрывающая пробелы в знании вопроса участвующих в обсуждении этой проблемы (и пострадавших, и советующих) – это слепое и часто бессмысленное «копание в сторону железа» по образцу «пошевелите шлейфы», «выньте/вставьте планки памяти», «сноси винду». Порой смешно перечитывать итоги таких поисков внимающих советам «специалистов»: «переустановил Windows – снова BSOD», «поменял местами планки DIMM – без изменений». Всего этого ведь легко избежать – одного только сборника программ по примеру Hiren’s вполне достаточно для правильной диагностики.
Проблема нередко подстерегает и тех, кто пытается прочесть в коде ошибки BSOD (типа 0х0000000***) причину неисправности. Это в некоторых случаях просто нереально, ибо Windows как система в силу отсутствия инструментов низкоуровневого программирования до сих пор иногда просто неспособна гарантийно определять причину остановки. И долго не сможет. Ведь процесс аварийной остановки работы Windows не изменился до сих пор – BSOD вылетает ЗАДОЛГО до того, как реальная неисправность проявляется. Это, напомню, и есть главная задача «синего экрана смерти». Потому и нередко избавление от одной ошибки лежит в противоположных действиях: один переустановил Windows – всё работает, второй справился заменой «оперативки» вслепую, «на шару» – тоже повезло. Так в чём проблема-то была? Сразу оговорюсь – ошибки здесь не все. Но о главных, чтобы хоть немного сэкономить ваше время на изысканиях, расскажу по собственному опыту.
IRQL NOT LESS OR EQUAL
Она же Interrupt Request Level. В переводе на понятный русский означает, что какая-то программа попыталась получить доступ к части памяти, на которую у самой Windows были собственные планы. Windows программе отказала, и та отвалилась. Отомстив самой Windows. Так часто поступают именно драйверы, у которых по прописанным в них характеристикам такой доступ, по идее и вообще-то, заложен. Чаще всего такая ошибка возникает при обращении к API Windows. А если конкретнее – при обращении к графическому её интерфейсу. В общем, в 9-ти из 10-ти случаев стоит копнуть именно в сторону драйверов, обновив их или его или просто перустановив. Проблема осталась? Вопрос смещается уже к “железу”, для которого драйвер прописан. И дело не в возрасте установленной, к примеру, видеокарты. Оверклокингом занимались? Что разгоняли? Уже неважно – откатывайтесь к настройкам по умолчанию. И кстати – у проблемы PAGE FAULT IN NONPAGED AREA растут ноги оттуда же.
DATA BUS ERROR
Очередная популярная ошибка-причина BSOD, относящаяся почти на 100% гарантийно к планкам оперативной памяти либо к слотам под них на материнской плате. Memtest вам в помощь. Она должна ошибку обнаружить. В любом случае не помешает открыть корпус или крышку ноутбука и “поиграть” планками, вынимая и вставляя каждую.
MEMORY MANAGEMENT
Очередная проблема, относимая к RAM. Наиболее часто решалось сбросом настроек BIOS до по умолчанию. Или как минимум проверкой их правильности в части разгона и соответствия уровня напряжения на планках согласно заводских.
MACHINE CHECK EXEPTION
Эта ошибка следует в продолжение темы оверклокинга. Но здесь причиной является разогнанный процессор. Ничего страшного, просто в следующий раз будьте немного консервативнее в его настройках.
FAT FILE SYSTEM
Копаем в сторону диск HDD или SSD, на котором лежит система. Нередко всё обходится проблемой с драйверами, но иногда ошибка BSOD сигнализирует о более серьёзных проблемах именно с аппаратной частью хранилища. Готовьтесь к замене, чтобы потеря данных не стала окончательной. И с помощью загрузочной флешки прогоняем диск утилитой chkdsk.exe.
INACCESSIBLE BOOT DEVICE
Наиболее частая причина этого – битые сектора (они же плохие секторы, они же “бэды”). Нередко успешно лечится из среды восстановления с кнопки Восстановление при загрузке:
Или, что чаще, выбором правильного режима работы диска в BIOS:
SYSTEM THREAD EXCEPTION NOT HANDLED
Ошибка сама по себе немного бестолковая. В смысле описания причина. Почти всегда BSOD с такой ошибкой сопровождается именем драйвера, который её вызвал. Это может быть действием к удалению его и переустановке или к поиску сбойной программы.
Как исправить синий экран BSOD самому?
Начнём с симптомов. BSOD появляется…
- Во время работы, и особенно при запуске конкретной программы (в начале, в конце – не важно).
- До загрузки системы (Windows не успевает загрузиться, даже в безопасном режиме F8) раз от разу почти в одно и тоже мгновение
Windows загружается, но время от времени вываливается в BSOD
Попробуем узнать причину BSOD из-под аварийного диска. Принцип работы программы заключается в снятии информации из файла под именем MEMORY.DMP, который появится неминуемо (при установленной по умолчанию галочке напротив Записать событие в системный журнал – см. рис ниже) после появления BSOD-а (нет BSOD – нет и файла). Он создаётся системой и появится в корневой папке системы (для Windows 7 и позднее) по адресу %SystemRoot%\MEMORY.DMP.
Пусть вас не смущает этот путь – для глаз пользователя он принимает вид C:\Windows\MEMORY.DMP. Если же вы не уверены, что является корневой папкой системы, вы легко можете это проверить. Команда set в командной консоли вскрывает основные пути и директории Windows. Так, набрав
set
вы увидите настоящее название ваших папок и субдиректорий. А вот как это выглядит:
Начиная с версии Windows 7, информация по BSOD отображается в Центре поддержки, куда, если такая беда приключилась, можно легко попасть, нажав на флажок в правом нижнем угла системного трея:
Повторюсь, пункт с возможностью решить проблему появиться только после критической ситуации, а раз BSOD не даёт возможности даже зайти в систему, то надежды нет даже на куда более информативный журнал событий системы, который в рабочей системе находится по адресу:
Панель управления-Администрирование-Просмотр событий-Журналы Windows-Cистема
Вот он (у меня чистенький, как видите):
Любому событию Windows имеет привычку присваивать код – критично оно, либо нет. Если бы смогли зайти в систему после BSOD, вы бы наверняка увидели бы предупреждение о критической ошибке с присвоенным кодом на манер:
Однако в любом случае появление и прочтение таких регистрируемых системой ошибок мало что даёт конкретного любому из нас. Коды часто перемежаются между собой, а в нашем случае система просто отказывается работать.
Как найти причину BSOD в реестре Windows?
В редакторе реестра
regedit.exe
За него отвечает параметр DisplayParameters в разделе:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl
Беда в том, что тот по умолчанию не сформирован. Чтобы регистрация ошибок через раздел реестра велась нужным нам порядком, небходимо:
- справа у раздела CrashControl создаём параметр DWORD 32-бита
- с именем DisplayParameters
- присваивая значение 1
- и перезагружая для применения изменений и проверки.
А если Windows не загружается? Вы можете отредактировать реестр даже нерабочей Windows.
Мне известны несколько утилит, которые способны указать правильный путь. Очень неплохо справляется с проблемами программа WhoCrashed (домашняя версия бесплатна). Заряжаем BlueScreenView. В окне нужно указать путь к указанному файлу MEMORY.DMP. В нём будет отображаться копия информации, отображаемой самим экраном:
Причём последняя строчка Dumping physical memory to disk означает, что ошибка как раз записана в упомянутый файл. Так что не спешите сразу выключать компьютер после того, как BSOD подвисает систему. В списке событий появится строка с указанным событием:
Двойной щелчок по файлу .dmp развернёт о нём информацию:
Однако, обратите внимание на тот факт, что если список драйверов внизу таблицы (файлы .sys) пуст, то причина, скорее всего, кроется в системных файлах Windows – такое повреждение нередко получает Windows при принудительных выключении или перезагрузке при применении обновлений. В этом случае редко помогает консоль восстановления системы, так как выходит из строя выходит целая цепочка критически важных для системы файлов, для глаз пользователя остающихся нетронутыми.
BSOD: Windows не успевает загрузиться
Так или иначе, исходя из информации из абзацев выше, я призываю вас сначала попробовать перейти в Безопасный режим, а затем приступить к тестированию “железных” составляющих. Если в Безопасный режим войти удалось, считайте повезло – отключите программы в автозапуске или “сносите” драйверы к устройствам, которые требуют дополнительного программного обеспечения. Раз потенциальные причины нам заранее известны, последовательно пробегите тестами по:
- жёсткому диску
- планкам оперативной памяти (всех вместе сразу; при появлении ошибок – поочерёдно удаляя из слота)
- видеокарты.
Если на руках Hiren’s BootCD, заранее предлагаю прибегнуть к встроенному в диск средству диагностики “синего экрана”. Эта утилита BlueScreenView вам уже известна, и вот её местоположение в аварийном диске:
Если BSOD появился в момент запуска, нет возможности зайти в безопасный режим (когда Windows загружает ТОЛЬКО жизненно необходимые драйверы), речь идёт, скорее всего, о серьёзном повреждении системных файлов. Невозможность работы в безопасном режиме является важным индикатором угасшей работоспособности. Здесь обычно помогают только кардинальные меры, и если консоль восстановления (откат до контрольной точки) сработала – считайте, что вам повезло. Таким образом, лично я выработал для себя небольшой, но установившийся алгоритм действий для того, как исправить синий экран BSOD:
- запустив BlueScreenView, определяю, виноват ли конкретный драйвер системы или программы. Если так, с помощью встроенного поисковика в аварийный диск (или просто поиском через консоль команд) нахожу по имени и уничтожаю;
- следующая проверка – антивирусными программами. Чтобы результат был максимальный, подключите сетевой кабель в сетевой разъём и обновите антивирусные базы
- если описанные в статье про BlueScreenView действия не помогают, а дамп памяти Windows не вычленяет конфликтный драйвер, последовательно провожу тестирование “железных” элементов компьютера. В диске Hiren’s для этого отведена целая секция программ и утилит под названием Testing
Но для каждого конкретного устройства можно использовать на выбор одну или несколько программ. Например:
- отсюда тестирую поверхность и общее состояние жёсткого диска, включая проверку плохих секторов. Проверка начинается положительно – секторы диска окрашены в зелёный и постепенно жёсткий диск выпадает из устройств, на которые можно грешить по поводу появления BSOD:
- проверяем состояние планок оперативной памяти. Если утилита memtest диагностирует ошибки, а планок несколько, выдёргиваем их по одной и ищем неисправную планку или слот (вот отдельная про то статья Проверка оперативной памяти):
- тем же макаром в разделе утилит Testing макаром проверяем видеокарту, процессор (по необходимости) и исправность батареи для ноутбука.
Успехов нам всем