
Использование реестра
Общие сведения о реестре
Windows 2000 хранит аппаратные и программные параметры централизованно в иерархической базе данных, называемой реестром (registry). Реестр заменяет многие многофункциональные INI-, SYS- и COM-файлы, использовавшиеся в ранних версиях Windows.
Назначение реестра
В реестре содержатся сведения о следующих компонентах:
- аппаратном обеспечении компьютера – центральном процессоре, типе шины,
мыши, клавиатуре и т.п.;
- установленных драйверах устройств;
- установленных приложениях;
- установленных сетевых протоколах;
- параметрах сетевой платы.
Данные в реестре считываются и модифицируются многими компонентами Windows 2000.
В табл.3. описаны компоненты, использующие реестр.
Табл.3 Компоненты, использующие реестр
Компонент Описание
Ядро Windows NT Во время загрузки считывает информацию из реестра, включая сведения о том, какие драйверы устройств и в каком порядке загружать. Сохраняет в реестре информацию о себе, например, номер версии.
Драйверы Получают и реестра параметры конфигурации и хранят в
устройств реестре информацию об используемых системных ресурсах, например, прерываниях или каналах DMA. Также об обнаруженных данных конфигурации.
Профили Windows 2000 создает и поддерживает параметры рабочей
пользователей среды в его профиле. Когда пользователь входит в систему, система кэширует его профиль в реестре. Windows 2000 сначала записывает изменения пользовательской конфигурации в реестр, а затем отражает их в профиле.
Программы Во время установки устройства или приложения могут
установки добавить в реестр новые данные конфигурации, а также запросить в реестре сведения о том, были ли установлены требуемые компоненты.
Аппаратные Применяются на компьютерах в несколькими аппаратными
Профили конфигурациями. В процессе загрузки Windows 2000 пользователь выбирает аппаратный профиль, и Windows 2000конфигирирует систему соответствующим образом.
Программа В процессе загрузки системы на компьютере с процессором
Ntdetect.com Intel выполняет поиск аппаратных средств. Полученные динамические данные об аппаратной конфигурации хранятся в реестре.
Иерархическая структура реестра
Структура реестра напоминает иерархию папок и файлов на диске. В табл.5 описаны компоненты, образующие иерархию реестра.
Табл. 5. Компоненты реестра
Компонент Описание
Поддерево Аналог корневого каталога диска. Реестр Windows 2000 имеет
(Subtree) два поддерева: 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_SZ – строка данных переменной длины.
- REG_BINARY – необработанные двоичные данные. Большинство сведений об аппаратных компонентах хранится в виде двоичных данных и выводится в редакторе реестра в шестнадцатеричном формате.
- REG_MULTI_SZ – многострочный текст. Этот тип, как правило, имеют списки и другие записи в формате, удобном для чтения. Записи разделяются пробелами, запятыми или другими пометками.
- REG_FULL_RESOURCE_DESCRIPTOR – последовательность вложенных массивов. Хранит список ресурсов для аппаратных компонентов и драйверов, не допускает модификацию.
Поддеревья реестра
Чтобы быстро найти определенные разделы и значения в реестре, следует знать назначение каждого поддерева.
- HKEY_LOCAL_MACHINE – содержит сведения о локальном компьютере, в том числе об аппаратной организации и операционной системе, например: о типе системной шины, памяти, драйверах устройств и параметрах загрузки. Приложения, драйверы устройств и операционная система используют эти сведения для настройки компьютера. Данные в этом поддереве неизменны, независимо от текущего пользователя.
- HKEY_USERS – содержит параметры системы по умолчанию (стандартный профиль пользователя) для контроля индивидуальных параметров среды, например, рабочего стола, отображения окон и доступного программного обеспечения.
- HKEY_CURRENT_USER –содержит данные о текущем пользователе. Извлекает копию каждой учетной записи, применяемой для входа в систему, и сохраняет ее в разделе systemroot\Documents And Settings\имя пользователя.
- HKEY_CLASSEE_ROOT – содержит сведения, используемые технологиями OLE, и привязки расширений имен файлов к приложениям (эквивалент реестра в Windows для MS-DOS). Указывает на подраздел HKEY-CURRENT_MACHINE\SOFTWARE\Classes.
- HKEY_CURRENT_CONFIG – содержит данные об активном аппаратном профиле, извлеченные из кустов SOFTWARE и SYSTEM. Эти сведения используются для настройки загружаемых драйверов и разрешения дисплея.
Поддерево HKEY_LOCAL_MACHINE
На примере этого поддерева удобно рассмотреть свойства всех поддеревьев в реестре, так как:
- структура всех поддеревьев сходна;
- HKEY_LOCAL_MACHINE включает информацию, специфическую для локального компьютера; его содержимое не зависит от текущего пользователя.
Корневой раздел HKEY_LOCAL_MACHINE имеет пять подразделов, назначение которых поясняется в таблице 6.
Табл. 6 Подразделы HKEY_LOCAL_MACHINE
Подраздел Описание
HARDWARE Отражает тип и состояние физических устройств,
подключенных к компьютеру. Формируется динамически в процессе загрузки. Поскольку значения этого раздела непостоянны, он не проецируется в файл на диске.
SAM БД каталога для данного компьютера. Куст SAM проецируется
в файлы SAM и SAM.log в папке systemroot\System32\Config. Приложения не вправе модифицировать информацию из этого раздела, вместо этого они обращаются к SAM через соответствующий API-интерфейс.
SECURITY Параметры безопасности локального компьютера. Куст
SECURITY проецируется в файлы SECURITY и SECURITY.log в папке systemroot\System32\Config. Приложения не вправе модифицировать информацию из этого раздела, вместо этого они обращаются к SAM через соответствующий API-интерфейс.
SOFTWARE Информация о программном обеспечении локального
компьютера, которая не зависит от конфигурации конкретного пользователя. Этот куст проецируется в файлы Software, Software.log и Software.sav в папке systemroot\System32\Config. Он также содержит информацию о привязках файлов и регистрации OLE-компонентов.
SYSTEM Информация о системных устройствах и службах,
модифицируемая при установке или настройке драйверов устройств или служб. Этот куст проецируется в файлы System,
System.log и System.sav в папке systemroot\System32\Config. Резервная копия куста System хранится в файле System.allt.
Использование Registry Editor
Большинству пользователей Windows 2000 никогда не понадобится обращаться к реестру. Однако управление реестром – это важная часть работы системного администратора, включающая просмотр, редактирование, резервное копирование и восстановление реестра. Для просмотра и изменения конфигурации реестра используется Registry Editor (Редактор реестра).
Программа Regedit32.exe
Setup размещает редактор реестра (программу Regedit32.exe) в папке systemroot\System32. Для запуска редактора реестра необходимо выбрать в меню Start команду Run.
Редактор реестра автоматически сохраняет данные по мере внесения изменений. Новые параметры вступают в силу немедленно. Некоторые наиболее полезные команды Registry Editor находятся в меню Registry и View. Их описание приведено в табл. 6
Табл. 6 Команды Registry Editor
Команды
Описание
Меню Registry (Рееср)
Save Key Сохраняет фрагмент реестра в двоичном формате.
(Выгрузить куст) Впоследствии этот файл можно использовать с командой estote
(Восстановить) для восстановления исходного набора
значений после тестирования изменений.
Restore Загружает данные из файла в текущий раздел. Если
(Восстановить) выбранный раздел был ранее сохранен в файле данных,
редактор реестра перезапишет в этот раздел данные из файла.
Save Subtree As Сохраняет выбранный раздел и все его подразделы в тексто-
(Сохранить раздел) вом файле. Впоследствии с помощью текстового редактора
можно найти определенное значение или раздел, который был
добавлен или изменен.
Select computer Открывает реестр на удаленном компьютере. Windows 2000
(выбрать Server разрешает удаленный доступ к своему реестру только
компьютер) членам группы Administrator, однако Windows 2000 Professional позволяет работать со своим реестром любому пользователю с действительной учетной записью.
Меню View (Вид)
Find key Ищет в реестре определенный раздел. Имена разделов отобра-
(Найти раздел) жаются на левой панели Registry Editor. Поиск выполняется в текущем разделе и во всех его подразделах.
Практикум: использование Registry Editor
Задействуйте Registry Editor для просмотра информации в реестре: просмотрите сведения о BIOS, процессоре и версии ОС. Затем с помощью команды Find Key (найти раздел) найдите в реестре определенное значение. Добавьте в реестр значение и сохраните поддерево кК файл, чтобы затем иметь возможность вести поиск в этом файле посредством текстового редактора.
Упражнение 1: просмотрите содержание реестра
-
Зарегистрируйтесь в системе как Administrator.
-
Запустите Registry Editor.
-
В меню Options выберите команду Read Only Mode (Только чтение).
-
Убедитесь, что в меню View выбрано Tree And Data (Структура и данные).
-
Разверните окно редактора реестра и выберите окно HKEY_LOCAL_MACHINE On Local Machine.
-
Дважды щелкните подраздел HARDWARE\DESCRIPTIONS\System, чтобы раскрыть его, и ответьте на следующие вопросы:
Какая версия BIOS установлена на вашем компьютере, какая дата ее выпуска.
Каков тип вашего компьютера согласно записи Identifier?
-
Раскройте подраздел SOFTWARE\Microsoft\WindowsNT\CurrentVersion и
запишите следующие сведения.
Программная конфигурация Значение и строка
Текущий номер сборки
Текущая версия
Зарегистрированная организация
Зарегистрированный владелец