В 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:
С ульями ассоциируются файлы четырех типов. Все эти типы файлов (с соответствующими расширениями имен файлов) перечислены в табл. 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