Что
такое реестр? Общая теория
Реестр - база данных операционной системы, содержащая конфигурационные сведения. Физически вся информация реестра разбита на несколько файлов. Реестры
Windows 9х и NT частично различаются. В Windows 95/98 реестр содержится в двух файлах SYSTEM.DAT и USER.DAT, находящиеся в каталоге Windows. В Windows Me был добавлен еще один файл CLASSES.DAT.
По
замыслу Microsoft он должен был полностью заменить файлы ini, которые были оставлены только для совместимости со старыми программами, ориентированными на более ранние версии операционной системы.
Почему
произошел переход от ini файлов к реестру? Дело в том, что на эти файлы накладывается ряд серьезных ограничений, и главное из них состоит в том, что предельный размер такого файла составляет 64Кб.
ПРЕДУПРЕЖДЕНИЕ:
НИКОГДА не удаляйте или не меняйте информацию в реестре, если Вы не уверены что это именно то, что нужно. В противном случае некорректное изменение данных может привести к сбоям в работе Windows и, в лучшем
случае, информацию придется восстанавливать из резервной копии.
Редактор RegEdit и структура реестра
Основным средством для просмотра и
редактирования записей реестра служит специализированная утилита "Редактор реестра". Для ее запуска наберите в запуске программы (Пуск->Выполнить) команду regedit.
Откроется
окно программы, в которой слева отображается дерево реестра, похожее по виду на отображение структуры диска в Проводнике, а справа выводятся ключи, содержащиеся в выбранном (активном) разделе. С помощью
редактора Вы можете редактировать значения, импортировать или экспортировать реестр, осуществлять поиск.
Рассмотрим подробнее структуру реестра. Реестр содержит шесть корневых разделов
(ветвей), на которых ниже остановимся подробнее, каждый из них включает подразделы, отображаемые в левой части окна в виде значка папки. Конечным элементом дерева реестра являются ключи или параметры, делящиеся
на три типа:
- строковые (напр. "C:\Windows");
- двоичные (напр. 10 82 A0 8F). Максимальная длина такого ключа 16Кб;
- DWORD. Этот тип ключа занимает 4 байта и отображается
в шестнадцатеричном и в десятичном виде (напр. 0x00000020 (32) - в скобках указано десятичное значение ключа).
Давайте теперь рассмотрим корневые разделы, точнее какая информация в них
содержится. Итак, начнем по порядку:
HKEY_CLASSES_ROOT. В этом разделе содержится информация о зарегистрированных в Windows типах файлов, что позволяет открывать их по двойному щелчку
мыши, а также информация для OLE и операций drag-and-drop
HKEY_CURRENT_USER. Здесь содержатся настройки оболочки пользователя (например, Рабочего стола, меню "Пуск", ...),
вошедшего в Windows. Они дублируют содержимое подраздела HKEY_USER\name, где name - имя пользователя, вошедшего в Windows. Если на компьютере работает один пользователь и используется обычный вход в Windows,
то значения раздела берутся из подраздела HKEY_USERS\.DEFAULT
HKEY_LOCAL_MACHINE. Этот раздел содержит информацию, относящуюся к компьютеру: драйверы, установленное программное обеспечение
и его настройки HKEY_USERS. Содержит настройки оболочки Windows для всех пользователей. Как было сказано выше, именно из этого раздела информация копируется в раздел HKEY_CURRENT_USER. Все изменения в HKCU
(сокращенное название раздела HKEY_CURRENT_USER) автоматически переносятся в HKU
HKEY_CURRENT_CONFIG. В этом разделе содержится информация о конфигурации устройств Plug&Play и сведения
о конфигурации компьютера с переменным составом аппаратных средств
HKEY_DYN_DATA. Здесь хранятся динамические данные о состоянии различных устройств, установленных на компьютере пользователя.
Именно сведения этой ветви отображаются в окне "Свойства: Система" на вкладке "Устройства", вызываемого из Панели управления. Данные этого раздела изменяются самой операционной системой,
так что редактировать что-либо вручную не рекомендуется.
Наибольший интерес представляют ветви HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE. Именно там хранятся настройки, позволяющие привести
Вашу операционную систему в надлежащий вид :).
Восстановление реестра
При работе с реестром надо соблюдать осторожность. Удаление каких-либо
важных данных случайно или по незнанию может привести к краху операционной системы. Тогда спасти положение может только восстановление последней работоспособной копии.
Если Вы собрались
поэкспериментировать с реестром, предварительно сохраните на диске файлы SYSTEM.DAT и USER.DAT. Они находятся в каталоге, куда была установлена операционная система и имеют атрибуты "только для чтения"
и "скрытый". В случае если реестр будет серьезно испорчен, Вы сможете переписать эти файлы в каталог Windows, установить нужные атрибуты и реестр будет как новенький. Только не вздумайте восстанавливать
эти файлы, когда загружен Windows, иначе система накроется окончательно и спасет ее только полная переустановка! Для восстановления этих файлов надо предварительно перезагрузиться в DOS и уже там заменять
испорченные файлы хорошими.
Но это не единственный вариант восстановления данных. Дело в том, что операционная система, при каждом удачном запуске сохраняет копию реестра в CAB-файле,
который записывается в скрытый каталог SYSBCKUP каталога Windows. По умолчанию, хранятся последние пять копий. Это число может варьироваться от 0 до 99 и устанавливается значением ключа MaxBackupCopies
в файле scanreg.ini в каталоге Windows. Правда не стоит устанавливать слишком большое значение, т.к. файлы занимают немало места (один файл имеет размер больше мегабайта).
Чтобы восстановить
реестр с одной из этих резервных копий надо перезагрузиться в DOS и выполнить команду
SCANREG /RESTORE
Появится список доступных резервных копий реестра отсортированных по времени
их создания. После выбора нужной копии данные будут благополучно восстановлены, и Вы получите реестр, отвечающий состоянию дел на момент его создания.
Но если Вы устанавливали какие-то
программы или меняли настройки операционной системы в промежуток между последней резервной копией и сбоем в реестре, то все эти данные безвозвратно пропадут. Надо ли нам это? Однозначно нет! Чтобы в любое
время создать резервную копию реестра воспользуйтесь командой
SCANREG /BACKUP
которая в случае нормально прошедшей проверки создаст резервную копию.
Еще один
вариант резервирования и восстановления реестра состоит в экспортировании раздела или целой ветви, которую Вы планируете изменять. Это можно осуществить в Regedite для Windows в меню "Реестр".
Выделите нужный раздел и щелкните по пункту "Экспорт файла реестра". После задания имени файла данные этого раздела будут в него экспортированы. Файл имеет расширение REG. Для его импортирования
в реестр достаточно дважды щелкнуть на нем и данные будут перенесены. Правда этот способ восстановления информации имеет один существенный недостаток: все удаленные или измененные записи будут восстановлены,
но вот добавленные записи удалены не будут. Поэтому данный способ больше подходит, если Вы проводите какие-то несущественные изменения, и чтобы откатить их не вводя старые данные заново, можно воспользоваться
экспортом/импортом.
Вообще, работать с реестром надо крайне осторожно, но если Вы будете периодически резервировать его, то никаких проблем возникнуть не должно.