Реестр Windows: что это такое, как создавать разделы и параметры. Что такое реестр Windows и как с ним работать

Реестр Windows: что это такое, как создавать разделы и параметры. Что такое реестр Windows и как с ним работать

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

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

Рассмотрим более подробно, каким образом компоненты Windows 7 взаимодействуют с системным реестром:

  1. Программа Windows Setup (программа установки) — при первом запуске собирает информацию о системе и создает реестр на основе полученных данных. При установке драйверов или приложений, программа-установщик читает из реестра информацию и добавляют туда свои конфигурационные данные. Наличие реестра позволяет всем программа получать доступ к централизованной базе данных и взаимодействовать друг с другом. Помимо этого, хранимая в реестре информация позволяет корректно удалить приложение, при этом не затрагивая такие важные компоненты как, например, библиотеки DLL.
  2. Среда восстановления Windows (WinRE) — набор средств, предназначенных для диагностики поврежденной системы и восстановления ее после серьезных ошибок. WinRE активно работает с реестром, и одна из выполняемых задач — это восстановление поврежденного реестра.
  3. Менеджер загрузки Windows (Windows Boot Manager) — Диспетчер загрузки получает доступ к базе данных BCD (Boot Configuration Data), которая хранится в реестре. После чтения конфигурационных данных менеджер загрузки передает управление Загрузчику Windows — файлу winload.exe, который, в первую очередь, читает необходимые данные из реестра, а затем загружает в память ядро операционной системы (%system32%\ntoskrnl.exe) и уровень аппаратных абстракций (%system%\hall.dll), а также все драйверы начальной загрузки и DLL режима ядра. Вот почему в случае отсутствия или повреждения файлов реестр операционная система просто не загрузится.
  4. Диспетчер PnP — отвечает за обнаружение устройство по двум параметрам: идентификатору поставщика (vendor ID, VID) и идентификатору устройства (device ID, DID). Когда диспетчер PnP определяет уникальную комбинацию VID и DID, он запрашивает информацию о шине, на которой обнаружено устройство и проверяет установлен ли драйвер для этого устройства. В случае, если драйвер не установлен подсистема PnP должна найти подходящий INF-файл для инсталяции драйвера и начать его установку.
  5. Диспетчер питания (Power Manager) — тесно взаимодействует с диспетчером PnP, приложениями, поддерживает разнообразные схемы управления электропитанием и управляется групповыми политиками, а вся эта информация хранится в реестре.
  6. Драйверы устройств — обмениваются с реестром параметрами загрузки и конфигурационными данными. Драйвер должен сообщить об используемых им системных ресурсах. Сами приложения и драйверы устройств могут считывать эту информацию из реестра, предоставляя пользователям удобные средства для установки и конфигурирования.
  7. Административные средства — административные средства Windows, в том числе утилиты из Панели управления и программы из группы Администрирование представляет собой наиболее удобные и безопасные средства модификации реестра.
  8. Пользовательские профили (user profiles) — вся информация, относящаяся к конкретной учетной записи пользователя и ассоциированными с ней правами, хранится в реестре. Групповые политики также хранятся в реестре.
  9. Аппаратные профили (hardware profiles) — представляет собой набор инструкций, с помощью которых можно указать операционной системе, драйверы каких устройств должны загружаться при запуске компьютера.
  10. Файловые системы — начиная с Windows Vista как файловые системы, так и реестр основаны на транзакциях. На практике это означает, что если набор операций над файлами и реестром помечен как транзакция, то в случае неудачи хоть одной из этих операций всю транзакцию можно «откатить» в исходное положение.
  11. Подсистема безопасности Windows 7 — подсистема безопасности со всеми ее функциональными возможностями, включая контроль учетных записей (User Account Control, UAC), также реализована на базе реестра и используется для его же защиты. Принцип действия UAC заключается в ограничении привилегий, предоставляемых запускаемым приложениям, уровнем привилегий обычного пользователя. Иными словами, даже если пользователь, запускающий приложение, и обладает административными правами, запускаемые им приложения таких привилегий не имеют, если только пользователь явно не запускает их от имени администратора. Таким образом, с повышенным уровнем привилегий запускаются лишь приложения, которым пользователь доверяет.
  12. Сетевые компоненты Windows — включают драйверы сетевых адаптеров, параметры настройки сетевых протоколов и сервисов, а также параметры сетевой безопасности и средства защиты сети от атак. Все это также хранится в реестре. Например, база данных Брандмауэра Windows (Windows Firewall) находится в реестре. Многие брандмауэры сторонних производителей также создают в реестре свои ключи, и, следовательно, успешная атака на реестр открывает путь к вторжению извне.

Файловая система на жестком диске имеет много чего общего с логической структурой реестра. Реестр содержит ключи (keys) и параметры (values), которые соответствуют каталогам и файлам на жестком диске. Ключи реестра могут содержать в себе вложенные ключи (подкаталоги). Параметры реестра (также как и файлы) хранят данные. Ключи, находящиеся на самом верхнем уровне иерархии, называются корневыми ключами (root keys). Схема именования ключей и параметров реестра похожа на пути в файловой системе. Типичный путь к вложенному ключу реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet. Реестр Windows 7 содержит пять корневых ключей: HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG.

Чтобы зайти в реестр Windows 7 , нажмите сочетание клавиш win + R (появится окно «Выполнить»), после чего введите и нажмите Enter .

Появиться окно редактора реестра.

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

Дескриптор (handle) — это значение, применяемое для уникального описания ресурса, к которому программа может получить доступ.

Описание корневых ключей показано в таблице ниже.

Имя корневого ключа Описание
HKEY_LOCAL_MACHINE Содержит глобальную информацию об аппаратных средствах и операционной системе, в том числе: тип шины, системная память, драйверы устройств и управляющие данные, используемые при запуске системы. Информация, содержащаяся в составе этого ключа, действует применительно ко всем пользователям, регистрирующимся в системе. На верхнем уровне иерархии реестра для этого ключа имеются три псевдонима: HKEY_CLASSES_ROOT, HKEY_CURRENT_CONFIG и HKEY_DYN_DATA.
HKEY_CLASSES_ROOT Содержит ассоциации между приложениями и типами файлов (по расширению имени файла). Кроме того, этот ключ хранит информацию OLE , ассоциированную с объектами COM, а также данные по ассоциациям файлов и классов.
HKEY_CURRENT_CONFIG Содержит конфигурационные данные для текущего аппаратного профиля. Аппаратные профили (Hardware profiles) представляют собой наборы изменений, внесенных в стандартную конфигурацию сервисов и устройств, установленную данными ключей Software и System коревого ключа HKEY_LOCAL_MACHINE. В ключе HKEY_CURRENT_CONFIG отображаются только изменения.
HKEY_CURRENT_USER Содержит профиль пользователя, в данный момент зарегистрированного в системе, включая переменные окружения, настройку рабочего стола, параметры настройки сети, принтеров и приложений. Этот ключи представляет собой ссылку на ключ HKEY_USERS\user_SID, где user_SID — идентификатор безопасности (Security ID) пользователя, зарегистрированного в системе на текущий момент.
HKEY_USERS Содержит все активно загруженные пользовательские профили, включая HKEY_CURRENT_USER, а также пользовательский профиль по умолчанию (.DEFAULT). Пользователи, получающие удаленный доступ к серверу, не имеют профилей, содержащихся под этим ключом, — их профили загружаются в реестры на собственных компьютерах.

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

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

Имя корневого ключа Описание
REG_BINARY Двоичные данные. Большинство аппаратных компонентов используют информацию, которая хранится в виде двоичных данных. Редакторы реестра отображают эту информацию в шестнадцатеричном виде.
REG_DWORD Данные представлены в виде значения, длина которого составляет 4 байта. Этот тип данных используют многие параметры драйверов устройств и сервисов. Редакторы реестра могут отображать такие данные в двоичном, шестнадцатиричном и десятичном формате.
REG_EXPAND_SZ Расширяемая строка данных, представляет из себя текст, содержащий переменную, которая может быть заменена при вызове со стороны приложения.
REG_MULTI_SZ Многострочное поле. Значения, которые фактически представляют собой списки текстовых строк, обычно имеют этот тип данных.
REG_SZ Текстовая строка в формате, удобном для восприятия человеком. Данный тип присваивается значениям, представляющим собой описания компонентов.
REG_DWORD_ 32-разрядное число, представляет из себя эквивалент REG_DWORD. Самый младший байт хранится в памяти первым в числе.
REG_DWORD_ 32-разрядное число, представляет из себя эквивалент REG_DWORD. Самый старший байт хранится в памяти первым в числе.
REG_LINK Символическая ссылка UNICODE. Этот тип данных предназначен для внутреннего использования. Типа данных REG_LINK позволяет одному элементу реестра ссылаться на другой ключ или параметр.
REG_NONE Не имеет определенного типа данных.
REG_QWORD 64-разрядное значение
REG_QWORD_
LITTLE_ENDIAN
64-разрядное число, представляет из себя эквивалент REG_QWORD. Самый младший байт хранится в памяти первым в числе.
REG_QWORD_
BIG_ENDIAN
64-разрядное число, представляет из себя эквивалент REG_QWORD. Самый старший байт хранится в памяти первым в числе.
REG_RESOURCE_LIST Список аппаратных ресурсов, применяется в ветви HKEY_LOCAL_MACHINE\HARDWARE
REG_FULL_RESOURCE_ Дескриптор (описатель) аппаратного ресурса, применяется в ветви HKEY_LOCAL_MACHINE\HARDWARE
REG__RESOURCE_ Список необходимых аппаратных ресурсов, применяется в ветви HKEY_LOCAL_MACHINE\HARDWARE

Реестр подразделяется на составные части, которые разработчики назвали ульями (hives), по аналогии с ячеистой структурой пчелиного улья. Улей представляет собой дискретную структуру ключей, вложенных ключей и параметров, берущую начало в вершине иерархии реестра. Отличие ульев от других групп ключей состоит в том, то они являются постоянными компонентами реестра. Ульи не создаются динамически при запуске системы и не удаляются при ее остановке.

Данные ульев реестра, определяющие общесистемные параметры конфигурации, хранятся в файлах, которые размещаются в каталогах %SystemDrive%\Boot\BCD и %SystemRoot%\System32\Config. Ульи реестра, задающие пользовательскую конфигурационную информацию хранятся в %SystemRoot%\Users\Username.

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

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

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

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

Компоненты реестра Windows

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

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

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

  • HKEY_CLASSES_ROOT (HKCR): этот ключ используется для связывания и внедрения объектов (Object Linking and Embedding, OLE) и ассоциации типов файлов. Это ключ, где Windows связывает файлы с их соответствующими программами, чтобы пользователь мог открывать и взаимодействовать с ними.
  • HKEY_ CURRENT_ USER (HKCU): этот раздел реестра Виндовс хранит все данные, настройки на уровне пользователя и конфигурации, связанные с вошедшим в систему пользователем. Не только Windows, но и другие программы хранят здесь данные, относящиеся к текущему пользователю.
  • HKEY_LOCAL_MACHINE (HKLM): независимо от статуса пользователя, этот ключ содержит все системные разделы, в том числе любые аппаратные настройки, параметры программного обеспечения и т.д. Поскольку HKLM содержит большую часть всей системной информации, он является одним из самых открытых корневых ключей Windows.
  • HKEY_USERS (HKU): как следует из названия, этот корневой ключ содержит параметры всех пользователей, включая вошедших и вышедших из системы, так что не путайте этот ключ с HKCU.
  • HKEY_CURRENT_CONFIG (HKCC): проще говоря, это псевдо корневой ключ, поскольку он является прямой ссылкой на текущие параметры профиля оборудования в корневом ключе HKLM.

Параметры разделов

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

А вообще есть четыре основных типа данных, используемых в редакторе реестра Windows любой версии - 7,8 или 10:

  • Строковый параметр: состоит из простого читаемого текста и является одним из наиболее часто используемых параметров в реестре Windows.
  • Двоичный параметр: как следует из названия, этот параметр содержит только двоичные данные (0, 1). Часто используется для включения или выключения определенной функции.
  • Параметр DWORD (32 бита): похож на двоичный параметр, но способен хранить любое целое число в диапазоне от 32 бит. Предназначен для работы с 32-битными системами, но также используется в 64-битных системах в целях обеспечения обратной совместимости.
  • Параметр QWORD (64 бита): этот параметр почти как DWORD, но способен нести любое целое число в диапазоне от 64 бит. Можно сказать, что QWORD предназначен для работы с 64-битными системами.

Как открыть редактор реестра Windows

Этот способ открытия реестра будет работать независимо от установленной версии Windows - 7,8 или 10:

Нажмите клавишу + клавишу R, чтобы открыть окно «Выполнить». Введите или и нажмите Enter или OK. Если появится окно контроля учетных записей (UAC), нажмите «Да».

Основной исполняемый файл редактора реестра находится в каталоге C:\Windows . Так что можно открыть эту папку и запустить файл regedit.exe напрямую, или можно просто создать ярлык regedit.exe в удобном для вас месте.

Редактор реестра: для 64-разрядных и 32-разрядных Windows

Реестр в 64-битных версиях Windows состоит из 32-битных и 64-битных разделов. Многие из 32-битных разделов имеют те же самые названия, что и их 64-битные аналоги, и наоборот.

64-разрядная версия (используется по умолчанию) (regedit.exe) отображает как 64-битные, так и 32-битные разделы. В 64-разрядной версии редактора реестра 32-битные ключи отображаются в следующем разделе реестра:

HKEY_LOCAL_MACHINE\Software\WOW6432Node

Просматривать и редактировать 64-битные и 32-битные разделы и параметры можно с помощью 64-разрядной версии редактора. Для просмотра или редактирования 64-битных ключей необходимо использовать 64-разрядную версию редактора реестра (regedit.exe). Редактировать и просматривать 32-битные ключи и значения можно также с помощью 32-разрядной версии (%systemroot\%Syswow64). Чтобы открыть 32-разрядную версию редактора реестра, выполните следующие действия:

  • Откройте диалог «Выполнить».
  • Введите %systemroot%\syswow64\regedit и нажмите OK.

Примечание

Перед открытием 32-разрядной версии нужно закрыть 64-разрядную версию редактора реестра (и наоборот). Однако можно открыть второй экземпляр редактора реестра. Например, если 64-битная версия редактора уже запущена, введите команду %systemroot%\syswow64\regedit -m , чтобы запустить 32-разрядную версию редактора.

Создание новых разделов и параметров

Создавать разделы и параметры очень просто. Но прежде чем что-либо делать, пожалуйста, создайте резервную копию реестра Windows, так как любые неверные настройки или удаление важных элементов может стать причиной критических ошибок.

Чтобы создать резервную копию, в окне редактора нажмите «Файл -> Экспорт», введите имя файла и сохраните его в надежном месте.

Чтобы создать новый раздел, щелкните правой кнопкой мыши на ключе корневого уровня и выберите «Создать -> Раздел». Новый раздел будет выглядеть как папка, и по умолчанию будет называться что-то вроде «Новый раздел #1». Разумеется, раздел можно всегда переименовать. Такая же процедура применяется всякий раз, когда нужно создать новый подраздел.

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

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

Права доступа к разделам реестра

По аналогии с правами и разрешениями на определенные объекты в файловой системе NTFS, такая же защита предусмотрена и для разделов реестра.

Еще со времен Windows Vista большое количество ОС-специфических ключей реестра, хранящих настройки Windows, находятся под защитой Windows Resource Protection, поэтому нельзя просто взять и удалить или изменить их. Вы не сможете сделать этого, не став их владельцем и не установив разрешения (права доступа) на них. К счастью, операционная система позволяет и это, но ручной способ чересчур муторный, поэтому лучше использовать простую утилиту , которая автоматизирует весь этот процесс.

На этом все! Надеюсь, написанное выше помогло вам лучше понять реестр Windows и его основные компоненты. Обменивайтесь мнениями и опытом в комментариях ниже!

Отличного Вам дня!

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

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

Реестр Windows был введён для упорядочения информации, хранившейся до этого во множестве INI-файлов, обеспечения единого механизма (API) записи-чтения настроек и избавления от проблем коротких имён, отсутствия разграничения прав доступа и медленного доступа к ini-файлам, хранящимся на файловой системе FAT16, имевшей серьёзные проблемы быстродействия при поиске файлов в директориях с большим их количеством. Со временем (окончательно - с появлением файловой системы NTFS) проблемы, решавшиеся реестром, исчезли, но реестр остался из-за обратной совместимости, и присутствует во всех версиях Windows, включая последнюю. Поскольку сейчас не существует реальных предпосылок для использования подобного механизма, Microsoft Windows - единственная операционная система из используемых сегодня, в которой используется механизм реестра операционной системы. В общем Реестр это рудимент.

Реестр Windows в нынешнем виде.

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

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


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

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

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

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

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

Где лежат файлы реестра Windows?

Файлы реестра лежат в папке windows\System32\config\ еще есть пользовательский раздел реестра - в файле %userprofile%\ntuser.dat. Резервные копии файлов реестра находятся в папке windows\System32\config\RegBack.

Какие основные разделы (кусты) реестра?

Раздел HKEY_CLASSES_ROOT

Это основной ключ реестра Windows, он содержит ассоциации файлов, которые связывают типы файлов с программами, которые могут открывать и редактировать их, и регистрацию классов для объектов Component Object Model (COM – компонентная модель объектов). Последнее предоставляет возможность изменить неимоверное число правил поведения системы - не стоит этого делать без веской причины.

Раздел HKEY_CURRENT_USER

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

Раздел HKEY_LOCAL_MACHINE

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

Раздел HKEY_USERS

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

Раздел HKEY_CURRENT_CONFIG

Ключ отвечает за устройства Plug&Play и содержит информацию о текущей конфигурации компьютера с переменным составом устройств, вроде флеш-карт, принтеров, факсов, внешних накопителей и т.п. Также данный раздел содержит сведения о текущем профиле оборудования, который используется компьютером при запуске системы.

HKEY_DYN_DATA

Данный раздел имеется только в реестре ОС семейства Windows 9x/ME. Содержит динамически изменяемые данные о компьютере (загрузка процессора, размер файла подкачки и т. п.)

Как редактировать реестр?

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


Оптимизация работы реестра.

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


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

Для оптимизации работы реестра Windows можно использовать программы , WinOptimizer, Reg Organizer, Auslogics Boostspeed.


Если остались вопросы смотрите видео выше.

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

Оглавление:

Что такое Редактор реестра


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

Как запустить Редактор реестра


Способ 1
Независимо от версии Windows, установленной на вашем компьютере, вот этот метод будет работать:

Способ 2
Исполняемый файл Редактора реестра находится в C:\Windows, а это значит, что вы можете открыть эту папку в Проводнике и запустить файл regedit.exe щелчком мыши.

Кроме того, вы можете создать ярлык для Regedit.exe и поместить его в меню Пуск/в список приложений Windows 8.x, в папку

%ProgramData%\Microsoft\Windows\Start Menu\Programs

Это сделает Редактор реестра видимым в результатах поиска Windows, а также позволит запускать приложение одним кликом мышки.

Общий вид Редактора реестра


Редактор реестра выглядит следующим образом:

Как видно на картинке выше, он состоит из двух панелей:

  • левая отображает иерархическое представление структуры данных, оно называется разделы (или ключи);
  • правая панель отображает параметры . Они представляют из себя пары имя = данные и хранятся внутри ключей.

Что показывает Редактор реестра


Как я упомянул выше, редактор показывает нам разделы и параметры.

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist

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

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

Обратите внимание, что некоторые файлы реестра не отображаются в окне Редактора реестра. Например, вы никогда не увидите, что хранится внутри файла SAM (Security Accounts Manager). В редакторе реестра он представлен веткой HKEY_LOCAL_MACHINE\SAM\SAM и там якобы пусто. Это сделано по соображениям безопасности.

Параметры реестра используются ОС Windows и многими сторонними приложениями для хранения различных параметров конфигурации и части пользовательских данных. Значения параметров бывают различных типов, но в общем случае это текстовые значения/строки, числовые значения или двоичные значения.

Как создать новый раздел реестра


Чтобы создать новый ключ, щелкните правой кнопкой мыши на родительском разделе в левой панели и выберите команду Создать -> Раздел из контекстного меню.

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

Как создать новый параметр


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

  • на текущем разделе слева
    или
  • в пустом месте в правой панели.

Выберите подходящий тип для нового параметра и введите его имя. Дважды щелкните по имени параметра, чтобы задать его значение.

Как стать владельцем раздела и получить к нему полный доступ


Подобно тому, как понятия "права доступа" и "владелец" применимы для файлов и папок в файловой системе NTFS, они существуют и для разделов реестра. Начиная с эпохи Windows Vista и по сегодняшний день большинство разделов реестра, в которых хранятся настройки ОС, защищены ограничением прав доступа так, что они не могут быть легко удалены или изменены пользователем. Иногда вам может понадобиться изменить данных в таких разделах, и для этого вам нужно уметь сменить владельца раздела и получить к нему полный доступ. Сделать это довольно просто.


Как восстановить TrustedInstaller в качестве владельца раздела


Почти все системные разделы реестра в Windows Vista, 7 и 8 в качестве владельца имеют учётную запись TrustedInstaller. После правки разрешений на раздела необходимо вернуть права собственности для этой учётной записи, иначе операционная система может работать некорректно. Для восстановления собственности TrustedInstaller в Windows Vista, 7 и 8 введите NT Service\TrustedInstaller в поле "Введите имена выбираемых объектов". Нажмите OK.

Как изменить права доступа на раздел реестра


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

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

В первом случае, то есть если разрешения наследуются от родительского ключа, вы должны отключить наследование и скопировать права доступа родительского раздела к текущему ключу, чтобы иметь возможность их менять. Чтобы сделать это в Windows 7, Windows Vista и Windows XP, снимите флажок "Добавить разрешения, наследуемые от родительских объектов", и нажмите кнопку "Добавить" в диалоговом окне подтверждения.

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

В Windows 8 есть специальная кнопка для отключения наследования:

Разрешения могут быть установлены двумя способами: после отключения наследования вы можете установить их только на текущий раздел, или вы можете задать разрешения для текущего ключа, и затем применить их ко всем его подразделам. Для этого установите флажок Заменить все записи разрешений дочернего объекта наследуемыми от этого объекта . Это действие выставит заданные вами разрешения вниз по иерархии ключей для всех подразделов.

Ключи командной строки Редактора реестра

Переход в нужный раздел реестра одним кликом


Вариант №1

Некоторое время назад я создал утилиту RegOwnershipEx , которая позволяет получить полный доступ к разделу реестра одним кликом. Кроме этого, она позволяет перейти в желаемый раздел реестра. Я рекомендую вам с ней ознакомиться.

RegOwnershipEx позволяет следующее:

  • стать владельцем и получить полный доступ к выбранному разделу реестра. Имеется окно обзора реестра для легкого выбора раздела.
  • избранное - для быстрого доступа к вашим любимым раздела реестра. Оно интегрировано с меню "Избранное" редактора реестра.
  • восстановить права доступа и владельца, которые вы изменили ранее. т.е. программа позволяет вернуть права в исходное состояние.
  • функция "открыть в regedit" - вы можете открыть выбранный ключ в редакторе реестра. Это очень удобная опция, чтобы быстро перейти к разделу, просто скопировав его имя.
  • сокращения для корневых разделов - вы можете использовать HKCU вместо HKEY_CURRENT_USER, HKLM вместо HKEY_LOCAL_MACHINE и так далее.
  • получение пути реестра из буфера обмена Windows.
  • аргумент командной строки "/j" для извлечения пути к разделу реестра из буфера обмена Windows и быстрого перехода в редактор реестра.

Всё это чертовски удобно!

Вариант 2

Я набросал простенький скрипт, который будет получать содержимое буфера обмена, записывает его в реестр и открывает редактор реестра. Предполагается следующий сценарий: Вы читаете статью, в ней написано – «перейдите в раздел реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion». Вы выделяете путь к разделу, нажимаете CTRL+С и запускаете скрипт. Редактор реестра открывается в нужном месте. .

Реестр 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\system32\config и имеют такие же имена, однако в этих операционных системах добавился новый раздел реестра для хранения (Boot Configuration Data ) с именем BCD00000000 . Файл с данными этого раздела имеет имя bcd и находится в скрытой папке Boot активного раздела (раздела, с которого выполняется загрузка системы). Обычно, при стандартной установке Windows, создается активный раздел небольшого размера (от 100 до 500 мегабайт в зависимости от операционной системы), который скрыт от пользователя и содержит только служебные данные для загрузки системы – загрузочные записи, менеджер загрузки bootmgr , хранилище конфигурации загрузки BCD , файлы локализации и программы тестирования памяти. Расположение куста bcd зависит от того, как сконфигурирован загрузчик системы при ее установке, и может находиться на том же разделе, где и каталог Windows.

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist

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

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

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

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

HKEY_ CLASSES_ ROOT (HKCR) - содержит ассоциации между приложениями и типами файлов (по расширениям файлов). Кроме того, в этом разделе находится информация о зарегистрированных типах файлов и объектах COM и ActiveX. Кроме HKEY_ CLASSES_ ROOT эти сведения хранятся также в разделах HKEY_LOCAL_MACHINE и HKEY_CURRENT_USER . Раздел 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_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 - Параметр не имеет определенного типа данных.

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

При запуске компьютера распознаватель аппаратных средств (hardware recognizer ) помещает в реестр список обнаруженных им устройств. Обычно распознавание аппаратных средств осуществляется программой Ntdetect.com и ядром операционной системы Ntoskrnl.exe

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

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

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

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

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

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

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



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows