Расположение системного реестра Windows
Ранее была рассмотрена логическая структура реестра, но существует ещё и физическая структура, сохраняющая различные части реестра в отдельных файлах. Хранение реестров разных версий Windows имеют различия.
В Windows ХР реестр содержится в двух файлах SYSTEM.DAT и USER.DAT, находящиеся в каталоге Windows. В Windows Me был добавлен еще один файл CLASSES.DAT.
В качестве примера рассмотрим физическую структуру Windows XP. Элементы реестра хранятся в виде атомарной структуры. Реестр разделяется на составные части, называемые ульями (hives), или кустами. Ульи хранятся на диске в виде файлов (табл.2). Некоторые ульи, такие, как HKLM\HARDWARE, не сохраняются в файлах. Они записываются в память компьютера в процессе его загрузки и удаляются сразу после отключения питания. Такие разделы реестра называются изменяемыми (vola-tile). В практическом плане это значит, что они управляются ОС в рамках одного сеанса, т.е. начиная с момента загрузки Windows и до завершения работы с ней. Примером такого энергозависимого раздела можно считать ветвь HKEY_LOCAL_MACHINE\HARDWARE, в которой расположены данные о подключенном к компьютеру оборудовании и назначенных различным устройствам ресурсах. К таким ресурсам относятся, в частности, запросы на прерывание (IRQ), каналы прямого доступа к памяти (DMA) и диапазоны ввода-вывода (I/O Range).
Поскольку такие операции, как опрос, инициализация устройств и динамическое распределение ресурсов осуществляются непосредственно в ходе загрузки Windows XP, все данные такого типа содержатся в памяти компьютера, поскольку следующем запуске системы комплект оборудования может оказаться совсем иным.
Другие компоненты реестра, содержащие данные об основной конфигурации ОС, ее настройках и параметрах, расположены в папке %systemroot%\System32\Config.
Файлы, которые хранят данные о профилях пользователей Windows XP, расположены в папке %systemroot%\Profiles.
Что же касается данных, связанных с индивидуальными настройками системы для каждого пользователя, а также об их персональной конфигурации среды Windows, они хранятся в папках %Drive%\Documents and Settings\%UserName%, где %Drive% — имя раздела диска, на котором установлена Windows XP. В свою очередь, a %UserName% — папка, в качестве названия которой используется имя зарегистрированного в системе пользователя.
Дополнительная информация о локальных пользователях Windows по умолчанию предоставлена в папке %Drive%\Documents and Settings\LocalService, а сведения о настройках системы для удаленных пользователей — в папке %Drive%\Documents and Settings\NetworkService.
При запуске системы реестр собирается из ульев в единую древовидную структуру с корневыми разделами.
Таблица 2
Ульи реестра
Улей |
Расположение |
HKLM\SYSTEM |
%SystemRoot%\system32\config\system |
HKLM\SAM |
%SystemRoot%\system32\config\SAM |
HKLM\SECURITY |
%SystemRoot%\system32\config\SECURITY |
HKLM\SOFTWARE |
%SystemRoot%\system32\config\software |
HKLM\HARDWARE |
Изменяемый улей |
HKLM\SYSTEM\Clone |
Изменяемый улей |
HKU\<SID_пользователя> |
%USERPROFILE%\ntuser.dat |
HKU\<SID_пользователя>_Classes |
%USERPROFILE%\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat |
HKU\.DEFAULT |
%SystemRoot%\system32\config\default |
Кроме этих файлов, есть ряд вспомогательных, со следующими расширениями:
ALT — резервная копия улья HKLM\SYSTEM для Windows 2000 (отсутствует в XP).
LOG — журнал транзакций, в котором регистрируются все изменения реестра.
SAV — копии ульев в том виде, в котором они были после завершения текстовой фазы установки.
Пользователи Windows 98 могут провести параллель между файлами с расширением .sav и файлом System.1st.
На рис.1 показаны взаимосвязи между кустами реестра и соответствующими им файлами. Здесь показан каталог %SYSTEMROOT%\System32\Config, в котором содержатся файлы кустов с настройками для компьютера. Из рисунка видно, что Windows сохраняет содержание подраздела HKLM\SOFTWARE в файле куста, который называется Software.
Самую
подробную информацию о файлах, применяемых
системным реестром Windows XP для разнообразных
профилей системы, можно получить
непосредственно от самого реестра. Для
этого достаточно открыть содержимое
ветви
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist.
