В Windows NT/2000 элементы реестра хранятся в виде атомарной структуры. Реестр подразделяется на составные части, которые разработчики этой операционной системы назвали кустами, или ульями (hives) по аналогии с ячеистой структурой пчелиного улья. Куст представляет собой дискретную совокупность разделов, вложенных разделов и параметров, берущую начало в вершине иерархии реестра. Отличие кустов от других групп разделов состоит в том, что они являются постоянными компонентами реестра. Кусты не создаются динамически при загрузке операционной системы и не удаляются при ее остановке. Таким образом, раздел HKEY_LOCAL_MACHINE Hardware, который строится динамически распознавателем аппаратных средств при запуске Windows NT/2000, кустом не является. Данные кустов реестра хранятся в файлах, находящихся в каталогах %SystemRoot%System32Conue и %SystemRoot%Proules\Jsername (Windows NT 4.0) и %SystemRoot%System32Cohue и %SystemDrive%Documents and SettingsUsername (Windows 2000).
Каждый куст реестра Windows NT/2000 ассоциирован с набором стандартных файлов), В табл. 3.7.1 перечислены стандартные кусты реестра Windows NT/2000 и поддерживающие их файлы.
Таблица 3.7.1. Стандартные файлы, обеспечивающие поддержку кустов реестра Windows NT
Все файлы кустов реестра, за исключением HKEY_CURRENT_USER, находятся в подкаталоге %SystemRoot%System32Conug.
Поддержку куста HKEY_CURRENT_USER выполняют файлы Ntuser.dat и Ntuser.dat.log. В файлах Ntuser.dat хранятся пользовательские профили; файл Ntuser.dat.log отслеживает изменения, которые вносились в файл Ntuser.dat. В Windows NT 4.0 эти файлы располагаются во всех подкаталогах каталога %SystemRoot%Profiles (за исключением подкаталога All Users). В Windows 2000 эти файлы располагаются в каталогах % SystemDrive%Documents andSettings %Usemame%.
Файлы Ntuser и Userdiff были впервые введены в Windows NT 4.0:
· файл Ntuser.dat, в котором хранится пользовательский профиль, заменил собой файлы usemamexxx и adminxxx из предыдущих версий Windows NT;
· файл Ntuser.dat из каталога %SystemRoot%ProulesDefa.utJser заменил собой файл Userdef из предыдущих версий Windows NT. Этот профиль используется для построения куста HKEY_CURRENT_USER, когда новый пользователь впервые регистрируется в системе;
· файлы Userdiff, которые находятся только в каталоге %SystemRoot% System32Config, не ассоциируются ни с одним кустом. Они служат для обновления существующих профилей пользователей, использовавшихся в предыдущих версиях Windows NT, таким образом, чтобы эти профили могли применяться в Windows NT 4.6 и последующих версиях (Windows 2000).
С кустами ассоциируются файлы четырех типов. Все эти типы файлов (с соответствующими расширениями имен файлов) перечислены в табл. 3.7.2.
Таблица 3.7.2. Типы файлов, ассоциированных с кустами реестра Windows NT 4.0/Windows 2000