Место хранения рестра Windows в XP и 7

Лабораторная работа №9. Работа с реестром. Управление конфигурацией

С помощью утилиты Ms Config

Цель работы: изучить структуру ключей реестра, типы параметров ключей, способы редактирования реестра;

Введение

Реестр Windows или системный реестриерархически построенная база данных параметров и настроек в большинстве операционных систем Microsoft Windows.

Основные свойства:

  1. Реестр содержит информацию и настройки
    • для аппаратного обеспечения,
    • программного обеспечения,
    • профилей пользователей,
    • предустановки.
  2. Большинство изменений в Панели управления, ассоциации файлов, системные политики, список установленного ПО фиксируются в реестре.
  3. Все возможности ОС могут быть конфигурированы посредством Реестра.
  4. Любое запускаемое в системе приложение может быть выполнено только через обращение к Реестру, поскольку именно там находятся все его параметры.
  5. База данных Реестра хранится в системных файлах ОС, в частности, system.dat и ntuser.dat.

Историческая справка:

  1. Реестр Windows был введён для упорядочения информации, хранившейся до этого во множестве INI-файлов.
  2. Реестр, как древовидная иерархическая база данных впервые появился в Windows 3.1 (апрель 1992). Это был всего один двоичный файл, который назывался REG.DAT и хранился в каталоге C:\Windows\. Реестр Windows 3.1 имел только одну ветку HKEY_CLASSES_ROOT. Он служил для связи DDE объектов (Dynamic Data Exchange — механизм взаимодействия приложений в операционных системах Microsoft Windows и OS/2), а позднее и OLE объектов (Object Linking and Embedding — технология связывания и внедрения объектов в другие документы и объекты) .
  3. Одновременно c появлением реестра в Windows 3.1 появилась программа REGEDIT.EXE для просмотра и редактирования реестра.
  4. Первый реестр уже имел возможность импорта данных из *.REG файлов.
  5. В базовой поставке шёл файл SETUP.REG, содержащий данные по основным расширениям и типам файлов.
  6. Реестр Windows 3.1 имел ограничение на максимальный размер файла REG.DAT — 64 Кбайт. Если вдруг реестр превышал этот размер — то файл реестра (REG.DAT) приходилось удалять и собирать заново либо из *.REG файлов, либо вводить данные вручную.
  7. Следующий шаг сделан в Windows NT 3.1 (июль 1993). Произошёл отказ от устаревших файлов MS-DOS: AUTOEXEC.BAT и CONFIG.SYS, а также от INI-файлов, как от основных файлов конфигурации. На «регистрационную базу» (реестр) была переведена вся конфигурация системы. Основой конфигурации системы стал реестр. Он имел 4 корневых раздела:
    • HKEY_ LOCAL_MACHINE,
    • HKEY_CURRENT_USER,
    • HKEY_CLASSES_ROOT,
    • HKEY_USERS.
  8. Реестр стал «сборным»: на диске он хранился в файлах: DEFAULT, SOFTWARE, SYSTEM, а при запуске системы из этих файлов собиралась единая БД. В комплекте поставки оставался файл REGEDIT.EXE, который по-прежнему позволял просматривать и редактировать только ветку HKEY_CLASSES_ROOT, и появился файл REGEDT32.EXE, который позволял редактировать все ветки реестра.
  9. Далее технология и идеология (назначение) реестра уже не менялись. Все последующие версии Windows (NT 3.5, 95, NT 4.0, 98, 2000, XP, Vista, 7) использовали реестр как основную БД, содержащую все основные данные по конфигурации как самой ОС, так и прикладных программ. Далее менялись названия файлов реестра и их расположение, а также название и назначение ключей.

Место хранения рестра Windows в XP и 7

  1. После установки Windows XP на диске в каталоге C:\Windows\System32\Config\ хранятся файлы system, software, sam, security, default. Все имена файлов без расширений. Копия этих файлов хранится в каталоге C:\Windows\Repair\


Рисунок 1 Реестр Windows XP

  1. Файлы, используемые при построении «рабочей версии» реестра, могут храниться в каталогах:
    • %SystemDrive%\Documents and Settings\<Username>\ — файл «Ntuser.dat»
    • %SystemDrive%\Documents and Settings\<Username>\Local Settings\Application Data\Microsoft\Windows\ — файл «UsrClass.dat»
  2. Кроме этого, могут появляться и другие файлы реестра, например, userdiff , userdiff.LOG, TempKey.LOG.
  3. Можно провести некое примерное соответствие файлов и веток реестра, но оно не такое простое, полное и однозначное. Однако примерно можно сказать следующее:
    • Ветка реестра «HKEY_LOCAL_MACHINE\Software» формируется из файла «%SystemRoot%\system32\config\software».
    • Ветка реестра «HKEY_LOCAL_MACHINE\System\» формируется из файла «%SystemRoot%\system32\config\system».
    • Ветка реестра «HKEY_LOCAL_MACHINE\SAM\» формируется из файла «%SystemRoot%\system32\config\SAM».
    • Ветка реестра «HKEY_LOCAL_MACHINE\SECURITY\» формируется из файла «%SystemRoot%\system32\config\SECURITY».
    • Ветка реестра «HKEY_LOCAL_MACHINE\HARDWARE\» формируется в зависимости от оборудования(динамически).
    • Ветка реестра «HKEY_USERS\<SID_пользователя>» формируется из файлов «%USERPROFILE%\ntuser.dat»
    • Ветка реестра «HKEY_USERS\DEFAULT» формируется из файлов «%SystemRoot%\system32\config\default»
  4. В Windows 7, согласно сведениям из HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist файлы реестра хранятся в следующих местах:
    • 01= Ветка реестра «HKEY_LOCAL_MACHINE\HARDWARE» формируется в зависимости от оборудования (динамически);
    • 02= Ветка реестра «HKEY_LOCAL_MACHINE\BCD00000000» формируется из файла «%SystemRoot%\Boot\BCD»
    • 03= Ветка реестра «HKEY_LOCAL_MACHINE\SYSTEM» формируется из файла «%SystemRoot%\System32\config\SYSTEM»
    • 04= Ветка реестра «HKEY_LOCAL_MACHINE\SOFTWARE» формируется из файла «%SystemRoot%\System32\config\SOFTWARE»
    • 05= Ветка реестра «HKEY_LOCAL_MACHINE\SECURITY» формируется из файла «%SystemRoot%\System32\config\SECURITY»
    • 06= Ветка реестра «HKEY_LOCAL_MACHINE\SAM» формируется из файла «%SystemRoot%\System32\config\SAM»
    • 07= Ветка реестра «HKEY_USERS\.DEFAULT» формируется из файла «%SystemRoot%\System32\config\DEFAULT»
    • 08= Ветка реестра «HKEY_USERS\S-1-5-18» формируется из файла «%SystemRoot%\System32\config\systemprofile\NTUSER.DAT» (относится к учетной записи system)[1]
    • 09= Ветка реестра «HKEY_USERS\S-1-5-19» формируется из файла «%SystemRoot%\ServiceProfiles\LocalService\NTUSER.DAT» (относится к учетной записи LocalService)
    • 10= Ветка реестра «HKEY_USERS\S-1-5-20» формируется из файла «%SystemRoot%\ServiceProfiles\NetworkService\NTUSER.DAT» (относится к учетной записи NetworkService)
    • 11= Ветка реестра «HKEY_USERS\<SID_пользователя>» формируется из файла «%USERPROFILE%\NTUSER.DAT»
    • 12= Ветка реестра «HKEY_USERS\<SID_пользователя>_Classes» формируется из файла «%USERPROFILE%\AppData\Local\Microsoft\Windows\UsrClass.dat»
  5. Резервные копии файлов реестра DEFAULT, SAM, SECURITY, SOFTWARE и SYSTEM находятся в папке «%SystemRoot%\System32\config\RegBack». Само резервное копирование производится силами Планировщика задач в 0 ч. 00 мин. каждые 10 дней по заданию «RegIdleBackup», расположенному в иерархии задач по пути «\Microsoft\Windows\Registry».

Ключи

  1. Основными элементами структуры Реестра ОС являются ключи. Каждый ключ может иметь набор параметров, каждому из которых соответствует определенное значение, а также подключи – подчиненные ключи более низкого уровня. По отношению к друг другу ключи и подключи организуются в системном Реестре в соответствии с отношением вида «предок-потомок».

  1. Иерархическая структура Реестра ОС представляет собой дерево ключей, организованное в виде кустов или ульев (каждый из которых является двоичным файлом, называемым файлом куста), напоминающей структуру файлов и папок файловой системы (ФС). Корневой ключ (вершина дерева) и подключи по аналогии с ФС можно считать папками, а параметры Реестра – файлами, соответственно.
  2. В качестве кустов корневого ключа HKEY_LOCAL_MACHINE (HKLM) и соответствующих им файлов кустов можно привести следующий пример (табл. 6.1). Каждый из файлов кустов HKLM имеет свой системный путь. В частности, файлы кустов HKLM\SOFTWARE и HKLM\SYSTEM находятся в системном каталоге %SYSTEMROOT%\System32\config.

Таблица 6.1. Файлы кустов корневого ключа HKLM

№ п.п. Куст Файл куста
HKLM\SAM Sam.log
HKLM\SECURITY Security.log
HKLM\SOFTWARE Software.log, Software.sav
HKLM\SYSTEM System.log, System.sav

В таблице отображены не все кусты HKLM, а лишь те из них, которые являются постоянными Реестра ОС. В дополнение имеются два временных куста HKLM, образующиеся при старте системы.

  1. Куст HKLM\SYSTEM корневого ключа HKLM является основным системным кустом, так как в него входит подключ \CurrentControlSet\Control, содержащий параметры, которые компонент ядра ОС, называемый «Менеджер конфигурации» (Configuration Manager), использует при инициализации Реестра.

Значение hivelist подключа \CurrentControlSet\Control используется системой при поиске остальных ее файлов куста.

  1. В рассмотренном примере одним из ключей системного Реестра был назван корневой ключ HKEY_LOCAL_MACHINE.
  1. Реестр ОС имеет несколько корневых ключей высшего уровня, каждый из которых определяет некоторую категорию данных, хранимых в Реестре. Полный список корневых ключей, а также их краткое описание представлены ниже (табл. 6.2). Некоторые ключи и соответствующие им кусты являются временными. К их числу можно отнести корневые ключи HKU, HKDD и некоторые HKLM c соответствующими кустами HKLM\HARDWARE и HKLM\SYSTEM\Clone. ОС создает их каждый раз при загрузке и хранит в оперативной памяти до момента завершения сеанса работы.

Таблица 6.2. Корневые ключи Реестра ОС Windows XP