Включение логирования загрузки драйверов в Windows и анализ файла лога ntbtlog

Если вы столкнулись с проблемами при загрузке Windows, первое, что нужно сделать, это попробовать загрузить компьютер в безопасном режиме. Если система загрузится, значит не всё так плохо, скорее всего, ошибка загрузки была вызвана каким-то компонентом, возможно драйвером. Каким или какими? Это можно узнать, проанализировав файл лога ntbtlog.tхt, хранящийся в системной папке %windir%. Когда логирование включено, в процессе загрузки информация обо всех загружаемых Windows драйверах станет сохраняться в лог.

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

Проводник

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

Содержимое лога ntbtlog.tхt позволяет сузить круг поиска причины, а это уже плюс.

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

В работающей системе включить логгирование загрузки драйверов можно с помощью встроенной утилиты msconfig, отметив на вкладке «Загрузка» пункт Журнал загрузки и сохранив настройки.

Msconfig - Загрузка

Ведение журнала загрузки также может быть включено командой:

bcdedit /set {current} bootlog yes

В запущенной от имени администратора командной строке (параметр no в конце команды отключает журналирование).

CMD - Bcdedit

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

Как читать журнал ntbtlog

Файл лога представляет собой список загруженных (LOADED) и незагруженных (NOT_LOADED) драйверов из каталога SystemRoot\System32\DRIVERS. Однако, как уже было сказано, незагрузившийся драйвер вовсе не означает, что это проблемный драйвер. Как раз напротив, неполадки в работе системы может вызывать как раз загрузившийся, но некорректно функционирующий драйвер, поэтому для выявления источника проблем лучше пойти путем сравнения логов Windows, загруженной в штатном и безопасном режиме.

Если в штатном режиме система работает со сбоями, а в безопасном режиме сбоев не наблюдается, из лога нужно выписать драйвера, которые при обычной загрузке системы получили статус LOADED, а при загрузке в Safe Mode получили статус NOT_LOADED.

Ntbtlog.tхt

Далее по характеру ошибки и имени драйвера стараемся определить, какие именно из загрузившихся драйверов могли стать причиной ошибок и деактивируем их (в безопасном режиме или из-под LiveCD) путем замены расширения SYS или EXE на BAK. Затем загружаем систему в обычном режиме и смотрим на ее поведение. Если Windows грузится без ошибок, проблем в работе системы не возникает, находим путем исключения проблемный драйвер и удаляем его.

Если Windows не загружается в безопасном режиме, например, падает при загрузке в BSOD, сравнивать журнал ntbtlog.tхt нерабочей системы придется с журналом рабочей Windows с другого компьютера, имеющего ту же или как минимум схожую конфигурацию и так же загруженной в безопасном режиме. Но в этом случае дифференциация проводится по другому признаку: драйвера, препятствующие загрузке системы в Safe Mode, в файле ntbtlog.tхt будут отсутствовать, тогда как в загруженной в безопасном режиме рабочей системе они будут иметь статус LOADED.

По большому счету это всё, что касается анализа лога загрузки драйверов ntbtlog. К сожалению, однозначного решения проблемы с загрузкой Windows он не дает, есть лишь намеки, поэтому внимание стоит обращать на всякого рода мелочи, например, строки, указывающие на сбой загрузки одного и того же драйвера (см. выше драйвер dxgkrnl.sys). Может быть и такая картина: нормально загрузившийся драйвер на следующий строке лога уже имеет статус NOT_LOADED, то есть он загрузился и тут же вылетел.

Обращаем также ваше внимание на записи вида NOT_LOADED @cpu.inf,%intelppm.devicedesc%;Intel Processor, в которых присутствует указание на определенное устройство или ПО, в данном примере на интеловские драйвера. Если записей с указанием на драйвер много, стоит подумать об удалении связанного с ним программного обеспечения. Так, пользователи сообщали, что им удавалось восстановить нормальную загрузку Windows путем удаления пакета драйверов SDK for OpenCL, но в таких случаях всегда нужно быть осмотрительным, чтобы не сделать только хуже.

Оцените Статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (4 оценок, среднее: 5,00 из 5)
Загрузка...

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

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