Справочник о системном реестре и настройке Windows XP

Система крах


Система не загружается...

Сбои могут быть самыми различными: точечными и обширными, серьезными и просто неприятными, но наиболее опасными из них являются те, которые не дают системе загрузиться — для их ликвидации нужно заблаговременно позаботиться о восстановление системы после возможного отказа

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

• Повреждение, удаление, замена на несовместимые версии важных системных файлов, в т.ч. и кустов реестра. Большая часть таких фалов находится в папке %SystemRoot%\system32, реестр в %SystemRoot%\system32\config.

• Установка несовместимых служб и драйверов. Это один из бичей всех NT-систем. Для уменьшения этой проблемы даже ввели цифровую подпись драйверов, подтверждающую, что они прошли тестирование в WHQL (Windows Hardware Quality Lab — перевод очевиден) на корректность работы и совместимость с ОС.

• Изменение критических для работоспособности системы параметров на недопустимые значения. Основная часть таких данных хранится в ветви HKLM\SYSTEM\Current-ControlSet. Для повышения отказоустойчивости они дублируются — ключи HKLM\SYSTEM\ControlSetnnn, где nnn — номер. CurrentControlSet является лишь ссылкой на один из этих ключей.

• Повреждения файловой системы: разрушение структуры каталогов, главной загрузочной записи (MBR), загрузочного сектора (Boot Sector) и т.д. NTFS очень чувствительна к подобным сбоям: если есть неисправимая ошибка, ОС просто не загрузится и покажет "синий экран смерти". С другой стороны, NTFS — журналируемая, самовосстанавливающаяся ФС.

• Физическое повреждение жесткого диска. Это аппаратная проблема— его нужно просто заменить.



• Неверно установленные права на системные папки: %SystemRoot%, %UserProfile%, %ProgramFiles%. В случае неправильно заданных прав на каталог %SystemRoot% система вообще может не загрузиться.

Теперь посмотрим, какие средства нам предоставляет ОС для защиты от этих напастей и ликвидации их последствий. Эти средства делятся на две категории: автоматически используемые ОС и нуждающиеся в ручном управлении.

1.1 Способ состоит в резервном копировании всех основных системных файлов: в Properties системного жёсткого диска, открываем вкладку Tools и нажимаем на кнопку Backup now... (это же можно проделать через Start -> Programs -> Accessories -> System Tools -> Backup). В открывшемся окне выбираем вкладку Backup и отмечаем галочкой System state, после чего нажимаем кнопку "Start Backup".

Способ этот хорош всем, кроме одного - созданный "резервирующий" файл (*.bkf) будет иметь размер примерно 200 MB, да и восстановить (вернее, исправить возникшие в ее работе ошибки) можно только при работающей системе, так этот способ всего лишь позволяет, восстанавливая системные файлы, не потерять все свои настройки, а значит, кроме прочего, и не переустанавливать заново инсталлирование программы.

Для уменьшения размера создаваемого при резервировании файла до 15-30 MB можно сохранить только содержимое папки \ system32\ config (полный список файлов реестра можно узнать, если заглянуть реестр: HKEY_LOCAL_MACHINE\ System\ CotnrolSet\ Control\ HiveList\ ), причем для этой цели совсем не обязательно проводить все те манипуляции, о которых рассказывалось выше - можно просто скопировать требующиеся для восстановления файлы в другое место, а при возникновении проблем с реестром загрузиться с любой загрузочной дискеты (хотя бы для DOS) и перезаписать сбойный реестр его резервной копией.

Всё это, конечно, прекрасно, но Windows XP может быть установлена не только на FAT, но и NTFS-раздел, и в этом случае обычная дискета не поможет - NTFS-раздел из DOS не виден. Естественно, и в этом случае выход есть, но для решения этой проблемы нужно будет воспользоваться утилитами сторонних разработчиков - например, воспользоваться программой NTFSDOS Pro, позволяющей производить чтение/запись файлов, размещенных на NTFS-разделе, из-под DOS. Кстати, на сайте разработчика NTFSDOS Pro есть подобная  утилита и для работы с NTFS-разделами из-под Windows 9*.

А если NFSDOS (или какой-нибудь другой подобной утилиты) нет? - Сама Microsoft предусмотрела лишь один способ - загрузку с загрузочного компакт-диска Windows XP: в процессе загрузки системы будет предложено два варианта - установить систему заново или восстановить ее с помощью Recovery Сonsole. В случае, если выбрать Recovery Сonsole, поступит предложение ввести пароль Администратора, после чего - если введенный пароль окажется правильным - загрузится интерфейс командной строки. Список всех допустимых команд выводится командой "help", а наиболее важные для них следующие:

перезапись реестра - copy

вывод на экран списка системных служб и драйверов - listsvc

отключение определенной службы - disable (включение - "enable"),

восстановление загрузочных файлов - fixboot

восстановление Master Boot Record - fixmbr

Кстати, загрузить Recovery Соnsole совсем необязательно с CD - ее можно установить на жёсткий диск, и тогда при загрузке можно будет выбирать, загружать ли систему полностью или загружаться в Recovery Console.

Для установки Recovery Console нужно из командной строки в директории i386 дистрибутива Windows XP набрать ->winnt32.exe /cmdcons

Учитывая, что набор команд в Recovery Соnsole является очень ограниченным, имеет смысл поставить жесткий диск с неработающей системой на другой компьютер, работающий под управлением Windows XP или 2000, и попытаться спокойно разобраться в причинах краха системы - если и не разберетесь, то уж все данные с NTFS-разделов сможете перенести без проблем.

1.2 Системная дискета

Если вы думаете, что здесь речь пойдет о системной дискете MS-DOS, то ошибаетесь — подобная дискета бесполезна при использовании NTFS, так как нужен специальный драйвер NTFSDOS. Нет, я говорю о другом. Дело в том, что есть небольшая хитрость, которая позволяет делать интересные вещи.

Когда вы форматируете дискету в NT, то на ней создается загрузочный сектор, причем не стандартный для DOS, который загружает файл io.sys, а NT-шный, загружающий ntldr. Что это нам дает? А то, что мы вправе скопировать на дискету системные файлы (которые нужны для загрузки ОС) из корня системного диска: ntldr, NTDETECT.COM, boot.ini, а также Bootfont.bin (для русской версии NT) и (если захотите) bootsect.dos и подобные ему (загрузочные сектора других ОС). В результате при загрузке с дискеты мы запустим любую ОС, находящуюся на винчестере, прописанную в boot.ini на дискете и имеющую файл с загрузочным сектором на винчестере или дискете (если это не NT). Нюанс: если вы не копировали на дискету файлы с загрузочными секторами, то будут использоваться файлы с жесткого диска, если же вы их собираетесь использовать с дискеты, то в boot.ini дискеты нужно будет заменить в соответствующих строках букву диска (как правило C:) на букву дискеты (А: в большинстве случаев).

Зачем нам это нужно? Затем, что подобная дискета спасает от ряда проблем с MBR, загрузочным сектором и системными файлами —  все это используется с дискеты.

1.3 Верификация драйверов

Это средство программиста/сисадмина. Если вы имеете неподписанный драйвер, в корректности работы которого сомневаетесь, или сами создали драйвер, то лучше всего будет запустить утилиту verifier.exe (Раздел Системные утилиты). Диспетчер проверки драйверов позволяет тестировать драйверы на типичные ошибки, а также выделять им отдельный пул памяти и следить за ним, что уменьшает вероятность сбоя при небольшом понижении быстродействия.

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



Содержание раздела