Хотя частичная или полная потеря работоспособности Windows 98 - обычное явление, в политику Microsoft не входит предоставление пользователям подробного анализа происходящих сбоев. Чаще всего предлагается стандартный рецепт: ошибка - переустановите приложение, систему или вызывайте разработчика :-). В условиях такого дефицита информации определить реальные причины развала системы часто невозможно и через некоторое время ситуация повторяется.
Особенные неприятности доставляют моменты, когда Win98 отказывается загружаться в любом варианте, оставляя пользователю только командную строку. (В WinMe - загрузку с системной дискеты). Предоставляемый набор утилит для ликвидации таких кризисов более чем скромен: SCANDISK - для диагностики диска и файловой системы и SCANREG - для диагностики базы данных системной информации Registry. И если SCANDISK дает хоть какие-то объяснения своих действий, то SCANREG обходится "без комментариев". Но все же в комплексе с системой резервирования Registry эти утилиты позволяют восстановить работоспособность операционной системы.
При отсутствии проблем с железом неудачная загрузка практически всегда связана с повреждениями Registry. Registry или Реестр - это хранилище информации, необходимой для нормальной загрузки и работы Windows. В него включаются параметры настройки для всех аппаратных средств, программ и пользователей.
Вообще-то сама концепция Registry оказалась не самым лучшим нововведением Microsoft. Собрать в одном месте критические системные данные и позволить любой программе вписывать туда же любой мусор типа результатов Lines или Марьяжа выглядит нелогичным. Неизбежные накладки и ошибки программирования разрушают системную информацию и Windows внезапно отказывается работать, рекомендуя переустановку.
Спешить тем не менее не стоит, поскольку далеко не всегда Microsoft правильно определяет причины ошибок. Безусловным показанием к переустановке является удаление системных каталогов или форматирование :-) диска. В остальных случаях до запуска Setup надо выполнить дополнительные исследования, чтобы проблема была действительно решена без ущерба для пользовательской информации.
Итак, если Windows после 2-х - 3-х попыток не может загрузится даже в безопасном режиме (Safe Mode) нужно загрузится в режиме командной строки (Command Prompt), проверить scandisk'ом состояние винчестера и выполнить команду scanreg /fix. При отсутствии масштабных повреждений scanreg с большой вероятностью исправляет ошибки и работоспособность системы восстанавливается. В этом случае все же вероятна потеря какой-то информации и сбои в работе отдельных приложений. Их придется переустанавливать по мере проявления таких ошибок.
Поскольку возможности SCANREG ограничены, то в случае неудачи есть несколько вариантов дальнейших действий, чтобы добиться загрузки хотя бы в безопасном режиме.
Windows диагностирует ошибку в
Registry, не может ее
самостоятельно устранить и
входит в цикл запуск
scanreg-перезагрузка. -
Испорчены текущая версия Registry
и версия, используемая для
восстановления.
Нужно загрузится в DOS-режиме и
удалить из каталога WINDOWS файлы
system.dat и user.dat. Лучше при этом
пользоваться каким-нибудь
Commander'ом (NC, VC и т.д.). Затем
перейти в каталог WINDOWS\SYSBCKUP и
удалить самый свежий (т.е. с
самыми поздними датой и
временем создания) файл rb00x.cab
(вместо x цифра, обычно от 0 до 5).
Далее - запустить scanreg для
восстановления Registry.
Автоматически для
восстановления используется
последняя из оставшихся копия
реестра. Для применения другой
нужно запускать SCANREG с ключом
/restore. Если ни одна из копий не
поможет загрузить Windows, то
лучше ее переустановить.
(Использовать файл system.dat из
корневого каталога
загрузочного диска желательно
в самых крайних случаях. Он
создается при установке
системы и не содержит
информации о последующих
изменениях, поэтому все
приложения придется
переустанавливать. В случае
переустановки системы большая
часть информации о приложениях
сохранится.)
Windows не может загрузиться
даже в безопасном режиме,
диагностируя ошибку в VxD, DLL или
EXE файле. - Поврежден или
отсутствует критически важный
системный файл.
Для восстановления
понадобится дистрибутив Windows.
Нужно загрузиться в режиме MS DOS.
В каталоге WINDOWS\COMMAND или на
установочном диске найти
программу extract.exe (Cabinet Extraction Tool)
и заменить поврежденный файл
из cab-архивов установочных
дисков (ключ /A позволяет
просмотреть все архивы за один
проход). Пример команды:
extract /A /L c:\windows\system
drive_cd:\win98\win98_21.cab file_name.dll
,
где drive_cd - буква CD-ROM, c:\windows\system -
каталог, где нужно заменять
файл, название cab-файла не имеет
значения.
Возможно операцию придется
повторить для нескольких
файлов. Если замена файла не
помогла, то ошибка может быть в
файле ddeml.dll (каталог
WINDOWS\SYSTEM). Указанную операцию
нужно выполнить для него.
Наихудший вариант - Windows зависает в процессе загрузки без выдачи диагностики. Тогда нужно выбирать из меню boot-менеджера вариант загрузки с созданием протокола (Logged) и анализировать файл BOOTLOG.TXT в корневом каталоге системного диска, чтобы определить какие модули повреждены и попытаться их восстановить с дистрибутивов либо удалить. Если зависание происходит в случайные моменты, то проблема заключается в сбоях железа (перегрев, глюки, выход из строя и т.д.) и переустановка не поможет.
Вышеперечисленные меры могут не дать результатов когда крах системы произошел в результате злого умысла (malicious intent) либо активации вируса. Это отдельная тема и уже большой удачей станет возврат какой-либо части пользовательских данных.
Вероятность аварийных ситуаций можно снизить периодической профилактикой системы. Одновременно улучшается и производительность Windows. К числу необходимых действий относятся: антивирусный контроль, контроль состояния диска и файловой системы (scandiskw) и проверка целостности системных файлов (sfc).
При контроле состояние диска производится анализ и коррекция системных областей диска, устранение потерянных кластеров - областей диска ошибочно отмеченных в FAT как занятые, проверка правильности занимаемого файлами и каталогами места, тест физического состояния поверхности носителя.
Утилита проверки системных файлов (sfc) находится в каталоге WINDOWS\SYSTEM. В ее задачи входит определение измененных и поврежденных системных файлов и восстановление по выбору пользователя. Такие изменения происходят при установке новых программ, при этом проверка на согласование версий заменяемых файлов не производится. В результате часть приложений может потерять работоспособность. SFC позволяет восстановить их без переустановки. Кроме того, этой программой можно воспользоваться для извлечения отдельных файлов из cab-архивов. (В Windows Me утилита sfc заменена автоматической подсистемой защиты критических файлов (SFP), предотвращающая произвольное изменение защищенных модулей. Пользователю остается только надеяться :-) на ее надежность)
Стоит также периодически производить анализ системы с помощью утилиты типа Norton WinDoctor (NWD). Он производит поиск отсутствующих компонент программного обеспечения, определяет нарушения структуры Registry и позволяет очистить реестр от лишней информации, остающейся после удаления ненужных программ.
И последнее: при обслуживании дисков с ценной информацией лучше не использовать режим автоматического исправления ошибок - нестандартные ситуации в быстро меняющемся мире Windows загоняют различные программы в тупик.
Главная || || Компьютер и Windows