Опишите иерархическую структуру реестра расположение файлов реестра на диске
Редактор реестра – инструмент, предназначенный для просмотра и изменения параметров в системном реестре, в котором содержатся сведения о работе компьютера.
Способы открытия редактора реестра описаны в разделе Открытие реестра данного руководства.
Восстановление реестра из резервной копии (Импорт)¶
Чтобы импортировать сохраненный файл реестра, достаточно дважды нажать левой кнопкой мыши по файлу с расширением .reg .
- Открыть редактор реестра;
- В меню «Файл» выбрать пункт «Импортировать файл реестра»;
- В меню открытия файлов найти файл, который следует импортировать, выделить его и нажать кнопку «Открыть».
Операции экспорта и импорта используются не только для создания резервных копий. Практическое использование данных функций рассмотрено в главе Практические приёмы работы с Реестром данного руководства.
Как войти в Редактор реестра.
Чтобы найти и увидеть файлы, входящие в состав реестра, воспользуйтесь программой Редактор реестра вызвав ее через диалоговое окно « Выполнить ». Нажмите комбинацию Win+R → в строку открыть впишите regedit → нажмите OK .
Далее появится предупреждение Контроля учетных записей, где необходимо подтвердить разрешение на внесение изменений нажатием кнопки Да .
Перед вами появится Редактор реестра.
Редактор можно запустить с панели задач. Для этого в нижней левой части экрана нажмите Поиск (значок в виде лупы) и введите regedit .
Вам будут предложены действия, которые можно выполнить. Нажмите Открыть или Перейдите к расположению файла (вы будете направлены в Папку с ярлыками системных программ, отсюда и можно запустить Редактор реестра).
Программу regedit можно найти на диске, где установлена система. В нашем случае заходим на диск С → находим папку Windows → приложение regedit . Путь будет выглядеть следующим образом C:\Windows\regedit . Запустите программу двойным нажатием левой кнопки мыши.
Помимо стандартных способов просмотра и управления файлами реестра можно воспользоваться сторонними программами, которые имеют такие полезные функции как сканирование, ручная и автоматическая очистка, исправление ошибок и другие.
Права доступа (Разрешения)¶
Прав доступа может не быть по нескольким причинам:
- У текущего пользователя, залогиненного в системе, нет прав администратора;
- Группа «Администраторы» является владельцем раздела, но не имеет полных прав на него. В этом случае достаточно просто выдать группе «Администраторы» полные права.
- Владельцем раздела является системная служба TrustedInstaller.
- Владельцем раздела является системная учетная запись «Система».
В первом случае необходимо обращаться к системному администратору, чтобы он предоставил доступ к учетной записи администратора или дал администраторские права пользователю.
Во втором случае необходимо присвоить полные права и сменить владельца.
Создание резервной копии реестра (Экспорт)¶
Прежде чем вносить изменения в реестр, рекомендуется выполнить экспорт и создать его резервную копию. Можно сделать резервную копию как всего реестра в целом, так и отдельных разделов и подразделов. Позже эту резервную копию можно импортировать, чтобы отменить внесенные изменения.
Перед внесением каких-либо изменений в реестр всегда создавайте его резервную копию!
Чтобы создать полную копию реестра необходимо:
- Запустить редактор реестра, как это описано выше;
- Оставаясь в корне реестра открыть меню «Файл» и выбрать пункт «Экспорт…»;
- Выбрать место, где будет сохранена резервная копия, и указать «Имя файла»;
- Нажать на кнопку «Сохранить».
Чтобы сэкономить место, можно сделать резервную копию отдельного раздела или подраздела. Для этого необходимо нажать правой кнопкой мыши на раздел (подраздел) и в выпадающем меню выбрать пункт «Экспорт…». Также можно просто перейти в нужный раздел (подраздел) и выбрать меню «Файл → Экспорт…».
Рис. 5 – Экспорт веток реестра. Создание резервной копии.
Экспортированный файл будет иметь расширение .reg .
Экспортированные из реестра файлы с расширением .reg являются простыми текстовыми файлами, их можно открыть любым простым текстовым редактором (Notepad++, Блокнот).
Открытие реестра¶
Поскольку файлов в реестре несколько, его нельзя открыть, например, в текстовом редакторе и внести какие-либо коррективы. Для работы с ним требуется специальная программа – редактор реестра, который является встроенным компонентом операционной системы Windows и вызывается путем ввода команды Regedit [4].
Существует несколько способов открыть редактор реестра.
Способ №1 – Открытие через утилиту «Выполнить»:
- Выбрать Пуск → Выполнить, либо нажать сочетание клавиш Win+R ( Win — клавиша, между Ctrl и Alt в нижнем ряду клавиатуры, обычно на ней изображен значок Microsoft Windows ;
- В открывшимся окне ввести команду regedit ;
- Нажать клавишу ОК .
Рис. 1 – Открытие через утилиту «Выполнить»
Способ №2 – Открытие через поиск по меню «Пуск»:
- Открыть меню Пуск;
- Ввести в строке поиска regedit и запустить найденный файл, который отобразится в верхней части Пуска.
Рис. 2 – Открытие через поиск по меню «Пуск»
С другими способами можно ознакомиться в статье Три способа открыть редактор реестра Windows.
Получение полных прав и смена владельца¶
- Нажать правой кнопкой мыши на раздел и выбрать пункт «Разрешения»;
Рис. 10 – Вызов диалога работы с разрешениями
- Если доступен флажок «Полный доступ», установить его и нажать кнопку «ОК. Этого может оказаться достаточно, если группа является владельцем раздела.
Рис. 11 – Открытие Полного доступа гурппам и пользователям
- В меню разрешений нажать кнопку «Дополнительно»;
Рис. 12 – Добавление или смена владельца
Перейти на вкладку «Владелец» и добавить текущего пользователя;
Рис. 13 – Выбор владельца
На вкладке «Разрешения» нажать кнопку «Добавить»;
Рис. 14 – Добавление разрешений владельцу
В поле «Введите имена выбираемых объектов» ввести имя текущей учетной записи и нажать кнопку «Проверить имена», затем нажать «ОК»;
Рис. 15 – Ввод имени выбираемых объектов
Рис. 16 – Проверка имен
Появится диалог разрешений. Поставить галочку напротив «Полный доступ» и нажать «ОК»;
Рис. 17 – Установка полного доступа текущему владельцу
После добавления владельца и назначения прав нажать клавишу F5 или «Вид → Обновить». Напротив непустого раздела появится треугольник, который означает, что у текущего пользователя есть права на доступ в него.
Рис. 18 – Доступ к подразделам
На рисунке 18 видно, что у текущего пользователя есть доступ к подразделу Keys , но нет прав на открытие разделов KeyDevices и Random . Треугольника напротив подраздела может не быть, если данный подраздел пуст.
В Windows 8 и выше порядок работы с диалогом смены и добавления владельца немного отличается – владелец выбирается сверху.
Рис. 19 – Выбор/смена владельца в Windows 8 и выше [11]
Ручное добавление владельцев и прав доступа удобно, если нужно получить доступ всего к нескольким разделам. Если нужно получить доступ к большому количеству разделов, то гораздо целесообразнее воспользоваться утилитой PsExec.exe . Работа с данной утилитой рассматривается в разделе Работа через утилиту PsExec .
Каких типов бывают параметры реестра.
Раздел и подраздел может состоять из ноля, одного или нескольких параметров. У каждого параметра есть - имя, тип и значение и все эти части параметра всегда располагаются в названном строго определённом прядке. Например, [WallppaperOriginX] [REG_DWORD] [0x0000000 (0)] .
В данной статье рассмотрены общие сведения о реестре операционной системы Windows.
Реестр Windows (Windows Registry, системный реестр) — это иерархическая (древовидная) база данных, содержащая записи, определяющие параметры и настройки операционных систем Microsoft Windows.
Реестр в том виде, как он выглядит при просмотре редактором реестра, формируется из данных, источниками которых являются файлы реестра и информация об оборудовании, собираемая в процессе загрузки. В описании файлов реестра на английском языке используется термин Hive. В документации от Microsoft этот термин переводится как Куст.
Структура реестра.
Структура реестра организована в виде иерархической модели. Верхний уровень реестра представлен разделами, которые включают подразделы и параметры. Параметры – это те, данные необходимые для работы ОС или программ, представленные файлами. Для их упорядочения используются разделы.
Ниже представим названия стандартных разделов реестра и их краткое назначение.
HKEY_CLASSES_ROOT или HKCR – важный раздел реестра, защищенный от редактирования, содержит основную информацию о файлах.
HKEY_CURRENT_USER или HKCU – здесь хранится информация о пользователе, под которым осуществляется вход в систему (личные папки, параметры персонализации и т.д.).
HKEY_LOCAL_MACHINE или HKLM – важный раздел реестра и самый большой по своему объему. Здесь содержатся аппаратные настройки всей системы (драйвера, параметры ОС).
HKEY_USERS или HKU – раздел, содержащий данные о профилях пользователей и профиле по умолчанию.
HKEY_CURRENT_CONFIG или HKCC – раздел с данными о конфигурации используемого оборудования при запуске системы. По сути не является полноценным разделом, т.к. является ссылкой на раздел HKLM.
Для того чтобы увидеть подразделы корневых папок, нажмите на стрелочку, которая покажет параметры и их значение.
Что такое реестр и зачем он нужен.
Реестр Windows представлен в виде иерархично организованной базы данных, где хранятся параметры и настройки всех установленных на компьютер программ, служб и операционной системы в целом (например, профили конкретных пользователей или информация об установленном устройстве). При запуске или работе в каком-либо приложении ОС обращается к данным реестра, так как именно в нем записаны все необходимые для работы данные. Даже сам запуск ПК невозможен без обращения к данным системного реестра.
Разработчики ОС Windows намеренно скрыли файлы реестра от глаз рядового пользователя, т.к. любые действия (изменение, удаление) могут привести к необратимым последствиям всей системы.
Чтобы не нарушить нормальную работу вашего компьютера с ОС Windows 10 не удаляйте записи из реестра пока не убедившись в их вредоносности либо неактуальности.
Для того чтобы избежать нежелательного вмешательства в реестр опытные пользователи могут воспользоваться способом описанном в статье «Как запретить использование редактора реестра (regedit.exe)».
Файлы реестра на жестком диске¶
Основные файлы, отвечающие за формирование реестра хранятся в папке %SystemRoot%\System32\Config\ . Обычно это C:\Windows\System32\Config\ и в зависимости от версии ОС их состав может несколько различаться.
Файл, хранящий личные настройки пользователя, «скрыт» в папке соответствующей учетной записи, например, в C:\Documents and Settings\Dmitry . Также файлы, отвечающие за пользовательские настройки, могут храниться в:
- C:\Documents and Settings\%Username%\(Ntuser.dat) ;
- C:\Documents and Settings\%Username%\Local Settings\Application Data\Microsoft\Windows\ (UsrClass.dat) .
Еще есть резервные копии файлов реестра, созданные системой, хранятся они в
- C:\Windows\System32\config\RegBack – для Windows 7 и Server 2008;
- C:\Windows\repair – для XP и Server 2003.
По умолчанию операционная система делает резервные копии этих файлов раз в 10 дней с помощью планировщика задач.
Вспомогательные файлы для всех кустов за исключением HKEY_CURRENT_USER хранятся в системах Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003 и Windows Vista в папке %SystemRoot%\System32\Config .
Вспомогательные файлы для куста HKEY_CURRENT_USER хранятся в папке %SystemRoot%\Profiles\Имя_пользователя . Расширения имен файлов в этих папках указывают на тип содержащихся в них данных. Отсутствие расширения также иногда может указывать на тип содержащихся в файле данных.
Куст (дерево) реестра (англ. hive) - это группа разделов, подразделов и параметров реестра с набором вспомогательных файлов, содержащих резервные копии этих данных.
Куст реестра | Вспомогательные файлы |
---|---|
HKEY_LOCAL_MACHINE\SAM | Sam , Sam.log , Sam.sav |
HKEY_LOCAL_MACHINE\Security | Security , Security.log , Security.sav |
HKEY_LOCAL_MACHINE\Software | Software , Software.log , Software.sav |
HKEY_LOCAL_MACHINE\System | System , System.alt , System.log , System.sav |
HKEY_CURRENT_CONFIG | System , System.alt , System.log , System.sav , Ntuser.dat , Ntuser.dat.log |
HKEY_USERS\DEFAULT | Default , Default.log , Default.sav |
Например, кусту HKEY_LOCAL_MACHINE\Software соответствует на жестком диске файл C:\Windows\System32\config\SOFTWARE .
Реестр организован в виде иерархической структуры, подобной структуре, образуемой файлами и папками на диске. На рисунке 1 показана иерархическая структура реестра.
Определяющими для формирования структуры реестра являются такие понятия, как раздел (или ключ), параметр, тип параметра, ссылка, предопределенный ключ, ветвь, куст.
· Раздел (ключ)- это узел в иерархической структуре реестра (аналог папки в файловой системе). Разделы соответствуют программным или аппаратным объектам, либо их группам. Подразделы – это разделы внутри разделов более высокого уровня.
· Параметр - это лист в дереве реестра. Каждый раздел содержит один или несколько параметров. С параметром связано три элемента: имя, тип данных и значение. Параметр, имеющий имя «По умолчанию» (default), является обязательным (всегда присутствует в ключе)
· Тип параметра– одно из следующих значений:
· REG_SZ – строковое значение. Windows ХР интерпретирует его как
строку, заканчивающуюся нулевым байтом;
· REG_BINARY – двоичное значение, представляет собой последо-
вательность байт, задаваемых строкой шестнадцатеричных цифр.
Windows ХР интерпретирует каждую пару цифр как значение байта;
· REG_DWORD – 32-разрядное значение, задается последовательно-
стью от 1 до 8 шестнадцатеричных цифр;
· REG_MULTI_SZ – многострочное значение. Представляет собой
массив значений типа «строка символов». Каждая строка заканчива-
ется нулевым байтом;
· REG_EXPAJND_SZ – расширяемое строковое значение.Подобно
типу REG_SZ, но текст может содержать подставляемые перемен-
ные. Например, в строке %systemroot%\Config, Windows XP
заменит имя переменной среды systemroot на путь к папке
· REG_FULL_RESOURCE_DESCRIPTOR – список ресурсов. Хра-
нит список ресурсов для аппаратного компонента или драйвера.
Значения этого типа запрещено добавлять или модифицировать
· Предопределенный ключ - подраздел корневого узла «Мой компьютер» дерева реестра. Реестр Windows XP фактически содержит два поддерева: HKEY_LOCAL MACHINE и HKEY_USERS. Однако чтобы сделать информацию реестра более доступной для просмотра и поиска, корневой раздел содержит пять подразделов:
o 1) HKEY_LOCAL_MACHINE
o 2) HKEY_CLASSES_ROOT
o 3) HKEY_CURRENT_CONFIG
o 5) HKEY_CURRENT_USER
Три из них являются ссылками на внутренние узлы деревьев HKEY_LOCAL_MACHINE и HKEY_USERS. Это подразделы HKEY_CLASSES_ROOT, HKEY_CURRENT_CONFIG и HKEY_CURRENT_USER
· Куст - набор разделов, подразделов и параметров, имеющих один общий корень. Данные каждого куста сохраняются в соответствующем ему файле. Файлы кустов системного реестра ключа HKEY_LOCAL_MACHINE располагаются в %systemroot%\ System32\Config. Кроме того, Windows ХР записывает вносимые в куст изменения в файл с именем куста и расширением log, что га- рантирует целостность системного реестра. Данные ключа HKEY_USERS хранятся в папке Documents and Settings
Редактор системного реестра;
Большинству пользователей Windows XP никогда не потребуется доступ к реестру. Однако управление реестром представляет важную часть работы системного администратора и подразумевает просмотр, редактирование, резервное копирование и восстановление реестра. Для программиста также требуется время от времени обращаться к реестру. Для просмотра и изменения реестра используется утилита Редактор реестра (Registry Editor).
Хотя Редактор реестра и позволяет вручную любому пользователю редактировать реестр, он предназначен скорее для обнаружения и устранения неисправностей опытными пользователями – системными администраторами, разработчиками программ.
Рядовой пользователь большинство изменений параметров может осуществить через окна свойств для программ, либо через Панель управления (Control Panel), либо используя инструментальные средства администрирования. Однако некоторые параметры все же удается установить только непосредственно через реестр.
ВНИМАНИЕ! Редактор реестра работает напрямую с реестром. Он автоматически сохраняет данные сразу после их добавления или модификации. Новые данные реестра начинают действовать немедленно. Неправильное его использование может вызвать серьезные неисправности системы, в результате которых придется переустанавливать Windows XP. Перед обращением к Редактору для просмотра или редактирования данных используйте программы резервного копирования для сохранения резервной копии файлов реестра.
Во время установки системы программа Редактор реестра (Registry Editor) (REGEDT32.EXE) копируется в папку %systemroot%\System32. Однако поскольку у большинства пользователей нет необходимости использовать Редактор реестра, он недоступен через меню Пуск (Start). Для запуска Редактора реестра необходимо выбрать команду Выполнить (Run) в меню Пуск (Start) и ввести команду REGEDT32.EXE (или REGEDIT.EXE). После запуска программы появляется окно редактора, похожее на то, которое изображено на рисунке 1. В левой части окна отображается дерево разделов реестра, в правой – перечисляются параметры раздела, выбранного в левой части. Внизу находится строка состояния. В ней представлен путь к выбранному разделу.
Импорт и экспорт данных системного реестра;
Импорт и экспорт реестра с применением Редактора реестра.
Редактор реестра (программа Regedit.exe или Regedt32.exe) позволяет экспортировать весь реестр целиком либо отдельные его ключи. Для экспорта всего реестра необходимо выделить корневой узел (значок «Мой компьютер») и выполнить команду «Экспорт» в меню «Файл». Для экспорта части реестра делаем то же, только выбираем конкретный ключ. В результате будет получен файл экспорта реестра с расширением REG. Содержимое этого файла представляет структурированный определенным образом текст в формате ASCII, который можно читать и редактировать при помощи обычного текстового редактора.
Обратный процесс внесения данных в реестр выполняется посредством процедуры импорта reg-файла. Для этого достаточно сделать двойной щелчок по файлу с расширением REG либо выполнить команду «Импорт» в меню «Файл» программы Редактора реестра.
Предопределенные ключи системного реестра;
Предопределенный ключ - подраздел корневого узла «Мой компьютер» дерева реестра. Реестр Windows XP фактически содержит два поддерева: HKEY_LOCAL MACHINE и HKEY_USERS. Однако чтобы сделать информацию реестра более доступной для просмотра и поиска, корневой раздел содержит пять подразделов:
o 1) HKEY_LOCAL_MACHINE
o 2) HKEY_CLASSES_ROOT
o 3) HKEY_CURRENT_CONFIG
o 5) HKEY_CURRENT_USER
Три из них являются ссылками на внутренние узлы деревьев HKEY_LOCAL_MACHINE и HKEY_USERS. Это подразделы HKEY_CLASSES_ROOT, HKEY_CURRENT_CONFIG и HKEY_CURRENT_USER
Создание резервных копий и восстановление системного реестра;
Неверно установленный драйвер, удаление важного файла или повреждение реестра могут повлиять не только на устойчивость системы, но и на её работу вообще. И если в Windows XP по умолчанию запрещено изменение или удаление системного файла, а при некорректной установке драйвера можно восстановить систему до сохраненного ранее состояния, то повреждение реестра может потребовать даже переустановки системы. Необходимая мера безопасности – своевременное сохранение копий реестра на носителе.
Проблема, с которой встречается пользователь при попытке сохранения реестра, заключается в том, что Windows его постоянно использует и должна держать файлы открытыми. Данное обстоятельство делает невозможным восстановление реестра путем простого копирования файлов из резервной копии.
Рассмотрим возможные пути создания архивных копий и восстановления системных файлов:
1) использование функции «Восстановление системы», встроенной в
3) архивированиенеобходимых файлов.
Этот подход является более надежным и позволяет восстанавливать не только реестр, но и систему в целом.Встроенным в систему способом архивации данных является использование системной программы архивации ntbackup.exe, находящейся в папке %SystemRoot%\system32\. Запуск производится выбором команды в меню Пуск –> Все программы –> Стандартные –> Служебные –> Архивация Данных. При запуске появится окно, где необходимо выбрать пункт «МАСТЕР АРХИВАЦИИ». Запустившись, мастер предложит выбрать, что необходимо архивировать – все данные, данные выбранных файлов, либо данныесостояния системы. Необходимо выбрать последний пункт, при этом в архивебудут сохранены: реестр; база данных регистрации классов COM; загрузочныесистемные файлы; защищенные системные файлы Windows. Далее необходимоуказать расположение будущего архива и его название. Заметим, что для вы-полнения архивации необходимо обладать полномочиями администратора илиоператора архива. В режиме консоли для архивации используется командаntbackup backup systemstate;
4) создание резервной копии реестра простым копированием файлов, находящихся в папке %systemroot%\system32\config, в другое место.
При этом необходимо копировать файлы: Appevent.evt, Default,Default.Log, Default.Sav, SAM, SAM.log, Secevent.evt, Security,Security.Log, Software, Software.log, Software.Sav,Sysevent.Evt, System, System.Log, System.sav, Userdiff,Userdiff.log. Для восстановления нужно будет просто скопировать этифайлы обратно в папку config. Однако если файловой системой на системномдиске является NTFS, то восстановление будет возможно либо из другой копииWindows XP, установленной на этом же компьютере, либо из консоли восста-новления. В случае файловой системы FAT копирование файлов из архиваможно произвести, загрузившись под MS DOS;
5) импорт и экспорт реестра с применением Редактора реестра.
Редактор реестра (программа Regedit.exe или Regedt32.exe) позволяет экспортировать весь реестр целиком либо отдельные его ключи. Для экспорта всего реестра необходимо выделить корневой узел (значок «Мой компьютер») и выполнить команду «Экспорт» в меню «Файл». Для экспорта части реестра делаем то же, только выбираем конкретный ключ. В результате будет получен файл экспорта реестра с расширением REG. Содержимое этого файла представляет структурированный определенным образом текст в формате ASCII, который можно читать и редактировать при помощи обычного текстового редактора. Обратный процесс внесения данных в реестр выполняется посредством процедуры импорта reg-файла. Для этого достаточно сделать двойной щелчок по файлу с расширением REG либо выполнить команду «Импорт» в меню «Файл» программы Редактора реестра.
Взаимодействие реестра с операционной системой
При старте системы ядро системы извлекает из реестра сведения о загружаемых драйверах устройств и порядке их загрузки. Кроме того, программа Ntoskrnl.exe передает в реестр информацию о себе (напр. номер версии).
В процессе загрузки системы драйверы устройств обмениваются с реестром параметрами загрузки и конфигурационными данными. Драйвер устройства сообщает об используемых им системных ресурсах, включая аппаратные прерывания ( IRQ ) и каналы доступа к памяти ( DMA ), чтобы система могла включить эти данные в реестр.
Кстати, реестр позволяет создавать несколько аппаратных профилей. Аппаратный профиль (hardware profile) представляет собой набор инструкций, с помощью которого можно указать операционной системе, драйверы каких устройств должны загружаться при запуске компьютера. По умолчанию системой создается стандартный аппаратный профиль, который содержит информацию обо всех аппаратных средствах, обнаруженных на компьютере.
При входе пользователя в систему загружаются пользовательские профили (user profiles). Вся информация, относящаяся к конкретному имени пользователя и связанными с ним правами хранится в реестре. Пользовательский профиль определяет индивидуальные параметры настройки системы (разрешение дисплея, параметры сетевых соединений, подключенные устройства и многое другое). Информация о пользовательских профилях также хранится в реестре.
При установке приложений. Каждый раз при запуске программы установки происходит добавление в реестр новых конфигурационных данных. Начиная свою работу, все программы установки должны считывать информацию из реестра, чтобы определить, присутствуют ли в системе необходимые им компоненты. Кроме того, системный реестр позволяет приложениям совместно использовать конфигурационную информацию, что предоставляет им больше возможностей для взаимодействия. Приложение должно активно и правильно использовать реестр, а также иметь возможность корректного удаления, не затрагивая при этом компонентов, которые могут использоваться другими программами (библиотеки, программные модули и т. п.). Эта информация тоже хранится в реестре.
При администрировании системы. Когда пользователь вносит изменения в конфигурацию системы с помощью средств администрирования системы (например при помощиПанели управления или оснастки MMC ), все изменения сразу отражаются в системном реестре. По сути средства администрирования представляют собой наиболее удобные и безопасные средства модификации реестра. Кстати, к средствам администрирования можно отнести и редактор реестра (regedit.exe), ведь все изменения в систему можно вносить непосредственно правкой реестра.
В процессе загрузки и функционирования операционной системы выполняется постоянное обращение к данным реестра, как для чтения, так и для записи. Файлы реестра постоянно изменяются, поскольку не только система, но и отдельные приложения могут использовать реестр для хранения собственных данных, параметров и настроек. Другими словами, обращение к реестру - это одна из наиболее распространенных операций. Даже если пользователь не работает за компьютером, обращения к реестру все равно выполняются системными службами, драйверами и приложениями.
Нарушение целостности файлов реестра (нарушение структуры данных) или неверное значение отдельных критических параметров может привести к краху системы . Поэтому, прежде чем экспериментировать с реестром, позаботьтесь о возможности его сохранения и восстановления.
Структура реестра¶
Реестр имеет иерархическую структуру, которая напоминает файловую систему жесткого диска – с его каталогами, подкаталогами и файлами. Но называются элементы реестра по-другому: верхний уровень иерархии составляют разделы, каждый из которых может содержать вложенные подразделы, а также параметры. Именно в параметрах хранится основное содержимое реестра, разделы служат лишь для группировки схожих по назначению параметров [4].
Рис. 3 – Редактор реестра
Далее приведен краткий перечень и краткое описание стандартных разделов реестра. Максимальная длина имени раздела составляет 255 символов.
HKEY_CURRENT_USER
Данный раздел является корневым для данных конфигурации пользователя, вошедшего в систему в настоящий момент. Здесь хранятся папки пользователя, цвета экрана и параметры панели управления. Эти сведения сопоставлены с профилем пользователя. Вместо полного имени раздела иногда используется аббревиатура HKCU .
HKEY_USERS
Данный раздел содержит все активные загруженные профили пользователей компьютера. Раздел HKEY_CURRENT_USER является подразделом раздела HKEY_USERS . Вместо полного имени раздела иногда используется аббревиатура HKU .
HKEY_LOCAL_MACHINE
Раздел содержит параметры конфигурации, относящиеся к данному компьютеру (для всех пользователей). Наиболее интересным является подраздел Software , который включает в себя настройки всех установленных в системе приложений. Вместо полного имени раздела иногда используется аббревиатура HKLM .
HKEY_CLASSES_ROOT
Является подразделом HKEY_LOCAL_MACHINE\Software . Хранящиеся здесь сведения обеспечивают выполнение необходимой программы при открытии файла с использованием проводника. Вместо полного имени раздела иногда используется аббревиатура HKCR . Начиная с Windows 2000, эти сведения хранятся как в HKEY_LOCAL_MACHINE , так и в HKEY_CURRENT_USER .
Раздел HKEY_LOCAL_MACHINE\Software\Classes содержит параметры по умолчанию, которые относятся ко всем пользователям локального компьютера. Параметры, содержащиеся в разделе HKEY_CURRENT_USER\Software\Classes , переопределяют принятые по умолчанию и относятся только к текущему пользователю.
Раздел HKEY_CLASSES_ROOT включает в себя данные из обоих источников. Кроме того, раздел HKEY_CLASSES_ROOT предоставляет эти объединенные данные программам, разработанным для более ранних версий Windows. Изменения настроек текущего пользователя выполняются в разделе HKEY_CURRENT_USER\Software\Classes . Модификация параметров по умолчанию должна производиться в разделе HKEY_LOCAL_MACHINE\Software\Classes . Данные из разделов, добавленных в HKEY_CLASSES_ROOT , будут сохранены системой в разделе HKEY_LOCAL_MACHINE\Software\Classes . Если изменяется параметр в одном из подразделов раздела HKEY_CLASSES_ROOT и такой подраздел уже существует в HKEY_CURRENT_USER\Software\Classes , то для хранения информации будет использован раздел HKEY_CURRENT_USER\Software\Classes , а не HKEY_LOCAL_MACHINE\Software\Classes .
HKEY_CURRENT_CONFIG
Данный раздел содержит сведения о профиле оборудования, используемом локальным компьютером при запуске системы.
Реестр 64-разрядных версий Windows подразделяется на 32- и 64-разрядные разделы. Большинство 32-разрядных разделов имеют те же имена, что и их аналоги в 64-разрядном разделе, и наоборот. По умолчанию редактор реестра 64-разрядных версий Windows отображает 32-разрядные разделы в следующем узле: HKEY_LOCAL_MACHINE\Software\WOW6432Node
Основные файлы, отвечающие за формирование реестра
Файлы реестра создаются в процессе установки операционной системы и хранятся в папке:
%SystemRoot%\\system32\\config (обычно C:\\windows\\system32\\config).
Для операционных систем Windows это файлы с именами:
- system
- software
- sam
- security
- default
- components
- bcd-template
В операционных системах Windows Vista, Windows 7, Windows8, Windows 8.1, Windows 10, файлы реестра располагаются в каталоге \\Windows\\system32\\config и имеют такие же имена, однако в этих операционных системах добавился новый раздел реестра для хранения данных конфигурации загрузки (Boot Configuration Data) с именем BCD00000000 .
Файл с данными этого раздела имеет имя bcd и находится в скрытой папке Boot активного раздела (раздела, с которого выполняется загрузка системы).
Обычно, при стандартной установке Windows, создается активный раздел небольшого размера (от 100 до 500 мегабайт в зависимости от операционной системы), который скрыт от пользователя и содержит только служебные данные для загрузки системы – загрузочные записи, менеджер загрузки bootmgr , хранилище конфигурации загрузки BCD , файлы локализации и программы тестирования памяти
Расположение куста bcd зависит от того, как сконфигурирован загрузчик системы при ее установке, и может находиться на том же разделе, где и каталог Windows.
Место расположения файлов реестра в любой версии Windows можно просмотреть с помощью редактора реестра, в разделе:
В этом разделе хранится информация о всех кустах, включая пользовательские профили, со ссылками на их расположение в файловой системе Windows.
История.
Впервые в Windows 3.1 была применена древовидная система организации данных (1992 год). Правда реестр состоял всего из одной ветки. Тогда же и появилась программа Regedit (позволяющая просматривать и редактировать реестр).
Следующая версия реестра вышла в 1993 году и предназначалась для работы Windows NT 3.1. Реестр содержал уже 4 раздела.
В дальнейшем назначение реестра не менялось. Реестр использовался в качестве основной базы данных для ОС и программ. Изменениям в реестре подвергались лишь названия файлов, а также их местоположение.
Структура реестра
Реестр Windows имеет древовидную структуру и состоит из 5 основных разделов реестра:
HKEY_LOCAL_MACHINE (HKLM) — самый большой раздел реестра. В нем сосредоточены все основные настройки операционной системы, а также аппаратного и программного обеспечения компьютера. Информация, содержащаяся в этом разделе, применяется ко всем пользователям, регистрирующимся в системе.
Раздел HKEY_LOCAL_MACHINE\\Software\\Classes содержит параметры по умолчанию, которые относятся ко всем пользователям локального компьютера. Параметры, содержащиеся в разделе HKEY_CURRENT_USER\\Software\\Classes, переопределяют принятые по умолчанию и относятся только к текущему пользователю. Раздел HKEY_CLASSES_ROOT включает в себя данные из обоих источников.
HKEY_USERS (HKU) — содержит настройки среды для каждого из загруженных пользовательских профилей, а также для профиля по умолчанию. В HKEY_USERS находится вложенный раздел \\Default, а также другие подразделы, определяемые идентификатором безопасности (Security ID, SID) каждого пользователя.
HKEY_CURRENT USER (HKCU) — cодержит настройки среды для пользователя, на данный момент зарегистрировавшегося в системе (переменные окружения, настройки рабочего стола, параметры сети, приложений и подключенных устройств).
Этот раздел дублирует информацию в HKEY_USERS\\user SID, где user SID — идентификатор безопасности пользователя, зарегистрировавшегося в системе на текущий момент (узнать SID текущего пользователя можно, набрав в командной строке whoami /user).
HKEY_CURRENT_ CONFIG (HKCC) — cодержит настройки для текущего аппаратного профиля. Текущий аппаратный профиль включает в себя наборы изменений, внесенных в стандартную конфигурацию устройств, заданную в подразделах Software и System корневого раздела HKEY LOCAL_MACHINE.
В HKEY_CURRENT_CONFIG отражаются только изменения. Кроме того, информация этого раздела находится в HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\HardwareProfiles\\Current.
Данные в реестре хранятся в виде параметров, расположенных в ключах реестра. Каждый параметр характеризуется именем, типом данных и значением.
Добавление и удаление элементов¶
Для создания разделов, подразделов и параметров, необходимо перейти в меню «Правка → Создать» и выбрать необходимый тип создаваемого элемента. Либо нажать правой кнопкой мыши и в появившемся меню выбрать пункт «Создать».
Рис. 22 – Создание разделов, подразделов и параметров
Более подробную информацию о типах параметров смотрите в статье Сведения о реестре Windows для опытных пользователей.
© Copyright 2015, Dmitry Mazhartsev. Revision 6bfe9488 .
Versions latest Downloads htmlzip epub On Read the Docs Project Home Builds Free document hosting provided by Read the Docs.
Реестр Windows (англ. Windows Registry), или системный реестр — иерархически построенная база данных параметров и настроек в большинстве операционных систем семейства Microsoft Windows [2].
В реестре хранятся данные, которые необходимы для правильного функционирования Windows. К ним относятся профили всех пользователей, сведения об установленном программном обеспечении и типах документов, которые могут быть созданы каждой программой, информация о свойствах папок и значках приложений, а также установленном оборудовании и используемых портах [1].
Загрузка и выгрузка куста¶
Допустим, имеется жесткий диск с нерабочего компьютера. Чтобы получить доступ к определенным веткам реестра, который хранится на этом жестком диске, необходимо:
- Подключить жесткий диск к рабочему компьютеру;
- Открыть реестр на рабочем компьютере;
- Выбрать необходимую ветку реестра;
Рис. 6 – Выбор ветки
Рис. 7 – Выбор ветки
- В файловом менеджере выбрать соответствующий файл куста с нерабочего компьютера;
Рис. 8 – Выбор ветки
Рис. 9 – Присвоение произвольного имени разделу
В соответсвии с примером, в ветку HKEY_LOCAL_MACHINE работающего компьютера была загружена ветка HKEY_LOCAL_MACHINE\Software с неработающего компьютера.
Для загрузки других веток реестра, необходимо выбирать соответствующие файлы на жестком диске. Таблица соответсвия веток реестра и файлов на жестком диске приведена в главе Файлы реестра на жестком диске данного руководства.
Также допустимо скопировать папку C:\Windows\System32\config\ на обыкновенную флешку и загружать требуемые кусты с нее.
При работе с загруженными кустами есть нюанс, который заключается в разрешениях (правах) на доступ к тем или иным разделам. Подробнее о разрешениях написано в разделе Права доступа (Разрешения) данной главы.
Более простой способо обойти подводные камни с разрешениями на ветки заключается в использовании утилиты psexec.exe , работа с которой описана в разделе Работа через утилиту PsExec .
После завершения работы с загруженными кустами, их желательно выгрузить. Для этого необходимо перейти в «Файл → Выгрузить куст».
Где хранится файл реестра.
Чтобы найти непосредственно место хранения файлов реестра перейдите C:\Windows\System32\Config\ . Файлы формирующие реестр %SystemRoot%\System32\config хранятся по указанному пути.
Доступ к этим файлам ограничен в целях защиты от случайного изменения или удаления.
В ранее существовавших ОС Windows была реализована возможность автоматического создания резервных копий реестра. Действие это осуществлялось автоматически раз в 10 дней. Применительно же к Winidows 10 версия 1803 с мая 2018 года бекап реестра создавался с нулевым размером, а в версии 1809 был полностью отключен и пользователю теперь необходимо самостоятельно создавать резервную копию реестра на случай если он будет поврежден и его нужно будет восстановить. О том, как создать точку восстановления в Windows 10 читайте в этой статье.
Основные типы данных, применяемые в реестре
REG_DWORD — 32-х разрядное число. Этот тип данных используют многие параметры драйверов устройств и сервисов. Редакторы реестра могут отображать эти данные в двоичном, шестнадцатеричном и десятичном формате.
REG_SZ — Текстовая строка в формате, удобном для восприятия человеком. Значениям, представляющим собой описания компонентов, обычно присваивается именно этот тип данных.
REG_EXPAND_SZ — Расширяемая строка данных. Эта строка представляет собой текст, содержащий переменную, которая может быть заменена при вызове со стороны приложения, например, используется для записи переменных окружения.
REG_MULTI_SZ — Многострочное поле. Значения, которые фактически представляют собой списки текстовых строк в формате, удобном для восприятия человеком, обычно имеют этот тип данных. Строки разделены символом NULL.
REG_BINARY — Двоичные данные. Большинство аппаратных компонентов используют информацию, которая хранится в виде двоичных данных. Редакторы реестра отображают эту информацию в шестнадцатеричном формате.
REG_RESOURCE_LIST — Список аппаратных ресурсов. Применяется только в ветви HKEY_LOCAL_MACHINE\\HARDWARE.
Также иногда можно встретить такие типы данных реестра:
- REG_RESOURCE_ REQUIREMENTS_LIST — Список необходимых аппаратных ресурсов. Применяется только в ветви HKEY_LOCAL_MACHINE\\HARDWARE.
- REG_FULL_RESOURCE_ DESCRIPTOR — Дескриптор (описатель) аппаратного ресурса. Применяется только в ветви HKEY_LOCAL_MACHINE\\HARDWARE.
- REG_LINK — Символическая ссылка Unicode. Этот тип данных интересен тем, что позволяет одному элементу реестра ссылаться на другой ключ или параметр.
- REG_QWORD — 64-х разрядное число.
- REG_DWORD_ LITTLE_ENDIAN — 32-разрядное число в формате «остроконечников» (little-endian), эквивалент REG_DWORD .
- REG_DWORD_BIG_ ENDIAN — 32-разрядное число в формате «тупоконечников» (big-endian).
- REG_QWORD_LITTLE_ ENDIAN — 64-разрядное число в формате «остроконечников». Эквивалент REG_QWORD .
- REG_NONE — Параметр не имеет определенного типа данных.
Работа через утилиту PsExec¶
Для запуска редактора реестра с полными правами от имени системы можно воспользоваться программой PsExec.exe.
-
утилиту PsExec.exe и скопируйте в корень диска C .
- Запустите командную строку от имени администратора. «Пуск → Выполнить → cmd».
- Введите в командную строку команду:
Запустится редактор реестра от имени системы, что задается параметром -s (параметр -i обеспечивает интерактивный запуск приложения)[11].
- Меню «Пуск → Панель управления»;
- «Учетные записи пользователей → Изменение параметров контроля учетных записей»;
- Сдвинуть ползунок до самого низа — «Никогда не уведомлять»;
- Перезагрузить компьютер.
Рис. 20 – Отключение параметров контроля учетных записей (UAC)
В Windows Vista в диалоговом окне «Пуск → Панель управления → Учетные записи пользователей → Включение и отключение контроля учетных записей» снять галочку «Используйте контроль учетных записей для защиты компьютера».
В Windows 8 и выше для полного отключения контроля учетных записей (UAC) необходимо в реестре в ветке HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System присвоить параметру EnableLUA значение 0 .
Рис. 21 – Отключение параметров контроля учетных записей (UAC) в Windows 8 и выше
После отключения параметров контроля учетных записей (UAC) необходима перезагрузка.
Поиск в реестре¶
Для быстрого доступа к параметром можно воспользоваться функцией поиска по реестру, которая находится в меню «Правка → Найти» ( Ctrl+F ).
Для перемещения между найденными значениями используется «Правка → Найти далее» ( F3 ).
Читайте также: