Интернет-журнал "Домашняя лаборатория", 2007 №3
Шрифт:
Для создания резервной копии системного реестра в Windows2000/XP необходимо загрузить компьютер с системной дискеты MS-DOS или в какой-нибудь другой операционной системе, установленной на нем (если таковая присутствует) и скопировать в отдельную папку все файлы, содержащиеся в подкаталоге system32/config той папки, куда Windows установлена. Произвести копирования файлов реестра этой операционной системы при работе в ней невозможно.
Редактор реестра
Сами по себе файлы реестра являются двоичными. В этом может убедиться каждый, открыв копию, скажем, User.dat
При запуске программы regedit.exe (рис. 14.1) перед пользователем предстает иерархическая структура системного реестра, несколько похожая на Проводник.
Рис. 14.1. Программа Редактор реестра.
В левой части окна программы расположено дерево разделов реестра, а в правой отображаются параметры (другое название — "ключи") и их значения, если они присутствуют в разделе. Все разделы реестра являются подразделами пиктограммы "Моего компьютера" в окне реестра, так как при работе в сети на основе Windows есть возможность редактировать реестры на удаленных компьютерах, и если бы с помощью меню "Реестр" к данному редактору реестра был бы подключен еще и сетевой реестр, то он бы отображался в качестве подраздела пиктограммы своего компьютера.
Вся навигация по реестру в Редакторе реестра аналогична таковой в "Проводнике". Единственное отличие — в правой части окна редактора реестра никогда не появляются пиктограммы разделов. Нажатиями на знак "+" или двойными кликами на пиктограммах разделов можно добраться до любого раздела и параметра. Чтобы переименовать раздел или параметр, нужно выбрать соответствующий пункт из контекстного меню или нажать F2. Изучить возможности Редактора реестра по редактированию не составит труда. В Редакторе реестра также есть возможность поиска названия раздела, параметра или значения.
В Редакторе реестра имеется возможность записать всю древовидную структуру реестра в текстовый файл (с расширением. reg), например, чтобы потом ее изучить или сравнить с другой. Для этого служит команда "Экспорт файла реестра" из меню "Реестр". Есть возможность записать в текстовый файл лишь выделенный раздел, для этого нужно отметить специальный пункт в окне экспорта реестра.
При редактировании реестра имейте в виду, что команды "Отменить" в Редакторе реестра нет. Так что удаление раздела или параметра необратимо.
Если вы хотите посмотреть, что меняется в системном реестре под действием той или иной программы, то воспользуйтесь программой RegSnap с сайта http://webdon.com.[33] Она экспортирует реестр в текстовые файлы до и после действия исследуемой программы, а потом сравнит эти два файла и выяснит, какие ключи были добавлены, удалены, изменены.
Обзор системного реестра Все записи в реестре подразделяются на три типа. Это разделы — некое подобие папок "Проводника": они могут содержать в себе другие разделы и параметры. Это параметры — то, что может содержаться в разделе. Они могут быть трех типов: строковые — обычная текстовая строка, двоичные — число в двоичной системе счисления[34], и типа Dword — число в десятичной или шестнадцатиричной системе (вводить можно в любой — во вторую систему число преобразуется автоматически). Ну, и у параметра может быть (а может и не быть) значение — только того типа, какой до пускает параметр.
Если
На самом деле реестр состоит всего из двух разделов — HKEY_LOCAL_MACHINE (содержится в файле System.dat) и HKEY_USERS (содержится в загруженных файлах User.dat). И именно их вы увидите, если экспортируете весь реестр в текстовый файл и его просмотрите. Так как сам реестр содержит в себе лишь два раздела, а его разложение на шесть производится исключительно в редакторе реестра (как бы "виртуальное представление" для удобства работы) то все изменения, сделанные в одном из дублированных разделов, автоматически будут сделаны и в другом — не из-за действий редактора реестра по синхронизации, а из-за того, что и тот, и другой — один и тот же раздел, просто два раза отображенный.
Но — все по порядку.
Сокровищница имен
Раздел HKEY_CLASSES_ROOT является точной копией раздела HKEY_LOCAL_MACHINE\SOFTWARE\Classes и содержит в себе информацию о всех зарегистрированных в системе типах файлов. Именно из этого раздела берется информация для представления в окне "Типы файлов" (рис. 14.2).
Рис. 14.2. Сюда поступает информация из раздела HKEY_CLASSES_ROOT
Но хранится информация о зарегистрированных расширениях весьма своеобразно и сложно. Вначале в разделе HKEY_CLASSES_ROOT идет список всех расширений (с точками вначале!), зарегистрированных в системе, каждое из которых является названием раздела реестра. В каждом таком разделе обязательно есть параметр "По умолчанию". В нем записано как бы "внутреннее" название расширения, которое "в ходу" у системы (рис. 14.3, слева).
В разделе HKEY_CLASSES_ROOT также присутствует раздел с именем этого "внутреннего" названия расширения (расположенный ниже в окне редактора реестра), в котором находятся параметры, определяющие меню правой кнопки мыши для этого расширения. В параметре "По умолчанию" этого раздела записано "официальное" название типа файлов с таким расширением, которое, например, присутствует в списке окна "Типы файлов" (рис. 14.3, справа, также см. рис. 14.2).
Рис. 14.3. Слева показано, где можно узнать "внутреннее" имя типа файлов или задать его. Ну, а справа показано, где расположено "официальное" название типа файлов. Посмотрите его также и на рис. 14.2.
В разделе, имя которое соответствует расширению с точкой вначале, также могут находиться различные параметры, определяющие интеграцию данного типа файлов в "Проводник". В частности, если создать в этом здесь раздел с именем, соответствующим внутреннему названию расширения, там — раздел с именем ShellNew, а в нем — строковый параметр NullFile (рис. 14.4, слева), то в выпадающий список "Создать файл" будет помещено "официальное" название типа файлов (рис. 14.4, справа). Так будет только в случае, если "официальное" название типа файлов присутствует в реестре, и указана программа, который этот файл открывает (см. ниже).