IZONE- http://www.izcity.com/- бесплатный софт, вэб-сервисы, ресурсы для раскрутки, свежие номера журнала "Internet Zone".

Система. Вопросы и ответы-37
Пишите протоколы

Сергей Трошин

- Во время загрузки компьютер сталь сильно тормозить

- как будто задумывается над чем-то почти на минуту. Как бы выяснить, с чем это может быть связано?

- Вот вы везде пишете, что в диагностике проблем неоценимую помощь оказывает файл BOOTLOG.TXT, в котором записан весь процесс загрузки ОС, но я в нем ничего не понял - длиннющий список какой-то. Что значат все эти записи в нем и как с ним работать?

- Я просматривал протокол загрузки Windows Me - файл Bootlog.txt в корневой директории системного диска и обнаружил в нем несколько сообщений об ошибках, хотя система, на мой взгляд, работает вполне нормально, и какого-либо криминала я не обнаруживаю.

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

Скрытый файл bootlog.txt, расположенный в корне системного диска, содержит полный протокол процесса запуска текущей сессии Windows 9x и предназначен для диагностики проблем во время загрузки операционной системы, связанных, например, с некорректными драйверами, неверными записями в реестре или повреждением какого-либо системного файла.

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

Информация в bootlog.txt записана в последовательности, соответствующей течению процесса запуска ОС, в пяти основных секциях (примеры приведены в табл. 1).

Таблица 1
Секция  Вид строки
загрузка драйверов реального режима  loadsuccess=c:\windows\himem.sys
загрузка VxD-драйверов  loading vxd = ios 
loadsuccess = ios
инициализация критичных для системы VxD-драйверов syscritinit=ios
syscritinitsuccess=ios
инициализация виртуальных устройств  deviceinit=ios
deviceinitsuccess=ios
завершение инициализации VxD  initcomplete=ios
initcompletesuccess=ios

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

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

Таблица 2
Сообщение  Значение
Error  ошибка
Fail  сбой
Dynamic load success  динамически загруженный VxD-драйвер
INITCOMPLETESUCCESS  успешно загруженный VxD
LoadStart,LoadSuccess,
Loading Device, Loading Vxd 
индикаторы процесса загрузки 
LoadFailed  неудачная загрузка
SYSCRITINIT, SYSCRITINITSUCCESS  инициализация системных компонентов
DeviceInit, DeviceInitSuccess  инициализация устройств
Dynamic load device, Dynamic init device  динамическая загрузка драйверов и инициализация устройств
Initing, Init Success, INITCOMPLETE, 
Init, InitDone 
индикаторы инициализации и текущего статуса компонентов ОС
Skipped  пропущенный драйвер
Terminate, EndTerminate, Removing, Removed  выгрузка драйверов
при выключении ПК

Анализируя все эти сообщения, которые встречаются в файле протокола (см. табл. 2) можно вполне успешно выявить проблемное устройство или драйвер, приводящие к некорректной работе ОС или просто тормозящие процесс ее загрузки. Например, если вы увидите запись
[000D93F9] Loading Vxd =
C:\PROGRA~1\NORTON~2\
NISDRV.VXD,
но после нее не будет следовать строка
[000D93FB] LoadSuccess =
C:\PROGRA~1\NORTON~2\
NISDRV.VXD, то, найдя этот файл на диске, вы поймете, что произошел сбой в загрузке файрволла Norton Internet Security, и придется его переустановить или вообще выбрать другую аналогичную программу.

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

Чтобы избавиться от таких сообщений, сделайте следующее: если система говорит, что нет файла с расширением .386, то закомментируйте его вызов в файле system.ini, поставив перед строкой с ним точку с запятой, например:
;device=example.386.
Если же расширение - .vxd, то придется поискать его вызов в реестре, в ключе HKEY_
LOCAL_MACHINE\System\CurrentControlSet\
Services\VxD - удалите здесь его упоминание, сохранив предварительно реестр на случай непредвиденных ошибок и сбоев.

А если система запрашивает конкретно файл vnetsup.vxd, что бывает часто после удаления компонентов Microsoft Network в свойствах сети, то удалите параметр StaticVxD в ключе HKEY_LOCAL_
MACHINE\System\CurrentControlSet\Services\
VxD\vnetsup.

Если же, например, ошибка связана с загрузкой драйвера, расположенного в директории Windows\System\Iosubsys, то можно попробовать просто временно переименовать этот файл или переустановить драйвер.

Но поскольку весь протокол bootlog.txt чрезвычайно велик, то вручную выявить все сбои, зафиксированные в нем, очень тяжело, особенно если никакой информации на дисплей при этом не выводится. В этом случае поможет небольшая утилита BootLog Analizer (www.vision4.dial.pipex.com), фильтры которой позволяют отображать только сообщения о сбоях, обнаруженные в протоколе. Она же расшифрует временной код и, соответственно, покажет драйверы, которые вызывают наибольшие задержки при загрузке ОС.

Bообще, если просмотреть bootlog.txt на разных машинах, то выяснится, что на многих вполне работоспособных компьютерах под управлением Windows чаще всего появляются такие сообщения об ошибках:
LoadFailed = dsound.vxd
LoadFailed = ebios
LoadFailed = ndis2sup.vxd
LoadFailed = vpowerd
LoadFailed = vserver.vxd
LoadFailed = vshare
InitCompleteFailed = SDVXD
DeviceInitFailed = MTRR
SysCritInitFailed = JAVASUP
DeviceInitFailed = MTRR

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

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

LoadFailed = dsound. Большинство драйверов звуковых карт используют DirectSound, часть интерфейса DirectX от Microsoft (API DirectX используется, например, компьютерными играми для Windows). Когда работающий с DirectSound звуковой драйвер загружается, он проверяет наличие таких зарегистрированных DirectSound-приложений, и если их не обнаруживается (например, ни одна игрушка на вашем ПК не установлена), то библиотека DirectSound не загружается, о чем и свидетельствует эта запись.

LoadFailed = ebios. Если драйвер расширенной системы базового ввода-вывода (Extended BIOS) не обнаруживает этот самый Extended BIOS, то драйвер EBIOS не грузится.

LoadFailed = ndis2sup.vxd. Если сетевая конфигурация не требует загрузки драйверов NDIS 2, например, никаких сетевых компонентов не стоит, то фиксируется это сообщение.

LoadFailed = vpowerd. Если драйвер расширенного управления питанием Advanced Power Management (APM) определяет, что компьютер не поддерживает APM, то драйвер не загружается. Однако поддержка APM может быть и отключена - проверить это можно, если в диспетчере устройств (Панель управления > Система > Устройства; Control Panel > System > Device Manager) заглянуть в свойства системного устройства Advanced Power Management Support ("Поддержка расширенного управления питанием") - там должен быть установлен флажок "Enable Power Management Support".

LoadFailed = vserver.vxd. Драйвер службы доступа к файлам и принтерам в сетях Microsoft (File and Printer Sharing for Microsoft Networks) загружается динамически, соответственно, если не нужен, то не грузится.

LoadFailed = vshare. Драйвер разделяемого доступа к файлам (File Sharing Support Driver). Если внимательно просмотреть bootlog.txt, то можно обнаружить, что vshare уже успешно загружен ранее, а это - вторая попытка его загрузить, которая проверяет наличие в памяти vshare, удостоверяется, что он уже загружен и, соответственно, вторая его копия не грузится.

InitCompleteFailed = SDVXD. При своей загрузке Windows автоматически загружает миниатюрный драйвер дискового кэширования, чтобы увеличить скорость процесса запуска. Когда процесс запуска ОС завершен, этот драйвер выгружается из памяти, а эта строка добавляется к файлу Bootlog.txt, чтобы указать, что мини-драйвер удален из памяти.

SysCritInitFailed = JAVASUP. Если драйвер поддержки Java не требуется на вашем ПК, то он не загружается.

DeviceInitFailed = MTRR. Memory Type Range Registers отвечает за распределение диапазонов памяти. Его услугами пользуется файл ntkern, файловые и некоторые видеодрайверы. Сообщение об ошибке его загрузки - нормальное явление для некоторых систем.

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

Разобраться же с другими сообщениями об ошибках поможет программа RegRepair 2000 (www.easydesksoftware.com/down.htm) - она умеет исправлять неверные записи в реестре, вызывающие сбои при загрузке, однако при ее использовании обязательно отслеживайте все изменения конфигурации ОС деинсталлятором, чтобы не получить более серьезных глюков.

Протокол bootlog не помешает задействовать и при решении проблем с выключением компьютера. Если при выключении ПК произошло его зависание, то вновь загрузите систему и проверьте финальную часть файла bootlog.prv - на предмет наличия строк типа "Terminate=". После каждой записи "Terminate=" должна идти связанная с ней строка "EndTerminate=", свидетельствующая об успешной выгрузке драйвера или компонента ОС.

Наличие в конце протокола строки "EndTerminate=KERNEL" означает, что сама Windows выгрузилась успешно. Но есть исключения: например, в Windows Me иногда и при беспроблемном выключении этой строки нет. А вот в Windows 98 SE - если при наличии "EndTerminate=KERNEL" компьютер все равно зависает - есть смысл заменить файл configmg.vxd на такой же файл из первой версии 98-й.

Если же последняя строка протокола выглядит так: "Terminate=Query Drivers" - то, скорее всего, проблема с менеджером памяти типа QEMM или дефектная микросхема памяти. Возможно, придется переставить Windows.

Другие проблемы выгрузки ОС описываются следующими строками файла bootlog.prv.
"Terminate=Unload Network" - проблема с сетевым DOS-драйвером в config.sys.

"Terminate=Reset Display" - проблемы с видеокартой - отключите в CMOS Setup теневое копирование видео BIOS ("video shadowing") и обновите драйвер видеокарты.

"Terminate=RIT" - проблемы с драйвером звуковой карты или мыши - обновите их.
"Terminate=Win32" - проблема с запущенной программой - выгрузите все программы перед выключением ПК.

Разумеется, создание этого файла имеет смысл только при наличии каких-то сбоев, если же ваша система работает как часы, то лучше отключить протоколирование загрузки - это немного ускорит загрузку Windows. Для отмены создания Bootlog.txt просто добавьте в раздел [Options] файла msdos.sys параметр DisableLog=1.

Оперативно же заставить ОС создать протокол можно воспользовавшись меню, которое вызывается клавишей Ctrl, нажатой в самом начале загрузки ПК, - в нем имеется предназначенная специально для этого опция "Logged (BOOTLOG.TXT)".

И последнее: помните, что лучшее - враг хорошего, а благими намерениями вымощена дорога сами знаете куда. Так что если все работает нормально, то не пытайтесь "лечить" систему - последствия грубого вмешательства в ОС могут вам не понравиться.

Источник: http://www.computery.ru/upgrade/

 


Copyright © "Internet Zone", http://www.izcity.com/, info@izcity.com