Ранее была рассмотрена логическая структура реестра, но имеется ещё и физическая структура, сохраняющая различные части реестра в отдельных файлах. Хранение реестров разных версий Windows имеют различия.В Windows ХР реестр содержится в двух файлах SYSTEM.DAT и USER.DAT, находящиеся в каталоге Windows. В Windows Me был добавлен еще один файл CLASSES.DAT.
В качестве примера разберем физическую структуру Windows XP. Элементы реестра хранятся в виде атомарной структуры. Реестр делится на составные части, называемые ульями (hives), или кустами. Ульи хранятся на диске в виде файлов.Некоторые ульи, такие, как 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.
При запуске системы реестр собирается из ульев в единую древовидную структуру с корневыми разделами.
Улей | Расположение |
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. Самую подробную информацию о файлах, применяемых системным реестром Windows XP для разнообразных профилей системы, можно получить непосредственно от самого реестра. Для этого достаточно открыть содержимое ветви HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist. | |