Секреты системного реестра

.

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

Без реестра операционная система неработоспособна. Многие компоненты реестра изменяются самостоятельно по приказам операционной системы или программ, некоторые можно настроить с помощью диалоговых окон (скажем, вроде назначения цветовой или звуковой схемы), но большая часть их недоступна для изменения из «стандартных средств» Windows.
Эта глава посвящена рассказу о структуре системного реестра, о принципах работы с ним, а также содержит в себе информацию о скрытых настройках реестра, использование которых может дать вам в руки ключи власти почти над всей операционной системой.
В качестве обьекта исследования взят системный реестр операционной системы Windows95/98 как устроенный более просто, чем реестр систем на платформе NT — Windows 2000 и Windows XP. Кроме того, в настоящее время в России наиболее распространенной операционной системой остается Windows98 как сочетающая в себе умеренные требования к ресурсам компьютера и удовлетворительные сервисные функции и надежность, так что нижеприведенное описание сможет пригодиться максимальному числу пользователей именно в том случае, если его обьектом станет именно Windows 95/98. Однако о реестре Windows 2000/XP упоминания в главе тоже имеются, но приводятся они лишь «для общей информации» и руководствоваться ими при непосредственных действиях по изменению параметров системного реестра не стоит.
В операционных системах Windows9x физически реестр располагается в двух файлах в каталоге Windows (далее именно так будет обозначаться папка, в которую установлена операционная система — название этого каталога на вашем компьютере может быть другим) — System.dat и User.dat. Файлы System.da0 и User.da0 (на конце — цифра ноль) являются резервными копиями реестра первой очереди, которые создаются каждый раз после успешной загрузки компьютера, а в случае неудачи при загрузке могут быть помещены на место поврежденных файлов реестра. В Windows Me к указанным файлам добавился еще и файл classes.dat, являющийся тем самым третьей частью системного реестра.
Сам системный реестр состоит из двух частей. Первая — файл System.dat — содержит информацию, общую для всех пользователей данного компьютера: информацию о наличии устройств, их параметры, настройки некоторых программ и др. Вторая же часть — User.dat — является специфичной для каждого пользователя, храня его настройки. Оба файла имеют атрибут «Скрытый».
Если на компьютере зарегистрировано несколько пользователей, то в папке Windows\Profiles хранятся в отдельных каталогах «личные» файлы каждого: содержимое рабочего стола, главное меню и т. д… а также часть User.dat системного реестра. В папке Windows тоже хранится файл User.dat, содержащий настройки системы по умолчанию.[31] При загрузке компьютера после ввода имени пользователя файл User.dat из каталога этого пользователя вместе с System.dat и User.dat из каталога Windows загружается в память и «склеивается» с ними в единое целое.
В операционных системах Windows 2000/XP файлы системного реестра хранятся в подпапке System32/Config каталога с файлами Windows.
Перед тем, как начать изучение внутреннего устройства системного реестра, неплохо было бы обезопасить свою систему от крушения вследствие его возможного повреждения. Вопреки распространенному мнению, если регулярно проводить резервное копирование системного реестра, то его повреждение не нанесет существенного вреда системе.[32]

Меры предосторожности
Как вы наверняка уже знаете, в случае повреждения системного реестра операционная система Windows может не суметь загрузиться. В этом случае единственным выходом будет переустановка Windows, процесс долгий и занудный. Но этого можно легко избежать, использовав универсальный способ — резервное копирование.
В Windows98 резервное копирование реестра совершается автоматически. Каждый раз при успешном запуске Windows запускается программа scanregw.exe, которая копирует файлы реестра в папку Windows\Sysbckup, заархивировав их в файл типа. cab (что уменьшает их обьем раза в четыре). Кроме того, в архив с реестром помещаются файлы win.ini и system.ini, также содержащие важные настройки системы. Для восстановления реестра используется программа scanreg.exe, работающая в Режиме MS-DOS.
Если на вашем компьютере установлена именно Windows98, то в случае катастрофы системы, когда при загрузке компьютера вы видите сообщение «Системный реестр поврежден» или «невозможно загрузить драйвер…» или что-нибудь еще, действия должны быть следующими:
1. Перезагрузить компьютер кнопкой Reset.
2. При загрузке компьютера держите нажатой клавишу Ctrl. В появившемся меню выберите пункт Command Prompt Only и дождитесь появления приглашения MS-DOS. Если вызвать меню загрузки таким образом не удается, то вставьте в дисковод загрузочную дискету и загрузитесь с нее. Дождитесь вывода на экран приглашения MS-DOS.
3. Введите команду scanreg /restore. Запустится программа восстановления системного реестра. Выберите желаемую копию (лучше всего наиболее позднюю, что можно определить по дате) и следуйте дальнейшим указаниям программы.
4. Перезагрузите компьютер. Все должно заработать.
По умолчанию программой scanregw.exe сохраняется 5 копий реестра — от пяти последних запусков Windows. Можно сделать так, что сохраняться будет не 5, а больше (до 100) или меньше копий реестра. Для этого создайте файл scanreg.ini в каталоге с утилитами scanreg.exe и scanregw.exe и укажите там параметр MaxBackupCopies со значением, равным числу желаемых резервов (просто написав в первой строчке файла scanreg.ini строку MaxBackupCopies=число_резервов). Также можно заставить операционную систему сохранять в архивах с копиями реестра и другие файлы — просто добавьте в scanreg.ini строки Files=полный путь к файлу.
Если с реестром вы экспериментируете часто и желаете отменить автоматическое резервирование реестра (чтобы не удалять наиболее старые его копии, которые могут потребоваться для его восстановления), то уберите вызов программы scanregw.exe из раздела автозагружаемых программ системного реестра (о том, где он находится — смотрите ниже), и впоследствии выполняйте ее запуск вручную.
Если у вас установлена Windows95, но вы желаете воспользоваться этими утилитами, то извлеките с помощью программы WinZip 7.0 или WinRar 2.50 и выше файлы scanregw.exe и scanreg.exe из файлов. cab дистрибутива Windows98[33] и поместите туда, куда сочтете нужным. Эти программы прекрасно работают и в этой операционной системе.
При работе в Windows95 и отсутствии возможности установки утилит резервирования реестра для его архивации в Режиме MS-DOS просто скопируйте файлы реестра в какую-либо папку вне каталога Windows, а для его восстановления произведите обратную операцию, скопировав заранее зарезервированные файлы поверх испорченных в каталоге Windows.
Если даже после восстановления системного реестра Windows не загрузилась — то увы, ее переустановка неизбежна. По всей видимости, в таком случае повредился какой-то системный файл, не реестр. (В этом случае ваши эксперименты над реестром не были причиной сбоя.) Вытаскивайте из папки Program Files и каталога с операционной системой все мало-мальски для вас ценное (не забудьте эвакуировать все нужное из папки «Рабочий стол», или «Desktop» в английской версии, — там находится все содержимое вашего рабочего стола, а также из каталога Profiles, если таковой существует — чтобы спасти файлы остальных пользователей, и из папки Applications Data в каталоге с Windows — там находятся папки с почтой Outlook Express, а также шаблоны Word2000), стирайте их (не забудьте предварительно снять со всех файлов в них атрибут «Только чтение», или придется подтверждать каждое удаление), удалите папку Recycled и запускайте setup.exe из каталога с дистрибутивом Windows. После установки системы и всех программ не забудьте сделать новые копии реестра.
Весьма желательно после установки Windows скопировать ее дистрибутив на жесткий диск и сделать загрузочную дискету. В любом случае восстановление Windows придется вести из Режима MS-DOS, а в таком случае доступ к CD-Rom'у будет невозможен, если не загрузить драйвера для него. Последнее же сделать не всегда возможно, так что надежнее будет иметь дистрибутив Windows на жестком диске.
Если вы отключите авторезервирование реестра в Windows98 или работаете с Windows95, то время от времени резервирование реестра рекомендуется повторять. Делать это надо в следующих случаях.
1. Когда вы установили новую большую программу и убедились, что она работает. Большие программные пакеты, например, Microsoft Office или Intermet Explorer, делают в реестре при своей установке большое количество записей, и могут отказаться работать, если впоследствии их не обнаружат. Если вы выполните переустановку реестра в таком случае, то вам придется переустановить и все эти программы.
2. Когда вы проводите нужное вам редактирование реестра, и оно оказывается успешным.
3. Когда вы добавляете новые учетные записи в Outlook Express, The Bat! в ftp-менеджеры и почтовые клиенты, и эти записи вам крайне необходимы. Они хранятся в системном реестре и в случае его замены — пропадут.
4. Когда вы регистрируете некоторые из программ, записывающие свой регистрационный код в реестр. В этом случае после переустановки реестра они окажутся снова нерегистрированными. Исключение составляют лишь случаи установки программ, работающих ограниченное время — в этом случае восстановление реестра из предыдущей копии в некоторых случаях позволит продлить срок их эксплуатации.
5. Когда вы внесли в конфигурацию Windows какое-нибудь важное вам изменение вроде настройки цветовой гаммы окон или звуковых схем и не хотели бы его потерять.
6. Когда вы установили новое устройство.
Не нужно стремиться к какому-нибудь супер-резервированию реестра, скажем, на дискетах или на сайтах Интернета. Если у вас произошло крушение винчестера, на котором были резервные копии реестра, то Windows однозначно потребует переустановки, а в таком случае старые копии реестра потеряют свою ценность.
Кроме утилиты scanregw.exe из дистрибутива Windows98, фирмой Microsoft также создано несколько утилит, которые делают то же, что и эта, но несколько более красиво. К ним относятся программы Cfgback.exe и ERU (находятся на лицензионном компакт-диске Windows). Последняя сохраняет еще и все файлы настроек и автозапуска (win.ini, system.ini, msdos.sys, autoexec.bat, config.sys). Утилиты резервирования и восстановления реестра есть и почти в любом пакете дисковых утилит вроде Nuts&Bolts.
Для создания резервной копии системного реестра в Windows2000/XP необходимо загрузить компьютер с системной дискеты MS-DOS или в какой-нибудь другой операционной системе, установленной на нем (если таковая присутствует) и скопировать в отдельную папку все файлы, содержащиеся в подкаталоге system32/config той папки, куда Windows установлена. Произвести копирования файлов реестра этой операционной системы при работе в ней невозможно.

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.