Pages Menu
Categories Menu

Опубликовано | 2 коммент.

Архитектура системного реестра Windows

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

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

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

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

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

Содержание:

Что такое реестр Windows

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

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

С помощью реестра Microsoft урегулировал этот хаос, и эффектно вытащил все эти индивидуальные .ini файлы в единую, управляемую базу данных.

Реестр был впервые введен в Windows 95 и Windows NT, а в качестве основного компонента операционной системы не очень изменился и до сих пор. Причиной этого стала совместимость с имеющимся аппаратным и программным обеспечением, что имеет решающее значение для бизнес-пользователей ПК. Изменение реестра слишком много сломает или потребуют сложной машины виртуализации, которая, по крайней мере, создаст значительные проблемы в безопасности.

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

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

Файлы реестра Windows

Если вы используете современную версию Windows, я имею в виду ОС Windows 7, Windows 8 или 8.1 и Windows 10, то реестр, его структура, работа и возможность редактирования, там одинакова. Основные компоненты операционной системы меняются не очень часто.

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

Главная файлы реестра находятся в каталоге %systemroot%\System 32\Config\ и состоят из следующего:

  • SAM (Security Accounts Manager)
  • SECURITY
  • SOFTWARE
  • SYSTEM
  • DEFAULT
  • USERDIFF (used only for OS upgrades)

Кроме того, каждый пользователь имеет свои собственные файлы реестра:

  • %userprofile%\ntuser.dat
  • %userprofile%\AppData\Local\Microsoft\Windows\UsrClass.dat

файлы_реестра_windows

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

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

Ключи и значения реестра

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

Когда вы изменяете или создаете элементы в реестре вы создаете ключи и значения, но кФайлы реестра Windowsаковы между ними различия?

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

HKEY_CLASSES_ROOT (HKCR)

Этот раздел хранит информацию о зарегистрированных приложениях OLE-объектах ID классов и ассоциации файлов. Иногда вы можете увидеть его сокращенно, раздел HKCR. Он добавляет дубликаты ключей в уже существующий подраздел HKEY_CURRENT_USER\Software\Classes, и Windows будет использовать подраздел HKEY_CURRENT_USER\Software\Classes как основной.

HKEY_CURRENT_USER (HKCU)

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

HKEY_LOCAL_MACHINE (HKLM)

Этот раздел содержит все характерные для ПК, на котором установлена Windows настройки. Он содержит файлы SAM, SECURITY, SYSTEM и SOFTWARE. Пятый файл, HARDWARE, каждый раз при запуске компьютера создается заново и содержит информацию об обнаруженном оборудовании.

А также этот раздел содержит находящиеся в

%systemroot%\System 32\config\ файлы COMPONENTS и BCD, в которых хранится относящаяся к конфигурации загрузки данных на ПК информация.

В разделе реестра HKEY_LOCAL_MACHINE лишь несколько подразделов заслуживают внимания, так как этот набор файлов реестра наиболее часто изменяется и редактируется пользователями.

SAM

Раздел ключей Security Accounts Manager, как правило, отображается пустым, если пользователь не имеет соответствующих прав администратора. Он содержит сведения о безопасности для всех подключенных доменов ПК, в том числе локального домена, который также называют SAM.

База данных SAM содержит используемое для входа в домен имя пользователя, UID (уникальный идентификатор) домена, криптографический хэш-код пароля пользователя, местоположение пользователя в реестре и на сервере, различные другие требующиеся при соединении параметры и флаги.

SECURITY

Этот подраздел также пуст для большинства пользователей, конечно если они не имеют соответствующих административных разрешений. При подключении к домену, он связан с базой данных Server Registry Hive, который содержит все, применимые к текущему пользователю и установленным приложениям, политики безопасности.

SYSTEM

Этот подраздел содержит информацию об установке Windows, настройки и данные о подключенных в данный момент устройствах, и содержащих системные файлы дисках.

SOFTWARE

Этот раздел содержит параметры для текущей установки Windows, установленных программ и приложений и ключи поставщиков программного обеспечения, включает подразделы для расширений файлов, MIME типы и объектные идентификаторы класса и интерфейса (такие как ActiveX).

HKEY_USERS (HKU)

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

HKEY_CURRENT_CONFIG (HKCC)

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

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

HKEY_PERFORMANCE_DATA

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

Типы значений реестра

При создании нового параметра реестра вам будут представлены следующие опции:

  • REG_BINARY: этот тип ключей хранит необработанные двоичные данные.
  • REG_DWORD: 32-разрядное целое число переменной длины.
  • DWORDS: обычно используется для определения параметров настройки драйверов устройств и настройки программного обеспечения.
  • REG_SZ: строковое значение фиксированной длины.
  • REG_EXPAND_SZ: расширяемая длина строкового значения, также используется для переменные среды.
  • REG_MULTI_SZ: мульти-строка, которая может содержать список значений, обычно через запятую или пробел.
  • REG_RESOURCE_LIST: список ресурсов, вложенных массивов, используемых драйверов устройств.
  • REG_RESOURCE_REQUIRMENTS_LIST: список ресурсов оборудования, используемые драйвера устройств.
  • REG_FULL_RESOURCE_DESCRIPTOR: вложенные, используемые для хранения списков ресурсов физических устройств, массивы.
  • REG_LINK: символьная ссылка (ЮНИКОД) в следующий ключ реестра, что определяет корневой ключ и путь к целевому ключу.
  • REG_NONE: данные, не имеющие определенного типа.
  • REG_QWORD: переменные 64-битной длины.

Примечание. Между реестрами 32-разрядной (x86) и 64-разрядной (x64) ОС Windows существует некоторое различие. 64-разрядный параметр qword не поддерживается в 32-разрядных версиях операционной системы Windows. Кроме того, реестр работает с 32-разрядными и 64-разрядными ключами настолько умным образом, что файловая система обрабатывает несколько версий одних и тех же dll файлов, но сохраняет совместимость, которую вы можете найти в секции реестра HKEY_LOCAL_MACHINE\Software\WOW6432Node.

.REG-файлы

.REG-файлы отличаются от файлов реестра по нескольким важным направлениям. Во-первых, хотя они хранят ключи и значения реестра, они предназначены для резервного копирования и переноса между ПК, и установке Windows из этих значений и ключей. Кроме того, .REG-файлы, в отличие от файлов базы данных реестра, которые содержат двоичную систему, хранятся в текстовом формате ASCII.

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

Вы можете .REG-файлами, в самом редакторе реестра, экспортировать весь реестр или отдельные его ключи.

А также вы можете вручную редактировать содержимое .REG файла в Windows блокноте или любом другом текстовом файловом редакторе. Щелкните правой кнопкой мыши по .REG файлу в проводнике, в появившемся контекстном меню откройте опцию «редактировать».

редактирование_содержимого_REG_файла

В примере на рисунке указан ключ HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics, и он здесь выделен потому, что включает в себя дополнение к конфигурации по умолчанию.

В конце ключа находится раздел под названием «MinWidth», который имеет численное значение 54. Этот ключ изменяет поведение значков на панели задач Windows (не группировать), так, чтобы значки программ, при запуске нескольких экземпляров, отображались раздельно, но без их подписей.

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

2 комментария

  1. Почему в значениях реестра в Вашей статье не указано HKLM?

    • указано, читайте внимательнее

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.

↓