Чтобы понять что такое реестр Windows представьте себе человеческий мозг, который хранит все ключевые сведения и код, позволяющие различным частям компьютера, операционной системы и программного обеспечения, общаться друг с другом. Включая подробную информацию о аппаратных средствах, протоколах связи, установленном программном обеспечении, файлах конфигурации и, конечно же, внутренней работы самой Windows.
Неважно, какую версию Windows вы используете, вы будете иметь не один, а несколько файлов реестра, так как Windows разбивает реестр на несколько основных файлов, содержащих всю необходимую информацию о работе компьютера, его аппаратной части, файлах каждого отдельного пользователя, программном обеспечении, параметрах и настройках.
Файлы реестра баз данных, которые операционная система загружает в память компьютера при запуске компьютера или входе пользователя, часто достаточно большие и сложные. Но без этих файлов настроек и параметров, компьютер не сможет работать вообще.
Как из Реестра очистить хвосты удалённых программ в Windows 10?
Реестр напоминает мозг и по другим причинам. Он так же способен к самовосстановлению, но только в ограниченной степени. В то время как человеческий организм полон, необходимых для ремонта и восстановления поврежденных клеток и тканей, строительных блоков, в случае реестра, если части баз данных, содержащих информацию, необходимую для загрузки или восстановления системы повреждены, о самостоятельном ремонте не может быть и речи.
Однако к счастью, вы можете восстанавливать и ремонтировать реестр извне, даже сбросить его до более раннего состояния или вовсе стереть и начать все с нуля.
Что такое реестр 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 32Config и состоят из следующего:
- SAM (Security Accounts Manager)
- SECURITY
- SOFTWARE
- SYSTEM
- DEFAULT
- USERDIFF (used only for OS upgrades)
Кроме того, каждый пользователь имеет свои собственные файлы реестра:
- %userprofile%ntuser.dat
- %userprofile%AppDataLocalMicrosoftWindowsUsrClass.dat
Первый из этих файлов, файл ntuser.dat содержит основное программное обеспечение пользователя, настройки и параметры его конфигурации. Второй, UsrClass.dat, содержит дополнительные параметры, такие как взаимосвязь пользовательских файлов и информация о COM (модель составных объектов).
Файлы реестра в двоичном формате и не могут быть прочитаны без специального программного обеспечения. Это их отличает от .REG файлов, которые для просмотра и редактирования администраторами можно экспортировать из редактора реестра Windows.
Ключи и значения реестра
Реестр, если смотреть в целом, разделен на пять основных разделов или групп. Это помогает организовать различные ключи и папки в реестре, сделать их легко управляемыми.
Когда вы изменяете или создаете элементы в реестре вы создаете ключи и значения, но кФайлы реестра Windowsаковы между ними различия?
Примечание. Ключи реестра представляют собой контейнеры, которые содержат значения для программного и аппаратного обеспечения или операционной системы Windows. Ключи могут рассматриваться в качестве папки, в которой значения — отдельные файлы. Вы можете перемещаться по ключам с помощью иерархии типов папки. Значения — это своеобразные гайки и болты реестра.
Это параметры, целые числа и строки, содержащие данные и информацию, которая поможет загрузить Windows, и эффективно работать с вашим оборудованием и приложениями.
HKEY_CLASSES_ROOT (HKCR)
Этот раздел хранит информацию о зарегистрированных приложениях OLE-объектах ID классов и ассоциации файлов. Иногда вы можете увидеть его сокращенно, раздел HKCR. Он добавляет дубликаты ключей в уже существующий подраздел HKEY_CURRENT_USERSoftwareClasses, и Windows будет использовать подраздел HKEY_CURRENT_USERSoftwareClasses как основной.
HKEY_CURRENT_USER (HKCU)
Этот раздел содержит параметры конфигурации профиля пользователя, в том числе расположение на диске пользовательских папок, настройки панели управления, и конкретные параметры конфигурации приложений.
HKEY_LOCAL_MACHINE (HKLM)
Этот раздел содержит все характерные для ПК, на котором установлена Windows настройки. Он содержит файлы SAM, SECURITY, SYSTEM и SOFTWARE. Пятый файл, HARDWARE, каждый раз при запуске компьютера создается заново и содержит информацию об обнаруженном оборудовании.
А также этот раздел содержит находящиеся в
%systemroot%System 32config файлы 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_MACHINESoftwareWOW6432Node.
.REG-файлы
.REG-файлы отличаются от файлов реестра по нескольким важным направлениям. Во-первых, хотя они хранят ключи и значения реестра, они предназначены для резервного копирования и переноса между ПК, и установке Windows из этих значений и ключей. Кроме того, .REG-файлы, в отличие от файлов базы данных реестра, которые содержат двоичную систему, хранятся в текстовом формате ASCII.
.REG-файлы открываются автоматически (или, по крайней мере, должны если все правильно установлено и организовано) при двойном нажатии в редакторе реестра Windows.
Вы можете .REG-файлами, в самом редакторе реестра, экспортировать весь реестр или отдельные его ключи.
А также вы можете вручную редактировать содержимое .REG файла в Windows блокноте или любом другом текстовом файловом редакторе. Щелкните правой кнопкой мыши по .REG файлу в проводнике, в появившемся контекстном меню откройте опцию «редактировать».

В примере на рисунке указан ключ HKEY_CURRENT_USERControl PanelDesktopWindowMetrics, и он здесь выделен потому, что включает в себя дополнение к конфигурации по умолчанию.
В конце ключа находится раздел под названием «MinWidth», который имеет численное значение 54. Этот ключ изменяет поведение значков на панели задач Windows (не группировать), так, чтобы значки программ, при запуске нескольких экземпляров, отображались раздельно, но без их подписей.
В целом, хотя реестр Windows — это огромный раздутый бегемот с тысячами сложных двоичных, шестнадцатеричных и ASCII значений и кодов, он довольно прост в работе.
Related posts:
- Основы реестра Windows
- Создание и применение твиков реестра Windows
- Устранение повреждений системного реестра
- Инструменты и утилиты реестра Windows
Источник: datbaze.ru
Таблица реестра
Таблица Реестр содержит сведения о реестре, которые приложение должно задать в системном реестре.
Таблица Registry содержит следующие столбцы.
| Реестр | Идентификатор | Да | N |
| Root | Целое число | N | Нет |
| Ключ | RegPath | N | Нет |
| Имя | Форматированные | Нет | Да |
| Значение | Форматированные | Нет | Да |
| Компонент_ | Идентификатор | N | Нет |
Столбцы
Первичный ключ, используемый для идентификации записи реестра.
Предопределенный корневой раздел для значения реестра. Введите значение -1 в этом поле, чтобы корневой ключ зависел от типа установки. Введите одно из других значений в следующей таблице, чтобы принудительно записать значение реестра в определенный корневой раздел.
| (нет) | — 0x001 | -1 | Если это установка для каждого пользователя, значение реестра записывается в HKEY_CURRENT_USER. Если это установка для каждого компьютера, значение реестра записывается в HKEY_LOCAL_MACHINE. Обратите внимание, что установка для каждого компьютера определяется путем установки свойства ALLUSERS значения 1. |
| msidbRegistryRootClassesRoot | 0x000 | HKEY_CLASSES_ROOT Установщик записывает или удаляет значение из куста HKCUSoftwareClasses во время установки в контексте установки на пользователя. Установщик записывает или удаляет значение из куста HKLMSoftwareClasses во время установки для каждого компьютера. |
|
| msidbRegistryRootCurrentUser | 0x001 | 1 | HKEY_CURRENT_USER |
| msidbRegistryRootLocalMachine | 0x002 | 2 | HKEY_LOCAL_MACHINE |
| msidbRegistryRootUsers | 0x003 | 3 | HKEY_USERS |
Обратите внимание, что рекомендуется, чтобы записи реестра, записанные в куст HKCU , ссылались на компонент с битом RegistryKeyPath в столбце Атрибуты таблицы Компонент. Это гарантирует, что установщик записывает необходимые записи реестра при наличии нескольких пользователей на одном компьютере.
Локализуемый раздел для значения реестра.
Этот столбец содержит имя значения реестра (локализуемое). Если имеет значение Null, данные, введенные в столбец Значение, записываются в раздел реестра по умолчанию.
Если столбец Value имеет значение Null, строки, показанные в следующей таблице в столбце Имя, имеют особое значение.
| + | Ключ создается при его отсутствии при установке компонента. |
| — | При удалении компонента необходимо удалить ключ со всеми его значениями и подразделами, если он имеется. |
| * | Ключ создается при его отсутствии при установке компонента. Кроме того, при удалении компонента необходимо удалить ключ со всеми его значениями и подразделами, если он имеется. |
Обратите внимание, что таблица RemoveRegistry должна использоваться при удалении установленного раздела реестра со значениями и подразделами при установке компонента.
Этот столбец является локализуемым значением реестра. Поле форматировано. Если значение присоединено к одному из следующих префиксов (т. е. #%value), то значение интерпретируется так, как описано в таблице . Обратите внимание, что каждый префикс начинается со знака номера (#). Если значение начинается с двух или более последовательных числовых знаков (#), первый знак #игнорируется, а значение интерпретируется и сохраняется как строка.
| #x | Значение интерпретируется и сохраняется как шестнадцатеричное значение (REG_BINARY). |
| #% | Значение интерпретируется и сохраняется как расширяемая строка (REG_EXPAND_SZ). |
| # | Значение интерпретируется и сохраняется как целое число (REG_DWORD). |
- Если значение содержит тильду последовательности [~], то значение интерпретируется как список строк с разделителями NULL (REG_MULTI_SZ). Например, чтобы указать список, содержащий три строки a, b и c, используйте «a[~]b[~]c».
- Последовательность [~] в значении разделяет отдельные строки и интерпретируется и сохраняется как символ NULL.
- Если [~] предшествует списку строк, строки должны быть добавлены к любым существующим строкам значений реестра. Если добавляемая строка уже имеется в значении реестра, исходное вхождение строки удаляется.
- Если [~] следует за концом списка строк, строки должны быть перед любыми существующими строками значений реестра. Если строка в начале уже есть в значении реестра, исходное вхождение строки удаляется.
- Если [~] находится как в начале, так и в конце или ни в начале, ни в конце списка строк, строки должны заменить все существующие строки значений реестра.
- В противном случае значение интерпретируется и сохраняется как строка (REG_SZ).
Внешний ключ в первом столбце таблицы Component , ссылающийся на компонент, управляющий установкой значения реестра.
Комментарии
Сведения о реестре записываются в системный реестр, когда выбран соответствующий компонент для локальной установки или запуска из источника.
Обратите внимание, что установщик удаляет раздел реестра после удаления последнего значения или подраздела в разделе. Чтобы предотвратить удаление пустого раздела реестра при удалении, запишите фиктивное значение в разделе, который необходимо сохранить, и введите + в столбце Имя. Если * находится в столбце Имя, при удалении компонента ключ удаляется со всеми его значениями и подразделами.
Настраиваемое действие можно использовать для добавления строк в таблицу реестра во время установки, удаления или восстановления транзакции. Эти строки не сохраняются в таблице Реестра, и информация доступна только во время текущей транзакции. Следовательно, настраиваемое действие должно выполняться в каждой транзакции установки, удаления или восстановления, которая требует наличия сведений в этих дополнительных строках. Настраиваемое действие должно выполняться перед действиями RemoveRegistryValues и WriteRegistryValues в последовательности действий.
Источник: learn.microsoft.com
Основы работы с реестром Windows
Прежде чем перейти к делу, нужно определиться с терминологией. В статьях о твиках реестра, размещенных на сайте автоустановки, используется официальная терминология Microsoft, поэтому термины вполне соответствуют элементам редактора реестра.

Рисунок 1 — Редактор реестра
![]() |
Разделы реестра |
![]() |
Параметры реестра |
![]() |
Значения параметров |
Как видите, здесь нет никаких «веток» и «ключей». Теперь к делу.
REG-файл
REG-файл — это текстовый файл с расширением REG, составленный в определенном формате.
Формат REG-файла
Ниже приводится пример REG-файла, отключающего меню недавних документов.
Windows Registry Editor Version 5.00
;Отключить меню недавних документов
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer]
«NoRecentDocsMenu»=hex:01,00,00,00
Создание REG-файла
Создать REG-файл очень просто. Скопируйте код в любой текстовый редактор (например, Блокнот). Нажмите CTRL+S и сохраните файл с любым именем и расширением .reg, заключая оба в кавычки.

Рисунок 2 — Создание REG-файла
Синтаксис REG-файла
- Windows Registry Editor Version 5.00 — заголовок файла, являющийся его неотъемлемой частью. Также в качестве заголовка вы можете встретить REGEDIT4 — это формат Windows 98 / NT 4.0, который впрочем поймут и более новые операционные системы Windows. Подробнее о различиях в форматах можно прочитать на сайте JSO FAQ (на английском языке).
- ;Отключить меню недавних документов — комментарий. Все строки, начинающиеся с ; (точка с запятой) представляют собой комментарии.
- [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer] — это раздел реестра. Графически (в редакторе реестра) он представляет собой путь к параметру. В формате REG-файлов разделы всегда заключаются в квадратные скобки. В этом примере (под)раздел Explorer принадлежит разделу HKEY_CURRENT_USER.
- «NoRecentDocsMenu»=hex:01,00,00,00 — параметр реестра и его значение. В зависимости от значения параметра, меняется поведение операционной системы или объекта. Многие параметры можно настроить в графическом интерфейсе операционной системы, но далеко не все. В таких случаях для изменения параметра используют редакторы реестра, твикеры или REG-файлы.
В REG-файле может содержаться несколько разделов и параметров реестра, но заголовок используется только в самом начале.
Windows Registry Editor Version 5.00
;Отключить перезагрузку в случае BSOD
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCrashControl]
«AutoReboot»=dword:00000000
;Отключить уведомление на экране приветствия о непрочитанных сообщениях
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUnreadMail]
«MessageExpiryDays»=dword:00000000



