Иерархически построенная база данных параметров и настроек в операционных системах windows это

Обновлено: 07.07.2024

В этой статье описывается Windows реестр и содержится информация о том, как изменить и создать его обратно.

Применяется к: Windows 10 — все выпуски, Windows Server 2012 R2
Исходный номер КБ: 256986

Описание реестра

Словарь microsoft Computer Dictionary( Пятое издание) определяет реестр как:

Центральная иерархическая база данных, используемая в Windows 98, Windows CE, Windows NT и Windows 2000 г., используется для хранения сведений, необходимых для настройки системы для одного или более пользователей, приложений и аппаратных устройств.

Реестр содержит сведения, Windows постоянно ссылаются во время работы, такие как профили для каждого пользователя, установленные на компьютере приложения и типы документов, которые каждый может создать, параметры листов свойств для папок и значков приложений, оборудование, которое существует в системе, и используемые порты.

Реестр заменяет большинство текстовых .ini, используемых в Windows 3.x и MS-DOS, таких как Autoexec.bat и Config.sys. Несмотря на то, что реестр является общим для нескольких Windows операционных систем, между ними существуют некоторые различия. Ульй реестра — это группа ключей, под ключей и значений в реестре с набором вспомогательных файлов, содержащих резервные копии данных. Вспомогательные файлы для всех ульев, кроме HKEY_CURRENT_USER, находятся в папке % SystemRoot%\System32\Config на Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003 и Windows Vista. Вспомогательные файлы для HKEY_CURRENT_USER находятся в %SystemRoot%\Profiles\Username папке. Расширения имен файлов в этих папках указывают тип данных, которые они содержат. Кроме того, отсутствие расширения иногда может указывать на тип данных, которые они содержат.

Ульй реестра Поддержка файлов
HKEY_LOCAL_MACHINE\SAM Sam, Sam.log, Sam.sav
HKEY_LOCAL_MACHINE\Security Безопасность, Security.log, Security.sav
HKEY_LOCAL_MACHINE\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, Ntuser.dat, Ntuser.dat.log
HKEY_USERS\DEFAULT Default, Default.log, Default.sav

В Windows 98 файлы реестра называются User.dat и System.dat. В Windows Millennium Edition файлы реестра называются Classes.dat, User.dat и System.dat.

Функции безопасности Windows доступ администратора к клавишам реестра.

В следующей таблице перечислены предопределяные ключи, используемые системой. Максимальный размер имени ключа — 255 символов.

Папка/предопределяемая клавиша Описание
HKEY_CURRENT_USER Содержит корневую часть сведений о конфигурации для пользователя, который в настоящее время входит в систему. Здесь хранятся папки пользователя, цвета экрана и параметры панели управления. Эти сведения связаны с профилем пользователя. Этот ключ иногда сокращен как HKCU.
HKEY_USERS Содержит все активно загруженные профили пользователей на компьютере. HKEY_CURRENT_USER является подмывком HKEY_USERS. HKEY_USERS иногда сокращенно HKU.
HKEY_LOCAL_MACHINE Содержит сведения о конфигурации, определенные компьютеру (для любого пользователя). Этот ключ иногда сокращен как HKLM.
HKEY_CLASSES_ROOT Это подмывка HKEY_LOCAL_MACHINE\Software . Сведения, хранимые здесь, убедитесь, что правильная программа откроется при открываемом файле с помощью Windows Explorer. Этот ключ иногда сокращен как HKCR. Начиная с Windows 2000 г., эти сведения хранятся в HKEY_LOCAL_MACHINE и HKEY_CURRENT_USER клавишах. Ключ HKEY_LOCAL_MACHINE\Software\Classes содержит параметры по умолчанию, которые могут применяться для всех пользователей на локальном компьютере. Ключ содержит параметры, которые переопределяют параметры по умолчанию HKEY_CURRENT_USER\Software\Classes и применяются только к интерактивному пользователю. Ключ HKEY_CLASSES_ROOT предоставляет представление реестра, который объединяет сведения из этих двух источников. HKEY_CLASSES_ROOT также предоставляет это объединенного представления для программ, предназначенных для более ранних версий Windows. Чтобы изменить параметры интерактивного пользователя, необходимо внести изменения в соответствии с HKEY_CURRENT_USER\Software\Classes HKEY_CLASSES_ROOT. Чтобы изменить параметры по умолчанию, необходимо внести изменения в HKEY_LOCAL_MACHINE\Software\Classes . Если вы пишете ключи к клавише HKEY_CLASSES_ROOT, система сохраняет сведения под HKEY_LOCAL_MACHINE\Software\Classes . Если вы пишете значения на ключ под HKEY_CLASSES_ROOT, а ключ уже существует под, система будет хранить сведения там, а HKEY_CURRENT_USER\Software\Classes не под HKEY_LOCAL_MACHINE\Software\Classes .
HKEY_CURRENT_CONFIG Содержит сведения о профиле оборудования, используемом локальным компьютером при запуске системы.

Реестр в 64-битных версиях Windows XP, Windows Server 2003 и Windows Vista разделен на 32-битные и 64-битные клавиши. Многие из 32-битных ключей имеют те же имена, что и их 64-битные аналоги, и наоборот. 64-битная версия редактора реестра по умолчанию, включенная с 64-битными версиями Windows XP, Windows Server 2003 и Windows Vista, отображает 32-битные клавиши под HKEY_LOCAL_MACHINE\Software\WOW6432Node узлом. Дополнительные сведения о просмотре реестра в 64-битных версиях Windows см. в обзоре реестра системы с помощью 64-битныхверсий Windows .

В следующей таблице перечислены типы данных, которые в настоящее время определены и используются Windows. Максимальный размер имени значения:

  • Windows Server 2003, Windows XP и Windows Vista: 16 383 символов
  • Windows 2000: 260 символов ANSI или 16 383 символа Юникод
  • Windows Millennium Edition/Windows 98/Windows 95: 255 символов

Длинные значения (более 2048 bytes) должны храниться в качестве файлов с именами файлов, хранимыми в реестре. Это помогает реестру работать эффективно. Максимальный размер значения:

  • Windows NT 4.0/Windows 2000/Windows XP/Windows Server 2003/Windows Vista: доступная память
  • Windows Millennium Edition/Windows 98/Windows 95: 16 300 bytes

Существует ограничение в 64K для общего размера всех значений ключа.

Имя Тип данных Описание
Двоичное значение REG_BINARY Необработанные двоичные данные. Большинство сведений о компонентах оборудования хранятся в виде двоичных данных и отображаются в редакторе реестра в гексадецимальной форме.
Значение DWORD REG_DWORD Данные представляются числом длиной 4 bytes (32-bit integer). Многие параметры для драйверов и служб устройств являются этим типом и отображаются в редакторе реестра в двоичном, hexadecimal или десятичном формате. Соответствующие значения DWORD_LITTLE_ENDIAN (наименее значительный byte находится на самом низком адресе) и REG_DWORD_BIG_ENDIAN (наименее значительный byte находится на самом высоком адресе).
Расширяемое значение строки REG_EXPAND_SZ Строка данных переменной длины. Этот тип данных включает переменные, которые решаются при помощи данных программы или службы.
Многострочный параметр REG_MULTI_SZ Несколько строк. Значения, содержащие списки или несколько значений в форме, которую люди могут прочитать, обычно являются этим типом. Записи разделены пробелами, запятой или другими метками.
Значение строки REG_SZ Текстовая строка фиксированной длины.
Двоичное значение REG_RESOURCE_LIST Серия вложенных массивов, предназначенных для хранения списка ресурсов, который используется драйвером аппаратного устройства или одним из физических устройств, которые он контролирует. Эти данные обнаруживаются и пишутся в дереве \ResourceMap системой и отображаются в редакторе реестра в hexadecimal формате как двоичное значение.
Двоичное значение REG_RESOURCE_REQUIREMENTS_LIST Серия вложенных массивов, предназначенных для хранения списка возможных аппаратных ресурсов драйвера или одного из физических устройств, которые он контролирует. Система записывает подмножество этого списка в дереве \ResourceMap. Эти данные обнаруживаются системой и отображаются в редакторе реестра в hexadecimal формате как двоичное значение.
Двоичное значение REG_FULL_RESOURCE_DESCRIPTOR Серия вложенных массивов, предназначенных для хранения списка ресурсов, используемого физическим аппаратным устройством. Эти данные обнаруживаются и пишутся в дереве \HardwareDescription системой и отображаются в редакторе реестра в hexadecimal формате как двоичное значение.
Нет REG_NONE Данные без определенного типа. Эти данные записаны в реестр системой или приложениями и отображаются в редакторе реестра в hexadecimal формате как двоичное значение
Ссылка REG_LINK Строка Unicode, именуемая символической ссылкой.
Значение QWORD REG_QWORD Данные, представленные числом, которое представляет собой 64-битный набор. Эти данные отображаются в редакторе реестра как двоичное значение и были представлены Windows 2000 году.

Back up the registry

Перед изменением реестра экспортируйте ключи из реестра, который планируется изменить, или закапируйте весь реестр. Если возникает проблема, вы можете следовать шагам в разделе Восстановление реестра, чтобы восстановить реестр в прежнем состоянии. Чтобы создать резервную копию всего реестра, используйте утилиту Резервное копирование для резервного копирования состояния системы. Состояние системы включает реестр, базу данных регистрации класса COM+ и файлы загрузки. Дополнительные сведения об использовании утилиты Резервного копирования для резервного копирования состояния системы см. в следующих статьях:

Изменение реестра

Чтобы изменить данные реестра, программа должна использовать функции реестра, определенные в функциях реестра.

Администраторы могут изменять реестр с помощью редактора реестра (Regedit.exe или Regedt32.exe), файлов групповой политики, системной политики, реестра (.reg) или запуска сценариев, таких как файлы скриптов VisualBasic.

Использование пользовательского Windows интерфейса

Рекомендуется использовать интерфейс Windows для изменения параметров системы, а не вручную изменять реестр. Однако редактирование реестра иногда может быть оптимальным методом для решения проблемы продукта. Если проблема задокументирована в базе знаний Майкрософт, будет доступна статья с пошагированными инструкциями по редактированию реестра для этой проблемы. Мы рекомендуем выполнять эти инструкции точно.

Использование редактора реестра

При неправильном изменении реестра с использованием редактора реестра или другого способа могут случиться серьезные проблемы. Для решения этих проблем может потребоваться переустановка операционной системы. Компания Microsoft не может гарантировать, что эти проблемы могут быть решены. Вносите изменения в реестр на ваш страх и риск.

Вы можете использовать редактор реестра для следующих действий:

  • Найдите подтрий, ключ, подкайку или значение
  • Добавление подкайки или значения
  • Изменение значения
  • Удаление подкайки или значения
  • Переименование подкайки или значения

Область навигации редактора реестра отображает папки. Каждая папка представляет предопределяемую клавишу на локальном компьютере. При доступе к реестру удаленного компьютера отображаются только два предопределённых ключа: HKEY_USERS и HKEY_LOCAL_MACHINE.

Использование групповой политики

На консоли управления Майкрософт (MMC) размещены административные средства, которые можно использовать для администрирования сетей, компьютеров, служб и других компонентов системы. Оснастка MMC групповой политики позволяет администраторам определять параметры политики, применяемые к компьютерам или пользователям. Групповую политику можно реализовать на локальных компьютерах с помощью локальной оснастки MMC групповой политики Gpedit.msc. Можно реализовать групповую политику в Active Directory с помощью оснастки пользователей и компьютеров Active Directory MMC. Дополнительные сведения об использовании групповой политики см. в разделе Справка в соответствующей оснастке MMC групповой политики.

Использование файла Записи регистрации (.reg)

Создайте файл Записи регистрации (.reg), содержащий изменения реестра, а затем запустите файл .reg на компьютере, где необходимо внести изменения. Файл .reg можно запускать вручную или с помощью скрипта logon. Дополнительные сведения см. в публикации How to add, modify or delete registrys and values by using a Registration Entries (.reg) file.

Использование Windows скрипта

Хост Windows скриптов позволяет запускать VBScript и JScript непосредственно в операционной системе. Вы можете создать VBScript и JScript, которые используют Windows для удаления, чтения и записи ключей и значений реестра. Дополнительные сведения об этих методах можно получить на следующих веб-сайтах Майкрософт:

Использование Windows инструментов управления

Windows Инструментарий управления (WMI) является компонентом операционной системы Microsoft Windows и является microsoft реализация Web-Based Enterprise управления (WBEM). WBEM — это отраслевая инициатива по разработке стандартной технологии для доступа к сведениям об управлении в корпоративной среде. С помощью WMI можно автоматизировать административные задачи (например, редактирование реестра) в корпоративной среде. WMI можно использовать в языках скриптов, на Windows которые обрабатывают объекты Microsoft ActiveX. Вы также можете использовать утилиту WMI Command-Line (Wmic.exe) для изменения Windows реестра.

Дополнительные сведения о утилите WMI Command-Line см. в описании утилиты командной строки управления Windows (WMI) (Wmic.exe).

Используйте средство реестра консоли для Windows

Для редактирования реестра можно использовать средство реестра консоли Windows (Reg.exe). Для получения помощи с Reg.exe введите в reg /? командной подсказке, а затем нажмите кнопку ОК.

Восстановление реестра

Чтобы восстановить реестр, используйте соответствующий метод.

Метод 1. Восстановление ключей реестра

Чтобы восстановить подкайки реестра, которые вы экспортировали, дважды щелкните файл Registration Entries (.reg), сохраненный в разделе Subkeys реестра экспорта. Или можно восстановить весь реестр из резервного копирования. Дополнительные сведения о восстановлении всего реестра см. в разделе Method 2: Restore the whole registry section later in this article.

Метод 2. Восстановление всего реестра

Чтобы восстановить весь реестр, восстановим состояние системы из резервного копирования. Дополнительные сведения о восстановлении состояния системы из резервного копирования см. в материалах Как использовать резервное копирование для защиты данных и восстановления файлов и папок на компьютере в Windows XP и Windows Vista.

При копировании состояния системы также создаются обновленные копии файлов реестра в %SystemRoot%\Repair папке.

Ссылки

Дополнительные сведения можно получить на следующих веб-сайтах:

Каталог Windows серверов тестовых продуктов — это ссылка на продукты, протестированные на совместимость Windows Server.

Data Protection Manager (DPM) является ключевым членом семейства продуктов microsoft System Center управления и предназначена для того, чтобы помочь ИТ-специалистам управлять своей Windows средой. DPM — это новый стандарт для Windows резервного копирования и восстановления и обеспечивает непрерывную защиту данных для приложений и файлового сервера Майкрософт, которые используют бесшовно интегрированные дисковые и ленточные носитли. Дополнительные сведения о том, как создать реестр и восстановить его, см. в дополнительных сведениях о том, как создать и восстановить реестр в Windows XP и Windows Vista.

Реестр Windows (англ. Windows Registry), или системный реестр — иерархически построенная база данных параметров и настроек в большинстве операционных систем семейства Microsoft Windows [2].

В реестре хранятся данные, которые необходимы для правильного функционирования Windows. К ним относятся профили всех пользователей, сведения об установленном программном обеспечении и типах документов, которые могут быть созданы каждой программой, информация о свойствах папок и значках приложений, а также установленном оборудовании и используемых портах [1].

Открытие реестра¶

Поскольку файлов в реестре несколько, его нельзя открыть, например, в текстовом редакторе и внести какие-либо коррективы. Для работы с ним требуется специальная программа – редактор реестра, который является встроенным компонентом операционной системы Windows и вызывается путем ввода команды Regedit [4].

Существует несколько способов открыть редактор реестра.

Способ №1 – Открытие через утилиту «Выполнить»:

  1. Выбрать Пуск → Выполнить, либо нажать сочетание клавиш Win+R ( Win — клавиша, между Ctrl и Alt в нижнем ряду клавиатуры, обычно на ней изображен значок Microsoft Windows ;
  2. В открывшимся окне ввести команду regedit ;
  3. Нажать клавишу ОК .

Рис. 1 – Открытие через утилиту «Выполнить»

Рис. 1 – Открытие через утилиту «Выполнить»

Способ №2 – Открытие через поиск по меню «Пуск»:

  1. Открыть меню Пуск;
  2. Ввести в строке поиска regedit и запустить найденный файл, который отобразится в верхней части Пуска.

Рис. 2 – Открытие через поиск по меню «Пуск»

Рис. 2 – Открытие через поиск по меню «Пуск»

С другими способами можно ознакомиться в статье Три способа открыть редактор реестра Windows.

Структура реестра¶

Реестр имеет иерархическую структуру, которая напоминает файловую систему жесткого диска – с его каталогами, подкаталогами и файлами. Но называются элементы реестра по-другому: верхний уровень иерархии составляют разделы, каждый из которых может содержать вложенные подразделы, а также параметры. Именно в параметрах хранится основное содержимое реестра, разделы служат лишь для группировки схожих по назначению параметров [4].

Рис. 3 – Редактор реестра

Рис. 3 – Редактор реестра

Далее приведен краткий перечень и краткое описание стандартных разделов реестра. Максимальная длина имени раздела составляет 255 символов.

HKEY_CURRENT_USER

Данный раздел является корневым для данных конфигурации пользователя, вошедшего в систему в настоящий момент. Здесь хранятся папки пользователя, цвета экрана и параметры панели управления. Эти сведения сопоставлены с профилем пользователя. Вместо полного имени раздела иногда используется аббревиатура HKCU .

HKEY_USERS

Данный раздел содержит все активные загруженные профили пользователей компьютера. Раздел HKEY_CURRENT_USER является подразделом раздела HKEY_USERS . Вместо полного имени раздела иногда используется аббревиатура HKU .

HKEY_LOCAL_MACHINE

Раздел содержит параметры конфигурации, относящиеся к данному компьютеру (для всех пользователей). Наиболее интересным является подраздел Software , который включает в себя настройки всех установленных в системе приложений. Вместо полного имени раздела иногда используется аббревиатура HKLM .

HKEY_CLASSES_ROOT

Является подразделом HKEY_LOCAL_MACHINE\Software . Хранящиеся здесь сведения обеспечивают выполнение необходимой программы при открытии файла с использованием проводника. Вместо полного имени раздела иногда используется аббревиатура HKCR . Начиная с Windows 2000, эти сведения хранятся как в HKEY_LOCAL_MACHINE , так и в HKEY_CURRENT_USER .

Раздел HKEY_LOCAL_MACHINE\Software\Classes содержит параметры по умолчанию, которые относятся ко всем пользователям локального компьютера. Параметры, содержащиеся в разделе HKEY_CURRENT_USER\Software\Classes , переопределяют принятые по умолчанию и относятся только к текущему пользователю.

Раздел HKEY_CLASSES_ROOT включает в себя данные из обоих источников. Кроме того, раздел HKEY_CLASSES_ROOT предоставляет эти объединенные данные программам, разработанным для более ранних версий Windows. Изменения настроек текущего пользователя выполняются в разделе HKEY_CURRENT_USER\Software\Classes . Модификация параметров по умолчанию должна производиться в разделе HKEY_LOCAL_MACHINE\Software\Classes . Данные из разделов, добавленных в HKEY_CLASSES_ROOT , будут сохранены системой в разделе HKEY_LOCAL_MACHINE\Software\Classes . Если изменяется параметр в одном из подразделов раздела HKEY_CLASSES_ROOT и такой подраздел уже существует в HKEY_CURRENT_USER\Software\Classes , то для хранения информации будет использован раздел HKEY_CURRENT_USER\Software\Classes , а не HKEY_LOCAL_MACHINE\Software\Classes .

HKEY_CURRENT_CONFIG

Данный раздел содержит сведения о профиле оборудования, используемом локальным компьютером при запуске системы.

Реестр 64-разрядных версий Windows подразделяется на 32- и 64-разрядные разделы. Большинство 32-разрядных разделов имеют те же имена, что и их аналоги в 64-разрядном разделе, и наоборот. По умолчанию редактор реестра 64-разрядных версий Windows отображает 32-разрядные разделы в следующем узле: HKEY_LOCAL_MACHINE\Software\WOW6432Node

Файлы реестра на жестком диске¶

Основные файлы, отвечающие за формирование реестра хранятся в папке %SystemRoot%\System32\Config\ . Обычно это C:\Windows\System32\Config\ и в зависимости от версии ОС их состав может несколько различаться.

Файл, хранящий личные настройки пользователя, «скрыт» в папке соответствующей учетной записи, например, в C:\Documents and Settings\Dmitry . Также файлы, отвечающие за пользовательские настройки, могут храниться в:

  • C:\Documents and Settings\%Username%\(Ntuser.dat) ;
  • C:\Documents and Settings\%Username%\Local Settings\Application Data\Microsoft\Windows\ (UsrClass.dat) .

Еще есть резервные копии файлов реестра, созданные системой, хранятся они в

  • C:\Windows\System32\config\RegBack – для Windows 7 и Server 2008;
  • C:\Windows\repair – для XP и Server 2003.

По умолчанию операционная система делает резервные копии этих файлов раз в 10 дней с помощью планировщика задач.

Вспомогательные файлы для всех кустов за исключением HKEY_CURRENT_USER хранятся в системах Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003 и Windows Vista в папке %SystemRoot%\System32\Config .

Вспомогательные файлы для куста HKEY_CURRENT_USER хранятся в папке %SystemRoot%\Profiles\Имя_пользователя . Расширения имен файлов в этих папках указывают на тип содержащихся в них данных. Отсутствие расширения также иногда может указывать на тип содержащихся в файле данных.

Куст (дерево) реестра (англ. hive) - это группа разделов, подразделов и параметров реестра с набором вспомогательных файлов, содержащих резервные копии этих данных.

Таблица 1 — Соответствие кустов реестра и вспомогательных файлов ¶
Куст реестра Вспомогательные файлы
HKEY_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 , Ntuser.dat , Ntuser.dat.log
HKEY_USERS\DEFAULT Default , Default.log , Default.sav

Например, кусту HKEY_LOCAL_MACHINE\Software соответствует на жестком диске файл C:\Windows\System32\config\SOFTWARE .

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

Реестр содержит информацию и настройки для аппаратного обеспечения, программного обеспечения, профилей пользователей, предустановки. Большинство изменений в Панели управления, ассоциации файлов, системные политики, список установленного ПО фиксируются в реестре.

Реестр Windows был введён для упорядочения информации, хранившейся до этого во множестве INI-файлов, которые использовались для хранения настроек до того, как появился реестр.

Содержание

История возникновения и развития реестра

В развитии реестра следует разделить «технологический» и «идеологический» шаги.

Реестр Windows 3.1

Технологический шаг был сделан в Windows 3.1.

Сам реестр, как древовидная иерархическая база данных (registration database — регистрационная база) впервые появился в Windows 3.1 (апрель 1992). Это был всего один двоичный файл, который назывался REG.DAT и хранился в каталоге C:\Windows\. Реестр Windows 3.1 имел только одну ветку HKEY_CLASSES_ROOT. Он служил для связи DDE, а позднее и OLE объектов.

Одновременно c появлением реестра в Windows 3.1 появилась программа REGEDIT.EXE для просмотра и редактирования реестра.

Реестр Windows 3.1 имел ограничение на максимальный размер файла REG.DAT — 64 Кбайт. Если вдруг реестр превышал этот размер — то файл реестра (REG.DAT) приходилось удалять и собирать заново либо из , либо вводить данные вручную.

Реестр Windows NT 3.1

Идеологический шаг был сделан в Windows NT 3.1 (июль 1993). Произошел отказ от файлов CONFIG.SYS, а также от INI-файлов, как от основных файлов конфигурации. На «регистрационную базу» (реестр) была переведена вся конфигурация системы. Основой конфигурации системы стал реестр. Он имел 4 корневых раздела: HKEY_ LOCAL_MACHINE, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT и HKEY_USERS.
Реестр стал «сборным»: на диске он хранился в файлах: DEFAULT, SOFTWARE, SYSTEM, а при запуске системы из этих файлов собиралась единая БД.
В комплекте поставки оставался файл REGEDIT.EXE, который по прежнему позволял просматривать и редактировать только ветку HKEY_CLASSES_ROOT, и появился файл REGEDT32.EXE, который позволял редактировать все ветки реестра.

Далее технология и идеология (назначение) реестра уже не менялись. Все последующие версии Windows (NT 3.5, 95, NT 4.0, 98, 2000, XP, Vista) использовали реестр как основную БД, содержащую все основные данные по конфигурации как самой ОС, так и прикладных программ. Далее менялось только расположение и название файлов реестра, и название и назначение ключей.

Современный реестр Windows

Реестр в том виде, как его использует Windows и как видит его пользователь в процессе использования программ работы с реестром, некоторым образом «нигде не хранится», а формируется из различных данных. Чтобы получилось то, что видит пользователь, редактируя реестр, происходит следующее.

Вначале, в процессе установки и настройки Windows, на диске формируются файлы, в которых хранится часть данных относительно конфигурации системы.

Затем, в процессе каждой загрузки системы, а так же в процессе каждого входа и выхода каждого из пользователей, формируется некая виртуальная сущность, называемая «реестром» - объект REGISTRY\. Данные для формирования «реестра» частично берутся из тех самых файлов (Software, System . ), частично из информации, собранной ntdetect при загрузке (HKLM\Hardware\Description).

То есть часть данных реестра хранится в файлах, а часть данных формируется в процессе загрузки Windows.

Для редактирования, просмотра и изучения реестра стандартными средствами Windows (программы regedit.exe и regedt32.exe) доступны именно ветки реестра. После редактирования реестра и/или внесения в него изменений эти изменения сразу записываются в файлы.

Однако, есть программы сторонних разработчиков, которые позволяют работать непосредственно с файлами.

Программы оптимизации реестра, твикеры, а так же инсталляторы и деинсталляторы программ работают через специальные функции работы с реестром.

Реестр содержит информацию и настройки для Панели управления, ассоциации файлов, системные политики, список установленного ПО фиксируются в реестре.

Содержание

История возникновения и развития реестра [ ]

Реестр Windows 3.1 [ ]

Сам реестр как REGEDIT.EXE для просмотра и редактирования реестра.

Первый реестр уже имел возможность Реестр Windows NT 3.1 [ ]

Реестр в том виде, как его использует Windows и как видит его пользователь в процессе использования программ работы с реестром, формируется из различных данных. Чтобы получилось то, что видит пользователь, редактируя реестр, происходит следующее.

Вначале, в процессе установки (инсталляции) и настройки Windows, на диске формируются файлы, в которых хранится часть данных относительно конфигурации системы.

То есть часть данных реестра хранится в файлах, а часть данных формируется в процессе загрузки Windows.

Для редактирования, просмотра и изучения реестра стандартными средствами Windows (программы regedit.exe и regedt32.exe) доступны именно ветки реестра. После редактирования реестра и/или внесения в него изменений эти изменения сразу записываются в файлы.

Однако есть программы сторонних разработчиков, которые позволяют работать непосредственно с файлами.

Программы оптимизации реестра, Файлы реестра (Хранение данных реестра) [ ]

Windows 95/98 [ ]

Windows ME [ ]

Windows 2000 [ ]

Windows XP [ ]

Windows Vista [ ]

В Windows Vista файлы реестра хранятся там же, где и в Windows XP.

Windows 7 [ ]

В Windows 7, согласно сведениям из HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist файлы реестра хранятся в следующих местах:

Резервные копии файлов реестра DEFAULT, SAM, SECURITY, SOFTWARE и SYSTEM находятся в папке «%SystemRoot%\System32\config\RegBack». Само резервное копирование производится силами Планировщика задач в 0 ч. 00 мин. каждые 10 дней по заданию «RegIdleBackup», расположенному в иерархии задач по пути «\Microsoft\Windows\Registry».

Остается лишь дополнить предыдущий ответ тем, что пользовательский раздел реестра (HKCU) - в файле %userprofile%\ntuser.dat

Реестр 64-разрядных версий Windows XP и Windows Server 2003 и Windows Vista подразделяется на 32- и 64-разрядные разделы. Большинство 32-разрядных разделов имеют те же имена, что и их аналоги в 64-разрядном разделе, и наоборот. По умолчанию редактор реестра 64-разрядных версий Windows XP и Windows Server 2003 и Windows Vista отображает 32-разрядные разделы в следующем узле:

Windows CE/Mobile [ ]

Описание разделов реестров [ ]

HKEY_CURRENT_USER [ ]

HKEY_USERS [ ]

Раздел HKEY_USERS (псевдоним HKU) содержит информацию о профилях всех пользователей данного компьютера. Данный раздел практически никогда не используется пользователями. Следует отметить связь данного корневого раздела с разделом HKEY_CURRENT_USER, который фактически является ссылкой подраздела корневого раздела HKEY_USERS, хранящего сведения о текущем пользователе.

HKEY_LOCAL_MACHINE [ ]

HKEY_CLASSES_ROOT [ ]

HKEY_CURRENT_CONFIG [ ]

HKEY_DYN_DATA [ ]

Команда REG ADD [ ]

Синтаксис команды REG ADD [ ]

REG ADD <раздел> [/v <параметр> | /ve] [/t <тип>] [/s <разделитель>] [/d <данные>] [/f]

Примеры команды Reg Add [ ]

Описание команды REG DELETE [ ]

Синтаксис команды REG DELETE [ ]

REG DELETE <раздел> [/v <параметр> | /ve | /va] [/f] REG DELETE <раздел> Имя раздела в формате: [\\Компьютер\]Путь

Командная строка — команда REG DELETE.

Примеры команды reg delete [ ]

Команда REG COMPARE [ ]

Синтаксис команды REG COMPARE [ ]

  • REG COMPARE <раздел1> <раздел2> [/v <параметр> | /ve] [<вывод>] [/s]
  • <раздел> [\\Компьютер\]Путь

0 — Успешно, сравниваемые данные идентичны

1 — При обработке произошла ошибка

2 — Успешно, сравниваемые данные отличаются

Команда REG COPY [ ]

Синтаксис команды REG COPY [ ]

REG COPY <раздел1> <раздел2> [/s] [/f]

REG COPY <раздел> Имя раздела в формате: [\\Компьютер\]Путь

Примеры команды Reg Copy [ ]

Описание команды REG EXPORT [ ]

Синтаксис и параметры команды REG EXPORT [ ]

Командная строка команда REG EXPORT

Синтаксис и параметры команды REG IMPORT [ ]

Командная строка команда REG IMPORT

Примеры команды REG IMPORT [ ]

Синтаксис и параметры команды REG LOAD [ ]

Командная строка команда REG LOAD

Примеры команды REG LOAD [ ]

Синтаксис и параметры команды REG UNLOAD [ ]

Примеры команды REG UNLOAD [ ]

Синтаксис и параметры команды REG SAVE [ ]

<раздел> Полный путь к разделу реестра в виде: КОРЕНЬ\Подраздел. <КОРЕНЬ> — Корневой раздел. Значения: [ HKLM | HKCU | HKCR | HKU | HKCC ]. <подраздел> — Полный путь к разделу реестра в выбранном корневом разделе. <имя Файла> Имя сохраняемого файла на диске. Если путь не указан, файл создается вызывающим процессом в текущей папке.

Командная строка — команда REG SAVE.

Примеры команды REG SAVE [ ]

Синтаксис и параметры команды REG RESTORE [ ]

  • REG RESTORE <раздел> <имя файла>
    • <путь> — Полный путь к разделу реестра в виде: КОРЕНЬ\Подраздел (только для локального компьютера). <КОРЕНЬ> — Корневой раздел. Значения: [ HKLM | HKCU | HKCR | HKU | HKCC ]. <подраздел> — Полное имя раздела реестра, в котором будут сохранены данные из файла. Существующие разделы и параметры будут перезаписаны.
    • <имя файла> — Имя файла сохраненного раздела для его восстановления.

    Командная строка — команда REG RESTORE.

    Примеры команды REG RESTORE [ ]

    Описание команды REG QUERY [ ]

    Синтаксис и параметры команды REG QUERY [ ]

    • REG QUERY Раздел [/v Параметр | /ve] [/s]
      • Раздел Имя раздела в формате: [\\Компьютер\]Путь. Компьютер — Имя удаленного компьютера, если оно опущено, то по умолчанию считается равным имени локального компьютера. Для удаленных компьютеров доступны только HKLM и HKU. Путь — Полный путь к разделу реестра в виде: КОРЕНЬ\Подраздел КОРЕНЬ Корневой раздел. Значения: [ HKLM | HKCU | HKCR | HKU | HKCC ]. Подраздел — Полный путь к разделу реестра в выбранном корневом разделе.
      • /v Запрос указанного раздела реестра
      • Параметр Имя запрашиваемого параметра в указанном разделе. Если опущено, будут запрошены значения всех параметров
      • /ve Запрос стандартного параметра с пустым именем
      • /s Запрос всех подразделов и их параметров

      Примеры команды REG QUERY [ ]

      Критика [ ]

      Способ хранения параметров и настроек операционной системы при помощи реестра Windows часто подвергается критике по следующим причинам:

      Критики приводят в пример Программы для работы с реестром [ ]

      Шаблон:Main Существуют активно и недобросовестно рекламируемые программы, обещающие в числе прочего оптимизацию работы реестра. Они могут использоваться как для получения прибыли от продажи по необоснованно высокой цене, так и для распространения вирусов.

      Терминология [ ]

      В описании реестра в английской литературе, среди прочих, используется термин Hive. В некоторых работах его переводят на русский как «дерево». Microsoft в своих документах переводит это как куст. Например:


      В данной статье рассмотрены общие сведения о реестре операционной системы Windows.

      Реестр Windows (Windows Registry, системный реестр) — это иерархическая (древовидная) база данных, содержащая записи, определяющие параметры и настройки операционных систем Microsoft Windows.

      Реестр в том виде, как он выглядит при просмотре редактором реестра, формируется из данных, источниками которых являются файлы реестра и информация об оборудовании, собираемая в процессе загрузки. В описании файлов реестра на английском языке используется термин Hive. В документации от Microsoft этот термин переводится как Куст.

      Основные файлы, отвечающие за формирование реестра

      Файлы реестра создаются в процессе установки операционной системы и хранятся в папке:

      %SystemRoot%\\system32\\config (обычно C:\\windows\\system32\\config).

      Для операционных систем Windows это файлы с именами:

      • system
      • software
      • sam
      • security
      • default
      • components
      • bcd-template


      В операционных системах Windows Vista, Windows 7, Windows8, Windows 8.1, Windows 10, файлы реестра располагаются в каталоге \\Windows\\system32\\config и имеют такие же имена, однако в этих операционных системах добавился новый раздел реестра для хранения данных конфигурации загрузки (Boot Configuration Data) с именем BCD00000000 .

      Файл с данными этого раздела имеет имя bcd и находится в скрытой папке Boot активного раздела (раздела, с которого выполняется загрузка системы).

      Обычно, при стандартной установке Windows, создается активный раздел небольшого размера (от 100 до 500 мегабайт в зависимости от операционной системы), который скрыт от пользователя и содержит только служебные данные для загрузки системы – загрузочные записи, менеджер загрузки bootmgr , хранилище конфигурации загрузки BCD , файлы локализации и программы тестирования памяти

      Расположение куста bcd зависит от того, как сконфигурирован загрузчик системы при ее установке, и может находиться на том же разделе, где и каталог Windows.

      Место расположения файлов реестра в любой версии Windows можно просмотреть с помощью редактора реестра, в разделе:

      В этом разделе хранится информация о всех кустах, включая пользовательские профили, со ссылками на их расположение в файловой системе Windows.


      Структура реестра

      Реестр Windows имеет древовидную структуру и состоит из 5 основных разделов реестра:

      HKEY_LOCAL_MACHINE (HKLM) — самый большой раздел реестра. В нем сосредоточены все основные настройки операционной системы, а также аппаратного и программного обеспечения компьютера. Информация, содержащаяся в этом разделе, применяется ко всем пользователям, регистрирующимся в системе.


      Раздел HKEY_LOCAL_MACHINE\\Software\\Classes содержит параметры по умолчанию, которые относятся ко всем пользователям локального компьютера. Параметры, содержащиеся в разделе HKEY_CURRENT_USER\\Software\\Classes, переопределяют принятые по умолчанию и относятся только к текущему пользователю. Раздел HKEY_CLASSES_ROOT включает в себя данные из обоих источников.


      HKEY_USERS (HKU) — содержит настройки среды для каждого из загруженных пользовательских профилей, а также для профиля по умолчанию. В HKEY_USERS находится вложенный раздел \\Default, а также другие подразделы, определяемые идентификатором безопасности (Security ID, SID) каждого пользователя.


      HKEY_CURRENT USER (HKCU) — cодержит настройки среды для пользователя, на данный момент зарегистрировавшегося в системе (переменные окружения, настройки рабочего стола, параметры сети, приложений и подключенных устройств).

      Этот раздел дублирует информацию в HKEY_USERS\\user SID, где user SID — идентификатор безопасности пользователя, зарегистрировавшегося в системе на текущий момент (узнать SID текущего пользователя можно, набрав в командной строке whoami /user).


      HKEY_CURRENT_ CONFIG (HKCC) — cодержит настройки для текущего аппаратного профиля. Текущий аппаратный профиль включает в себя наборы изменений, внесенных в стандартную конфигурацию устройств, заданную в подразделах Software и System корневого раздела HKEY LOCAL_MACHINE.

      В HKEY_CURRENT_CONFIG отражаются только изменения. Кроме того, информация этого раздела находится в HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\HardwareProfiles\\Current.


      Данные в реестре хранятся в виде параметров, расположенных в ключах реестра. Каждый параметр характеризуется именем, типом данных и значением.

      Основные типы данных, применяемые в реестре

      REG_DWORD — 32-х разрядное число. Этот тип данных используют многие параметры драйверов устройств и сервисов. Редакторы реестра могут отображать эти данные в двоичном, шестнадцатеричном и десятичном формате.


      REG_SZ — Текстовая строка в формате, удобном для восприятия человеком. Значениям, представляющим собой описания компонентов, обычно присваивается именно этот тип данных.


      REG_EXPAND_SZ — Расширяемая строка данных. Эта строка представляет собой текст, содержащий переменную, которая может быть заменена при вызове со стороны приложения, например, используется для записи переменных окружения.


      REG_MULTI_SZ — Многострочное поле. Значения, которые фактически представляют собой списки текстовых строк в формате, удобном для восприятия человеком, обычно имеют этот тип данных. Строки разделены символом NULL.


      REG_BINARY — Двоичные данные. Большинство аппаратных компонентов используют информацию, которая хранится в виде двоичных данных. Редакторы реестра отображают эту информацию в шестнадцатеричном формате.


      REG_RESOURCE_LIST — Список аппаратных ресурсов. Применяется только в ветви HKEY_LOCAL_MACHINE\\HARDWARE.


      Также иногда можно встретить такие типы данных реестра:

      • REG_RESOURCE_ REQUIREMENTS_LIST — Список необходимых аппаратных ресурсов. Применяется только в ветви HKEY_LOCAL_MACHINE\\HARDWARE.
      • REG_FULL_RESOURCE_ DESCRIPTOR — Дескриптор (описатель) аппаратного ресурса. Применяется только в ветви HKEY_LOCAL_MACHINE\\HARDWARE.
      • REG_LINK — Символическая ссылка Unicode. Этот тип данных интересен тем, что позволяет одному элементу реестра ссылаться на другой ключ или параметр.
      • REG_QWORD — 64-х разрядное число.
      • REG_DWORD_ LITTLE_ENDIAN — 32-разрядное число в формате «остроконечников» (little-endian), эквивалент REG_DWORD .
      • REG_DWORD_BIG_ ENDIAN — 32-разрядное число в формате «тупоконечников» (big-endian).
      • REG_QWORD_LITTLE_ ENDIAN — 64-разрядное число в формате «остроконечников». Эквивалент REG_QWORD .
      • REG_NONE — Параметр не имеет определенного типа данных.

      Взаимодействие реестра с операционной системой

      При старте системы ядро системы извлекает из реестра сведения о загружаемых драйверах устройств и порядке их загрузки. Кроме того, программа Ntoskrnl.exe передает в реестр информацию о себе (напр. номер версии).

      В процессе загрузки системы драйверы устройств обмениваются с реестром параметрами загрузки и конфигурационными данными. Драйвер устройства сообщает об используемых им системных ресурсах, включая аппаратные прерывания ( IRQ ) и каналы доступа к памяти ( DMA ), чтобы система могла включить эти данные в реестр.

      Кстати, реестр позволяет создавать несколько аппаратных профилей. Аппаратный профиль (hardware profile) представляет собой набор инструкций, с помощью которого можно указать операционной системе, драйверы каких устройств должны загружаться при запуске компьютера. По умолчанию системой создается стандартный аппаратный профиль, который содержит информацию обо всех аппаратных средствах, обнаруженных на компьютере.

      При входе пользователя в систему загружаются пользовательские профили (user profiles). Вся информация, относящаяся к конкретному имени пользователя и связанными с ним правами хранится в реестре. Пользовательский профиль определяет индивидуальные параметры настройки системы (разрешение дисплея, параметры сетевых соединений, подключенные устройства и многое другое). Информация о пользовательских профилях также хранится в реестре.

      При установке приложений. Каждый раз при запуске программы установки происходит добавление в реестр новых конфигурационных данных. Начиная свою работу, все программы установки должны считывать информацию из реестра, чтобы определить, присутствуют ли в системе необходимые им компоненты. Кроме того, системный реестр позволяет приложениям совместно использовать конфигурационную информацию, что предоставляет им больше возможностей для взаимодействия. Приложение должно активно и правильно использовать реестр, а также иметь возможность корректного удаления, не затрагивая при этом компонентов, которые могут использоваться другими программами (библиотеки, программные модули и т. п.). Эта информация тоже хранится в реестре.

      При администрировании системы. Когда пользователь вносит изменения в конфигурацию системы с помощью средств администрирования системы (например при помощиПанели управления или оснастки MMC ), все изменения сразу отражаются в системном реестре. По сути средства администрирования представляют собой наиболее удобные и безопасные средства модификации реестра. Кстати, к средствам администрирования можно отнести и редактор реестра (regedit.exe), ведь все изменения в систему можно вносить непосредственно правкой реестра.

      В процессе загрузки и функционирования операционной системы выполняется постоянное обращение к данным реестра, как для чтения, так и для записи. Файлы реестра постоянно изменяются, поскольку не только система, но и отдельные приложения могут использовать реестр для хранения собственных данных, параметров и настроек. Другими словами, обращение к реестру - это одна из наиболее распространенных операций. Даже если пользователь не работает за компьютером, обращения к реестру все равно выполняются системными службами, драйверами и приложениями.

      Нарушение целостности файлов реестра (нарушение структуры данных) или неверное значение отдельных критических параметров может привести к краху системы . Поэтому, прежде чем экспериментировать с реестром, позаботьтесь о возможности его сохранения и восстановления.

      Читайте также: