Общие сведения о реестре
Windows 2000 хранит аппаратные и программные параметры централизованно, в иерархической базе данных, называемой реестром (registry) реестр заменяет многие конфигурационные INI-, SYS- и СОМ- файлы, пользовавшиеся в ранних версиях Microsoft Windows. Он предоставляет операционной системе сведения для инициализации приложений и загрузки таких компонентов, как драйверы устройств и сетевые протоколы.
Назначение реестра.
В реестре содержатся сведения о следующих компонентах:
аппаратном обеспечении компьютера — центральном процессоре, типе шины, указательном устройстве или мыши, клавиатуре и т. п.:
установленных драйверах устройств;
установленных приложениях;
установленных сетевых протоколах;
параметрах сетевой платы: номере IRQ, базовом адресе памяти, базовом адресе порта ввода-вывода, готовности канала ввода-вывода и типе трансивера.
Рисунок 1. Окно программы Registry Editor (Редактор реестра)
Данные в реестре в реестре считываются и модифицируются многими компонентами Windows 2000.
Таблица 1. Компоненты, использующие реестр
Компонент |
Описание |
Ядро WIndows NT |
Во время загрузки считывает информацию из реестра, включая сведения о том, какие драйверы устройств и в каком порядке загружать. Сохраняет в реестре информацию о себе, например, номер версии. |
Драйверы устройств |
Получают из реестра параметры конфигурации и хранят в реестре информацию об используемых системных ресурсах, например, прерываниях или каналах DMA. Также сообщают об обнаруженных данных конфигурации. |
Профили пользователей |
Windows 2000 создает и поддерживает параметры рабочей среды пользователя в его профиле. Когда пользователь входит в систему, система кэширует его профиль в реестре. Windows 2000 сначала записывает изменения пользовательской конфигурации в реестр, а затем отражает их в профиле. |
Программы установки |
Во время установки устройства или приложения могут добавить в реестр новые данные конфигурации, а также запросить в реестре сведения о том, были ли установлены требуемые компоненты. |
Аппаратные профили |
Применяются на компьютерах с несколькими аппаратными конфигурациями. В процессе загрузки Windows 2000 пользователь выбирает аппаратный профиль, и Windows 2000 конфигурирует систему соответствующим образом. |
Программа Ntdetect.com |
В процессе загрузки системы на компьютере с процессором Intel выполняет поиск аппаратных средств. Полученные динамические данные об аппаратной конфигурации хранятся в реестре. Компьютер с RISC-процессором извлекает эти сведения из ПЗУ устройств компьютера. |
Иерархическая структура реестра
Структура реестра напоминает иерархию папок и файлов на диске.
Рисунок 2. Отображение иерархической структуры реестра в Registry Editor
В таблице 2 описаны компоненты, образующие иерархию реестра.
Таблица 2. Компоненты реестра.
Компонент |
Описание |
Поддерево (subtree) |
Аналог корневого каталога диска. Реестр Windows 2000 имеет два поддерева: HKEY_LOCAL_MACHINE и HKEY_USERS. Однако для упрощения поиска и просмотра информации в реестре в редакторе предусмотрено пять предопределенных поддеревьев: HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT, HKEY_CURRENT_CONFIG. |
Раздел (key) |
Аналог каталогов и подкаталогов, соответствует аппаратным или программным объектам или группам объектов. Подразделы - это разделы внутри разделов более высокого уровня. |
Записи (entry) |
Включает три части: имя параметра, тип данных и значение. Разделы содержат одну или более записей. |
Куст (hive) |
Дискретный набор разделов, подразделов и записей. Каждый куст имеет соответствующий файл реестра и LOG-файл, расположенные в каталоге systemroot\System32\Config. Windows 2000 использует LOG-файл для записи изменений и соблюдения целостности реестра. |
Типы данных |
Каждое значение записи выражается одним из следующих типов данных. * REG_DWORD - данные, представленные целым числом (4 байта).Многие параметры служб и драйверов устройств имеют этот тип и отображаются в двоичном, шестнадцатеричном или десятичном форматах. * REG_SZ - текстовая строка фиксированной длины. * REG_EXPAND - строка данных переменной длины. Аналог REG_SZ, но текст может содержать подстановочную переменную; например в строке systemroot\Ntvdm.exe переменная среды systemroot (ссылка на системный корневой каталог) заменяется на путь к папке System32. * REG_BINARY - необработанные двоичные данные. Большинство сведений об аппаратных компонентах хранится в виде двоичных данных и выводится в редакторе реестра в шестнадцатеричном формате. * REG_MULTI_SZ - многострочный текст. Этот тип, как правило, имеют списки и другие записи в формате, удобном для чтения. Записи разделяются пробелами, запятыми или другими пометками. * REG_FULL_RESOURCE_DESCRIPTOR - последовательность вложенных массивов. Хранит список ресурсов для аппаратных компонентов или драйверов, не допускает модификацию. |
Поддеревья реестра
Чтобы быстро найти определенные разделы и значения в реестре, следует знать назначение каждого поддерева. на рисунке 3 редактором реестра отображаются следующие пять поддеревьев:
- HKEY_LOCAL_MACHINE - содержит сведения о локальном компьютере, в том числе об аппаратной организации и операционной системе, например: о типе системной шины, памяти, драйверах устройств и параметрах загрузки. Приложения, драйверы устройств и операционная система используют эти сведения для настройки компьютера. Данные в этом поддереве неизменны, независимо от текущего пользователя.
- HKEY_USERS - содержит параметры системы по умолчанию (стандартный профиль пользователя) для контроля индивидуальных параметров среды, например, рабочего стола, отображения окон и доступного программного обеспечения.
- HKEY_CURRENT_USER - содержит данные о текущем пользователе. Извлекает копию каждой учетной записи, применяемой для входа в систему, и сохраняет её в разделе systemroot\Documents And Settings\имя_пользователя.
- HKEY_CLASSES_ROOT - содержит сведения, используемые технологиями OLE, и привязки расширений имен файлов к приложениям (эквивалент реестра в Windows для MS-DOS). Указывает на подраздел HKEY_LOCAL_MACHINE\SOFTWARE\Classes.
- HKEY_CURRENT_CONFIG - содержит данные об активном аппаратном профиле, извлеченные из кустов SOFTWARE и SYSTEM. Эти сведения используются для настройки загружаемых драйверов и разрешения дисплея.
Поддерево HKEY_LOCAL_MACHINE
На примере этого поддерева удобно рассмотреть свойства всех поддеревьев в реестре, так как:
структура всех поддеревьев сходна;
HKEY_LOCAL_MACHINE включает информацию, специфическую для локального компьютера; его содержимое не зависит от текущего пользователя.
Корневой раздел HKEY_LOCAL_MACHINE имеет пять подразделов, назначение которых поясняется в таблице 3.
Таблица 3. Подразделы HKEY_LOCAL_MACHINE
Подраздел |
Описание |
HARDWARE | Отражает тип и состояние физических устройств, подключенных к компьютеру. Формируется динамически в процессе загрузки. Поскольку значения этого раздела непостоянны, он не проецируется в файл на диске. |
SAM | БД каталога для данного компьютера. Куст SAM проецируется в файлы SAM и SAM.log в папке systemroot\System32\Config. Приложения не вправе модифицировать информацию из этого раздела, вместо этого они обращаются к SAM через соответствующий API-интерфейс. |
SECURITY | Параметры безопасности локального компьютера. Куст SECURITY проецируется в файлы Security и Security.log в папке systemroot\System32\Config. Приложения не вправе модифицировать информацию из этого раздела, вместо этого они используют соответствующий API-интерфейс. |
SOFTWARE | Информация о программном обеспечении локального компьютера, которая не зависит от конфигурации конкретного пользователя. Этот куст проецируется в файлы Software, Software.log и Software.sav в каталоге systemroot\System32\Config. Он также содержит информацию о привязках файлов и регистрации OLE-компонентов. |
SYSTEM | Информация о системных устройствах и службах, модифицируемая при установке или настройке драйверов устройств или служб. Куст System проецируется в файлы System, System.log и System.sav в каталоге systemroot\System32\Config. Резервная копия куста SYSTEM хранится в файле System.alt. |
Резюме
Windows 2000 хранит параметры аппаратуры и программ в реестре. Реестр является иерархической базой данных и заменяет конфигурационные INI-, SYS- и СОМ-файлы, использовавшиеся в ранних версиях Windows. Реестр содержит данные разных типов, описывающие установленные на компьютере аппаратные средства, драйверы устройств, приложения и сетевые протоколы, а также сведения для запуска приложений и загрузки таких компонентов, как драйверы устройств и сетевые протоколы.
Данные в реестре считываются и модифицируются многими компонентами Windows 2000. Структуру реестра формируют несколько компонентов. Поддеревья напоминают корневой каталог жесткого диска. В реестре Windows 2000 два поддерева: HKEY_LOCAL_MACHINE и HKEY_USERS. Впрочем, для упрощения чтения и поиска информации в реестре в Registry Editor предусмотрено пять предопределенных поддеревьев: HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT, HKEY_CURRENT_CONFIG. Другие компоненты реестра включают разделы, кусты, записи и типы данных.
Использование Registry Editor
Большинству пользователей Windows 2000 никогда не понадобится обращаться к реестру. Однако управление реестром — это важная часть работы системного администратора, включающая просмотр, редактирование, резервное копирование и восстановление реестра. Для просмотра и изменения конфигурации реестра используется Registry Editor (Редактор реестра).
Программа Regedt32.exe
Setup размещает редактор реестра (программу Regedt32.exe) в папке systemroot\System32. Однако, поскольку большинство пользователей не редактирует реестр, он не появляется в меню Start (Пуск). Для запуска редактора реестра необходимо выбрать в меню Start команду Run (Выполнить).
Примечание. Setup также устанавливает второй редактор реестра - Regedit.ехе. У него нет меню безопасности и он не поддерживает режим «только для чтения», а также типы REG_EXPAND_SZ или REG_MULTI_SZ. Поэтому его не рекомендуется применять для работы с реестром Windows 2000.
Хотя Registry Editor (Редактор реестра) разрешает редактировать peестр вручную, прежде всего он предназначен для устранения неисправностей и конфликтов. Большинство изменений конфигурации следует выполнять из панели управления, либо средствами администрирования. Впрочем, некоторые параметры конфигурации можно изменить только путем прямого редактирования реестра.
Внимание! Некорректное использование редактора реестра может вызвать серьезные общесистемные проблемы, для решения которых, возможно, потребуется переустановить Windows 2000. Перед вызовом редактора реестра сделайте резервную копию реестра. Затем в Registry Editor (Редактор реестра) выберите в меню Options (Параметры) команду Read Only Mode (Только чтение), чтобы предотвратить случайное обновление или удаление данных конфигурации.
Редактор реестра автоматически сохраняет данные по мере внесения изменений. Новые параметры вступают в силу немедленно. Некоторые наиболее полезные команды Registry Editor (Редактор реестра) находятся в меню Registry (Реестр) и View (Вид). Их описание приведено в таблице 4.
Таблица 4. Команды Registry Editor (Редактор реестра)
Команда | Описание |
Меню Registry (реестр) | |
Save Key (Выгрузить куст) | Сохраняет фрагмент реестра в двоичном формате (разрешено сохранить текущий выбранный раздел и все его подразделы). Впоследствии этот файл можно использовать с командой Restore (Восстановить) для восстановления исходного набора значений после тестирования изменений. |
Restore (Восстановить) | Загружает данные из файла в текущий раздел. Если выбранный раздел был ранее сохранен в файле данных, редактор реестра перезапишет в этот раздел данные из файла. |
Save
Subtree
As (Сохранить раздел) |
Сохраняет выбранный раздел и все его подразделы в текстовом файле. Впоследствии с помощью текстового редактора можно найти определенное значение или раздел, который был добавлен или изменен. Заметьте: загрузить информацию из этого текстового файла обратно в реестр нельзя. |
Select
computer (Выбрать компьютер) |
Открывает реестр на удаленном компьютере. Windows 2000 Server разрешает удаленный доступ к своему реестру только членам группы Administrators (Администраторы), однако Windows 2000 Professional позволяет работать со своим реестром любому пользователю с действительной учетной записью. Разрешить удаленный доступ к реестру в обеих ОС можно, создав раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg с типом REG_DWORD и значением 1. |
Меню View (Вид) | |
Find key (Найти раздел) |
Ищет в реестре определенный раздел. Имена разделов отображаются на левой панели Registry Editor (Редактор реестра). Поиск выполняется в текущем разделе и во всех его подразделах локально по отношению к текущему поддереву. Например, поиск раздела в поддереве HKEY_LOCAL MACHINE не включает разделы из HKEY CURRENT USER. |
Резюме
Для просмотра и изменения конфигурации реестра применяется редактор реестра - программа Regedit32.exe. Впрочем, основное назначение редактора реестра - устранять неполадки. Для изменения конфигурации рекомендуется использовать панель управления или средства администрирования, а не редактор реестра. Однако, некоторые параметры конфигурации можно изменять только путем прямого редактирования реестра.
Команда Find Key (Найти раздел) служит для поиска определенного раздела в реестре. Команда Save Key (Сохранить куст) позволяет позволяет сохранить фрагмент реестра в двоичном формате. Команда Save Subtree As (Сохранить раздел) предназначена для сохранения выбранного раздела и всех его подразделов в текстовом файле. Команда Select Computer (Выбрать компьютер) позволяет открывать реестр на удаленном компьютере.