- Устройство реестра Windows 7/8/10
- Как устроен реестр Windows
- Разделы реестра Windows
- Назначение разделов реестра
- Виды параметров реестра Windows
- Подробнее о параметрах реестра
- Внешний вид различных параметров
- Заключение
- P.S. Минутка юмора
- Каково назначение основных разделов реестра Windows
- Вступление
- Типы данных в реестре
- HKEY_LOCAL_MACHINE (HKLM)
- HKLM\Hardware
- HKLM\SAM
- HKLM\Security
- HKLM\Software
- HKLM\System\CurrentControlSet
- HKEY_USERS (HKU)
- HKEY_CURRENT_CONFIG (HKCC)
- HKEY_CURRENT_USER (HKCU)
- HKEY_CLASSES_ROOT (HKCR)
Устройство реестра Windows 7/8/10
В этом уроке мы более подробно рассмотрим устройство реестра операционной системы Windows (данная информация актуальна для XP, 7, 8, 8.1, 10).
Если вы хотите узнать, что такое системный реестр, можете начать с предыдущего урока, в нём я всё подробно рассказал, вот ссылка. Если же вам уже знакомы основы, то приглашаю погрузиться в глубины реестра ОС Windows.
Как устроен реестр Windows
Структуру реестра можно увидеть в специальной программе «Редактор реестра» (подробные инструкции по его запуску можно найти здесь).
Самый простой вариант запуска: нажмите сочетание клавиш Win+R, введите команду regedit и нажмите ОК.
Редактор реестра очень похож на проводник, а структура реестра похожа на файловую систему вашего компьютера:
— слева отображаются разделы, похожие на папки, внутри них есть подразделы (совсем как подпапки);
— справа отображаются параметры (очень похожи на файлы) и их значения.
Устройство реестра Windows 10
Разделы реестра Windows
Реестр Windows 10, 8, 7, XP состоит из пяти стандартных разделов – корневых ключей:
- HKEY_CLASSES_ROOT – информация о зарегистрированных в Windows типах файлов
- HKEY_CURRENT_USER – настройки пользователя, вошедшего в Windows
- HKEY_LOCAL_MACHINE – настройки, относящиеся к компьютеру
- HKEY_USERS – настройки для всех пользователей
- HKEY_CURRENT_CONFIG – сведения о настройках оборудования
Для простоты, их часто указывают в сокращенном обозначении (аббревиатура из первых букв): HKCR, HKCU, HKLM, HKU, HKCC.
Назначение разделов реестра
Разберемся с разделами реестра Windows 10 немного подробнее (если покажется сложным, переходите сразу к параметрам реестра):
Раздел реестра | Описание |
---|---|
HKEY_CLASSES_ROOT (HKCR) | Раздел хранит информацию о всех типах файлов, о которых должна знать Windows (avi, doc, jpg и все остальные). Для каждого типа указана программа, связанная с ним, закреплен значок, который отображается в проводнике, приведены команды, которые можно использовать для данных файлов (открыть, печать и т.д.) После установки различных программ, здесь регистрируются новые типы файлов (например, после установки архиватора 7-Zip появляется тип файла .7z) Раздел является копией подраздела HKEY_LOCAL_MACHINE\Software\Classes |
HKEY_CURRENT_USER (HKCU) | Этот раздел содержит настройки пользователя, вошедшего в систему в данный момент. Здесь хранятся настройки экрана, раскладка клавиатуры, сетевые подключения, настройки программ и многое другое. Большинство рекомендаций по настройке реестра относятся к этому разделу. |
HKEY_USERS (HKU) | Здесь находятся настройки всех пользователей операционной системы, а также настройки по умолчанию. На самом деле раздел HKEY_CURRENT_USER – это один из подразделов раздела HKEY_USERS и все изменения настроек, совершенные пользователем, сохраняются в выделенном для него подразделе. |
HKEY_LOCAL_MACHINE (HKLM) | В этом разделе хранится информация о настройках компьютера (программной и аппаратной конфигурации). Всё, что вы измените в этом разделе, будет влиять на всех пользователей ПК. Этот раздел второй по популярности вносимых изменений. |
HKEY_CURRENT_CONFIG (HKCC) | Раздел содержит информацию о настройке оборудования для текущего сеанса (профиль оборудования). Этот раздел является копией подраздела «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles» и практически не используется при ручных изменениях. |
Поздравляю, мы уже разобрались с половиной урока, и вы знаете о пяти корневых разделах реестра!
Чтобы изучить устройство реестра, осталось познакомиться с параметрами и их значениями.
Виды параметров реестра Windows
Как мы уже знаем, разделы и подразделы содержат параметры (на английском языке — value entries). Параметры могут иметь различные значения, например: путь к файлу, название программы, различные числа и т.д.
Пример структуры реестра Windows 10
Параметры реестра делятся на три основных типа (и несколько разновидностей):
- Строковые параметры – REG_SZ
- Двоичные параметры – REG_BINARY
- DWORD-параметры – REG_DWORD
Подробнее о параметрах реестра
Попробую кратко описать отличия параметров реестра:
Параметр | Описание |
---|---|
Строковый параметр REG_SZ | Содержит строку текста, например, путь к файлу или папке («C:\Windows»). |
Расширенный строковый параметр REG_EXPAND_SZ | Может содержать специальные переменные, например, вместо «C:\Windows» можно указать %systemroot% (фактически, это будет тот же путь, но мы можем использовать его, если не знаем заранее, куда установлена ОС). |
Многострочный параметр REG_MULTI_SZ | Может содержать более одной строки, удобно, если нужно внести целый список. |
Двоичный параметр REG_BINARY | Набор двоичных данных, которые отображаются в шестнадцатеричном формате (например, 10 82 A0 8F). Используется для хранения информации об оборудовании. |
Параметр DWORD REG_DWORD | Это целое число, которое может быть в двоичном, десятичном или шестнадцатеричном виде (например, 0x00000020 (32) — в скобках указано десятичное значение ключа). Длина числа – 4 байта (32 бита). Часто этот параметр работает как переключатель: 1 – включено, 0 – выключено. |
На самом деле, видов параметров в два раза больше, но чтобы понять принципы устройства реестра, их разбирать не обязательно (но если желание появилось, обязательно напишите в комментариях!)
Внешний вид различных параметров
Вот как отображаются все перечисленные параметры в редакторе реестра:
Виды параметров реестра в Windows 10 и 8 (пример)
То есть, все виды строковых параметров обозначаются значком с буквами «ab», а двоичные и числовые параметры обозначаются значком с цифрами «0011».
Ух ты, кажется, мы рассмотрели всё, что нужно!
Заключение
Итак, в этом уроке мы разобрались с устройством реестра Windows 10/8/7/XP.
Давайте повторим: реестр состоит из пяти разделов, которые могут содержать подразделы (как папки в проводнике). В разделах и подразделах находятся параметры (строковые и числовые). Изменяя значения параметров, мы можем изменять настройки операционной системы, программ и пользователя.
Не слишком сложно?
Жду ваших отзывов и вопросов в комментариях!
В следующем уроке мы узнаем, где хранится реестр на жестком диске. Подписывайтесь на новости, делитесь с друзьями в социальных сетях.
P.S. Минутка юмора
А вот что бывает, если не изучать IT-уроки 🙂
Копирование запрещено, но можно делиться ссылками:
Каково назначение основных разделов реестра Windows
Вступление
В данной статье будут рассмотрены основные ветки реестра Windows, а также их назначение. Список корневых разделов можно увидеть ниже:
- HKEY_LOCAL_MACHINE (HKLM)
- HKEY_USERS
- HKEY_CURRENT_CONFIG
- HKEY_CURRENT_USER
- HKEY_CLASSES_ROOT
Типы данных в реестре
В реестре могут храниться данные семи типов:
- REG_BINARY хранит произвольные двоичные данные в «сыром» виде, без переформатирования и синтаксического разбора. Эти данные можно просматривать в двоичном или шестнадцатеричном виде при помощи редактора реестра.
- REG_DWORD хранит параметры, представленные восьмибайтными (длинные) целыми числами. Этот тип данных обычно применяется, когда параметр обозначает счетчик или интервал. Еще одно его применение в качестве флага (0 — флаг снят, 1 — установлен).
- REG_SZ представляет собой обычную строку в кодировке Unicode любой длины. Наиболее часто в этом типе данных хранится информация, которая будет читаться пользователем, пути доступа, названия устройств и т.п.
- REG_EXPAND_SZ — вид REG_SZ, используемый приложениями для хранения конструкций вида %SystemRoot%\System32, например. При чтении этой строки Windows заменяет %SystemRoot% на имя папки, куда она установлена.
- REG_MULTI_SZ представляет собой набор произвольного количества параметров типа REG_SZ. В этом типе данных хранится, например, список IP адресов, назначенных сетевому интерфейсу.
- REG_FULL_RESOURCE_DESCRIPTOR применяется для кодирования информации о системных ресурсах, необходимых для какого-либо из устройств.
- REG_NONE служит как семафор, т.е. параметр существует, но не содержит ни какого значения. Некоторые приложения проверяют наличие этого параметра и, исходя из результата проверки, выполняют или не выполняют действие.
При добавлении параметров в реестр нужно обязательно использовать тот тип данных, который указан в источнике, откуда взята информация о необходимости добавить параметр. Если тип данных не будет соответствовать тому, который ожидает найти приложение в указанном месте, то последствия могут быть непредсказуемыми.
HKEY_LOCAL_MACHINE (HKLM)
Раздел HKEY_LOCAL_MACHINE (HKLM) — хранит все настройки, относящиеся к локальному компьютеру. Например, в подразделе HARDWARE хранятся записи операционной системы и драйверов и совместно используемая (разделяемая) информация о физических устройствах, обнаруживаемых операционной системой во время загрузки (как и остальных устройств Plug-and-Play, которые могут быть добавлены после загрузки операционной системы). Приложения должны хранить здесь данные только в том случае, когда они относятся ко всем, кто пользуется компьютером. Например, драйвер принтера может хранить здесь набор настроек принтера, применяемых по умолчанию, и копировать эти данные для каждого профиля пользователя при входе пользователя в систему.
HKLM\Hardware
В разделе HKLM\Hardware хранится информация об устройствах, обнаруженных в компьютере. Все параметры этого раздела хранятся не на жестком диске, а в оперативной памяти. Когда компьютер распознает запуск устройства, он нумерует найденное устройство, исследуя шину и отдельные классы устройств (например, порты или клавиатуру). В этом разделе имеются три основных подраздела:
- Подраздел Descriptions содержит описания центральных процессоров, процессоров для операций вещественными числами («с плавающей точкой») и многофункциональных устройств компьютера.
- Подраздел DeviceMap сопоставляет устройства драйверам. Например, DeviceMap\video имеет параметр с именем \Device\Video1, содержащий строку \REGISTRY\Machine\SYSTEM\ControlSet001\Services\mnmdd\Device0, являющуюся указателем на место, где хранятся параметры для драйвера этого видеоконтроллера.
- В подразделе ResourceMap имеются три основных подраздела. Один — для уровня аппаратных абстракций (HAL, hardware abstraction layer), применяемый при отслеживании найденных устройств. Второй — для Plug-and-Play Manager, для записи устройств, про которые известно, как с ними работать. Третий — для отображения объема оперативной памяти.
Могут быть и дополнительные подразделы, в зависимости от конфигурации компьютера. Например, компьютеры с поддержкой интерфейса управления питанием (ACPI), будут иметь подраздел ACPI, содержащий информацию о конкретных возможностях ACPI на этом компьютере.
HKLM\SAM
В разделе HKLM\SAM хранятся локальные учетные записи или группы, созданные на компьютере. Раздел скрыт.
HKLM\Security
В разделе HKLM\Security содержится всевозможная информация, относящаяся к защите. Формат не документирован. Используется для кэширования верительных данных для входа в систему, настроек политики и разделяемых секретных данных сервера. Подраздел Security\SAM содержит копию большинства данных из HKLM\SAM
HKLM\Software
Раздел HKLM\Software — является корнем структуры подразделов, хранящих глобальную (в пределах компьютера) информацию приложений и компонент. Программы создают свои собственные подразделы в HKLM\Software для храниения своей служебной информации. В разделе HKLM\Software\Microsoft\Windows\CurrentVersion хранится большинство данных о настройках пользовательского интерфейса (GUI). Подраздел HKLM\Software\Microsoft\Windows NT\CurrentVersion, среди прочих, содержит разделы для автоматического восстановления, для шифруемой файловой системы, для редактора конфигурации безопасности, для терминальных служб и т.д
HKLM\System\CurrentControlSet
Последним действием фазы загрузки Windows является обновление реестра, которое должно зафиксировать набор служб и управляющих настроек, применявшийся при последней успешной загрузке. CurrentControlSet всегда указывает на набор управляющих настроек, используемых системой в текущий момент. В HKLM\System есть много подразделов ControlSetXXX, каждый из которых описывает набор управляющих настроек, существовавших в какой-либо момент времени, независимо от того, была ли загрузка успешной или нет. CurrentControlSet является указателем на последний набор управляющих настроек, при котором загрузка была успешной. Поскольку трудно определить сразу, какая из загрузок была успешной, то операционная система и приложения пользуются указателем CurrentControlSet.
В разделе, описывающем набор управляющих настроек, среди прочих, имеются четыре следующих раздела:
- Control — Содержит управляющую информацию для служб и системных инструментальных средств. Например, Control\BackupRestore\KeysNotToRestore содержит список разделов, которые утилита Backup на должна восстанавливать при восстановлении реестра.
- Enum — Содержит по одному элементу данных для каждого из найденных системой устройств. Если устройство имелось на на момент загрузки, то оно будет включено в этот список.
- Hardware Profiles — Содержит по одному элементу данных для каждого из профилей оборудования, найденных на компьютере. Как и сам HKLM\System, каждый профиль имеет порядковый номер, начинающийся с 0001. HKLM\System\Hardware Profiles\Current всегда указывает на профиль, выбранный при загрузке.
- HKLM\System\MountedDevices — Тома динамических дисков зависят от наличия информации о текущей конфигурации о логических томах на диске. Приложения и оснастки берут эту информацию из службы Logical Volume Manager, которая хранит свой список смонтированных и доступных устройств и подразделе MountedDevices
HKEY_USERS (HKU)
Раздел HKEY_USERS (HKU) — содержит записи для каждого из пользователей, когда-либо входивших в систему. Владельцем каждой из этих записей является соответствующая пользовательская учетная запись, там содержатся настройки профиля этого пользователя. Если используются групповая политика, то задаваемые в ней настройки применяются здесь к профилям отдельных пользователей.
HKEY_CURRENT_CONFIG (HKCC)
Раздел HKEY_CURRENT_CONFIG (HKCC) — хранит информацию о текущей загрузочной конфигурации компьютера. В частности, здесь хранится информация о текущем наборе системных служб и об устройствах, имевшихся во время загрузки. На самом деле, этот корневой раздел является указателем на раздел внутри HKLM.
HKEY_CURRENT_USER (HKCU)
Раздел HKEY_CURRENT_USER (HKCU) указывает на профиль текущего пользователя (вошедшего в данный момент в систему) внутри HKU. Microsoft требует, чтобы приложения хранили все предпочтения пользователей в подразделах под HKCU. Например, HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Paint содержит личные настройки пользователей программы Paint.
HKEY_CLASSES_ROOT (HKCR)
Раздел HKEY_CLASSES_ROOT (HKCR) — сопоставляет расширения файлов и идентификаторы классов OLE. Фактически он указывает на HKLM\Software\Classes. Система использует эти соответствия чтобы определить, какие приложения или компоненты нужно использовать при открытии или создании тех или иных типов файлов или объектов данных.