Хранение данных реестра
В Windows NT/2000/XP и Windows Server 2003 элементы реестра хранятся в виде атомарной структуры. Реестр подразделяется на составные части, которые разработчики этой операционной системы назвали ульями (hives) по аналогии с ячеистой структурой пчелиного улья. Улей представляет собой дискретную совокупность ключей, вложенных ключей и параметров, берущую начало в вершине иерархии реестра. Отличие ульев от других групп ключей состоит в том, что они являются постоянными компонентами реестра. Ульи не создаются динамически при загрузке операционной системы и не удаляются при ее остановке. Таким образом, ключ HKEY_LOCAL_MACHiNE\Hardware, который строится динамически распознавателем аппаратных средств при запуске операционной системы, ульем не является.
Данные ульев реестра хранятся в файлах, которые находятся в каталогах %SystemRoot%\system32\Config и %SystemRoot'%\Profiles\%Username% (Windows NT 4.0) и %SystemRoot%\system32\Config, и %SystemDrive%\ Documents and Settings\%Username% (Windows 2000, Windows XP и Windows Server 2003).
Каждый улей реестра ассоциирован с набором стандартных файлов. В табл. 24.3 перечислены стандартные ульи реестра Windows NT/2000/XP и Windows Server 2003 и поддерживающие их файлы.
Таблица 24.3. Стандартные файлы, обеспечивающие поддержку ульев реестра Windows NT/2000/XP и Windows Server 2003
Ветвь реестра
|
Имена файлов
|
НКЕ Y_LOCAL_MACHINE\SAM
|
Sam, Sam. log, Sam.sav*
|
HKEY_LOCAL_MACHINE\Security
|
Security, Security.log, Security. sav*
|
HKEY_LOCAL_MACHINE\Software
|
Software, Software.log, Software. sav
|
HKEY_LOCAL_MACHINE\System
|
System, System.alt**, System.log, System. sav
|
HKEY_CURRENT_CONFIG
|
System, System.alt**, System.log, System. sav
|
HKEY_USERS\.DEFAULT
|
Default, Default.log, Default.sav
|
(Файлы, не ассоциированные ни с одним ключом)
|
Userdiff, Userdiff.log, Userdifr***, Userdifr.log***
|
HKEY_CURRENT_USER
|
Ntuser.dat, Ntuser.dat.log
|
* Файлы, появляющиеся в системе лишь при определенных обстоятельствах.
** Файлы, исключенные из Windows XP и Windows Server 2003.
*** Файлы, присутствующие только в Windows XP.
Как видно из приведенной выше таблицы, некоторые из файлов реестра в Windows XP и Windows Server 2003 больше не используются. Это является следствием усовершенствований, внесенных в их реестр.
Все файлы ульев реестра, за исключением HKEY_CURRENT_USER, находятся в
подкаталоге %SystemRoot%\system32\config.
Поддержку улья HKEY_CURRENT_USER выполняют файлы Ntuser.dat и Ntuser.dat.log. В файлах Ntuser.dat хранятся пользовательские профили; файл Ntuser.dat.log отслеживает изменения, которые вносились в файл Ntuser.dat. В Windows NT 4.0 (а также в системах Windows 2000/XP и Windows Server 2003, установленных как обновление версий Windows NT 4.0) эти файлы располагаются во всех подкаталогах каталога %SystemRoot%\Profiles
(за исключением подкаталога \Аll Users). В Windows 2000/XP и Windows Server 2003 эти файлы располагаются в каталогах %SystemRoot%\Documents and Settings\ % Username%.
Файлы Ntuser и Userdiff были впервые введены в Windows NT 4.0:
- файл Ntuser.dat, в котором хранится пользовательский профиль, заменил собой файлы usernamejcet и admiruco: из предыдущих версий Windows NT;
- файл Ntuser.dat из каталога %SystemRoot%\Profiles\DefaultUser заменил собой файл Userdef из предыдущих версий Windows NT. Этот профиль используется для построения улья HKEY_CURRENT_USER, когда новый пользователь впервые регистрируется в системе;
- файлы UserdifF, которые находятся только в каталоге %SystemRoot% \system32\config, не ассоциируются ни с одним ульем. Они служат для обновления существующих профилей пользователей, использовавшихся в предыдущих версиях Windows NT, таким образом, чтобы эти профили могли применяться в Windows NT 4.0 и последующих версиях (Windows 2000, Windows XP и Windows Server 2003).
С ульями ассоциируются файлы четырех типов. Все эти типы файлов (с соответствующими расширениями имен файлов) перечислены в табл. 24.4.
Таблица 24.4. Типы файлов, ассоциированных с ульями реестра Windows NT4.0Windows 2000/Windows XP/Windows Server 2003
Тип файла
|
Описание
|
Без расширения имени файла
|
Содержит копию улья
|
ALT*
|
Содержит резервную копию жизненно важного улья HKEY LOCAL MACHlNE\System. Только ключ System имеет соответствующий файл с расширением alt. Файлы ульев с таким расширением существуют только в Windows NT/2000. В Windows XP и Windows Server 2003 они больше не используются вследствие того, что в этой операционной системе для хранения и доступа к реестру применяются усовершенствованные алгоритмы
|
LOG
|
Содержит журнал транзакций, в котором регистрируются все изменения, внесенные в ключи и значимые элементы улья
|
SAV
|
Содержит копии файлов улья в том виде, который они имели на момент завершения текстовой фазы процесса установки. Файлы с расширением sav появляются для ключей Software, System, SAM, Security И Default.
Подобно Windows NT/2000/XP, Windows Server 2003 выполняет резервное копирование содержимого ульев в процессе инсталляции. Процедура инсталляции состоит из двух стадий: стадии текстового режима и стадии графического режима. Когда установка в текстовом режиме завершается, выполняется копирование ульев в файлы с расширением sav. Это делается для того, чтобы защитить ульи от ошибок, которые могут произойти в случае сбоя на графической стадии установки. Если процедура установки даст сбой на графической стадии, то после перезагрузки компьютера будет производиться повтор только графической стадии установки. SAV-файлы используются для перестройки ульев реестра
|
*Файлы, исключенные изWindows XP иWindows Server 2003
|