Стиль этой статьи неэнциклопедичен или нарушает нормы русского языка. |
Реестр Windows (англ. Windows Registry), или системный реестр — иерархически построенная база данных параметров и настроек в большинстве операционных систем Microsoft Windows.
Реестр содержит информацию и настройки для аппаратного обеспечения, программного обеспечения, профилей пользователей, предустановки. Большинство изменений в Панели управления, ассоциации файлов, системные политики, список установленного ПО фиксируются в реестре.
Реестр Windows был введён для упорядочения информации, хранившейся до этого во множестве INI-файлов, обеспечения единого механизма (API) записи-чтения настроек и избавления от проблем коротких имён, отсутствия разграничения прав доступа и медленного доступа к ini-файлам, хранящимся на файловой системе FAT16, имевшей серьёзные проблемы быстродействия при поиске файлов в каталогах с большим их количеством. Со временем (окончательно — с появлением файловой системы NTFS) проблемы, решавшиеся реестром, исчезли, но реестр остался из-за обратной совместимости, и присутствует во всех версиях Windows, включая последнюю. Поскольку сейчас не существует реальных предпосылок для использования подобного механизма, Microsoft Windows — единственная (не считая ReactOS и eComStation) операционная система из используемых сегодня, в которой используется механизм реестра операционной системы.
Сам реестр как древовидная иерархическая база данных (registration database — регистрационная база) впервые появился в Windows 3.1 (апрель 1992). Это был всего один двоичный файл, который назывался REG.DAT и хранился в каталоге C:\Windows\. Реестр Windows 3.1 имел только одну ветку HKEY_CLASSES_ROOT. Он служил для связи DDE, а позднее и OLE-объектов.
Одновременно c появлением реестра в Windows 3.1 появилась программа REGEDIT.EXE для просмотра и редактирования реестра.
Первый реестр уже имел возможность импорта данных из *.REG-файлов. В базовой поставке шёл файл SETUP.REG, содержащий данные по основным расширениям и типам файлов.
Реестр Windows 3.1 имел ограничение на максимальный размер файла REG.DAT — 64 Кбайт. Если реестр превышал этот размер, файл реестра (REG.DAT) приходилось удалять и собирать заново либо из *.REG-файлов, либо вводить данные вручную.
Следующий шаг был сделан в Windows NT 3.1 (июль 1993). Произошёл отказ от устаревших файлов MS-DOS: AUTOEXEC.BAT и CONFIG.SYS, а также от INI-файлов, как от основных файлов конфигурации. На «регистрационную базу» (реестр) была переведена вся конфигурация системы. Основой конфигурации системы стал реестр. Он имел 4 корневых раздела: HKEY_ LOCAL_MACHINE, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT и HKEY_USERS.
Реестр стал «сборным»: на диске он хранился в файлах: DEFAULT, SOFTWARE, SYSTEM, а при запуске системы из этих файлов собиралась единая БД.
В комплекте поставки оставался файл REGEDIT.EXE, который по-прежнему позволял просматривать и редактировать только ветку HKEY_CLASSES_ROOT, и появился файл REGEDT32.EXE, который позволял редактировать все ветки реестра.
Далее технология и идеология (назначение) реестра уже не менялись. Все последующие версии Windows (NT 3.5, 95, NT 4.0, 98, 2000, XP, Vista, 7,8) использовали реестр как основную БД, содержащую все основные данные по конфигурации как самой ОС, так и прикладных программ. Далее менялись названия файлов реестра и их расположение, а также название и назначение ключей.
Реестр в том виде, как его использует Windows и как видит его пользователь в процессе использования программ работы с реестром, формируется из различных данных. Чтобы получилось то, что видит пользователь, редактируя реестр, происходит следующее.
Вначале, в процессе установки (инсталляции) и настройки Windows, на диске формируются файлы, в которых хранится часть данных, относящихся к конфигурации системы.
Затем, в процессе каждой загрузки системы, а также в процессе каждого входа и выхода каждого из пользователей, формируется некая виртуальная сущность, называемая «реестром» — объект REGISTRY\. Данные для формирования «реестра» частично берутся из тех самых файлов (Software, System …), частично из информации, собранной ntdetect при загрузке (HKLM\Hardware\Description).
То есть часть данных реестра хранится в файлах, а часть данных формируется в процессе загрузки Windows.
Для редактирования, просмотра и изучения реестра стандартными средствами Windows (программы regedit.exe и regedt32.exe) доступны именно ветки реестра. После редактирования реестра и/или внесения в него изменений эти изменения сразу записываются в файлы.
Однако есть программы сторонних разработчиков, которые позволяют работать непосредственно с файлами.
Программы оптимизации реестра, твикеры, а также инсталляторы и деинсталляторы программ работают через специальные функции работы с реестром.
в Windows XP файлы реестра хранятся в следующих местах:
В Windows Vista файлы реестра хранятся там же, где и в Windows XP.
В Windows 7, согласно сведениям из HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist файлы реестра хранятся в следующих местах:
Резервные копии файлов реестра DEFAULT, SAM, SECURITY, SOFTWARE и SYSTEM находятся в папке «%SystemRoot%\System32\config\RegBack». Само резервное копирование производится силами Планировщика задач в 0 ч. 00 мин. каждые 10 дней по заданию «RegIdleBackup», расположенному в иерархии задач по пути «\Microsoft\Windows\Registry».
Ветка реестра «HKEY_CURRENT_USER» формируется из файла «%USERPROFILE%\NTUSER.DAT», где под %USERPROFILE% подразумевается путь к папке текущего пользователя.
Реестр 64-разрядных версий Windows XP и Windows Server 2003 и Windows Vista подразделяется на 32- и 64-разрядные разделы. Большинство 32-разрядных разделов имеют те же имена, что и их аналоги в 64-разрядном разделе, и наоборот. По умолчанию редактор реестра 64-разрядных версий Windows XP и Windows Server 2003 и Windows Vista отображает 32-разрядные разделы в следующем узле:
HKEY_LOCAL_MACHINE\Software\WOW6432Node
Этот раздел не завершён. |
Данный раздел содержит настройки текущего активного пользователя, вошедшего в систему. Здесь хранятся папки пользователя, цвета экрана и параметры панели управления. Эти сведения сопоставлены с профилем пользователя. Вместо полного имени раздела иногда используется аббревиатура HKCU.[2] Хотя этот раздел выглядит как один из основных в редакторе реестра, он является всего лишь ссылкой на один из профилей HKEY_USERS\.
Раздел HKEY_USERS (псевдоним HKU) содержит информацию о профилях всех пользователей данного компьютера. Данный раздел практически никогда не используется пользователями. Следует отметить связь данного корневого раздела с разделом HKEY_CURRENT_USER, который фактически является ссылкой подраздела корневого раздела HKEY_USERS, хранящего сведения о текущем пользователе.
Раздел содержит параметры конфигурации, относящиеся к данному компьютеру (для всех пользователей). Вместо полного имени раздела иногда используется аббревиатура HKLM.[2]
Является подразделом HKEY_LOCAL_MACHINE\Software\Classes. В основном, содержит информацию о зарегистрированных типах файлов и объектах COM и ActiveX. Вместо полного имени раздела иногда используется аббревиатура 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.[2]
Данный раздел содержит сведения о профиле оборудования, используемом локальным компьютером при запуске системы.[2] Является ссылкой на HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current
Данный раздел имеется только в реестре ОС семейства Windows 9x/ME. Содержит динамически изменяемые данные о компьютере (загрузка процессора, размер файла подкачки и т. п.).[2]
Команда REG ADD добавляет в реестр системы Windows данные необходимого типа. Для удаления данных из реестра используется команда REG DELETE.
REG ADD <раздел> [/v <параметр> | /ve] [/t <тип>] [/s <разделитель>] [/d <данные>] [/f]
<раздел> [\\<компьютер>\]<путь>
Команда reg delete удаляет ключи в реестре операционной системы Windows.
REG DELETE <раздел> [/v <параметр> | /ve | /va] [/f] REG DELETE <раздел> Имя раздела в формате: [\\Компьютер\]Путь
Командная строка — команда REG DELETE.
Команда REG COMPARE сравнивает в реестре операционной системы Windows данные. Для копирования данных в реестре используется команда REG COPY.
<компьютер> Имя удаленного компьютера, если оно опущено, то по умолчанию считается равным имени локального компьютера. Для удаленных компьютеров доступны только HKLM и HKU. <путь> Полный путь к разделу реестра в виде: КОРЕНЬ\Подраздел. Если Подраздел2 не указан, он считается равным Подраздел1. <КОРЕНЬ> Корневой раздел. Значения: [ HKLM | HKCU | HKCR | HKU | HKCC ]. <подраздел> Полный путь к разделу реестра в выбранном корневом разделе. <параметр> Имя параметра в указанном разделе, для сравнения. Если опущен, будут сравниваться все параметры раздела. /ve Сравнивать безымянные параметры. /s Сравнивать все подразделы и параметры. <вывод> Одно из значений: [/oa | /od | /os | /on]. Если не указано, используется значение /od. /oa Выводить и совпадения, и отличия. /od Выводить только отличия. /os Выводить только совпадения. /on Не выводить результаты сравнения.
Код возврата:
0 — Успешно, сравниваемые данные идентичны
1 — При обработке произошла ошибка
2 — Успешно, сравниваемые данные отличаются
Команда reg copy копирует ключи реестра операционной системы Windows. А для сравнения данных в реестре используется команда Reg Compare.
REG COPY <раздел1> <раздел2> [/s] [/f]
REG COPY <раздел> Имя раздела в формате: [\\Компьютер\]Путь
Команда REG EXPORT экспортирует из реестра операционной системы данные. А для импорта данных в реестр используется команда REG IMPORT.
Командная строка команда REG EXPORT
REG EXPORT HKLM\Software\MyCo\MyApp AppBkUp.reg — Экспортирует все подразделы и значения параметров раздела MyApp в файл AppBkUp.reg
Команда REG IMPORT импортирует в реестр операционной системы Windows данные. А для экспорта данных из реестра используется команда REG EXPORT.
<имя файла> Имя файла для импорта (только на локальном компьютере).
Командная строка команда REG IMPORT
REG IMPORT AppBkUp.reg — Импортирует записи реестра из файла AppBkUp.reg
Команда REG LOAD загружает в реестр данные. А для выгрузки данных из реестра используется команда REG UNLOAD.
Для создания этого файла используйте команду REG SAVE.
Командная строка команда REG LOAD
REG LOAD HKLM\TempHive TempHive.hiv — Загружает файл TempHive.hiv в раздел HKLM\TempHive
Команда REG UNLOAD выгружает из реестра данные. Для загрузки данных в реестр используется команда REG LOAD.
<раздел> Полный путь к разделу реестра в виде: КОРЕНЬ\Подраздел (только для локального компьютера). <КОРЕНЬ> Возможные значения для корневого раздела: [ HKLM | HKU ]. <подраздел> Имя подраздела выгружаемого куста.
REG UNLOAD HKLM\TempHive — Выгружает куст TempHive из HKLM.
<раздел> Полный путь к разделу реестра в виде: КОРЕНЬ\Подраздел. <КОРЕНЬ> — Корневой раздел. Значения: [ HKLM | HKCU | HKCR | HKU | HKCC ]. <подраздел> — Полный путь к разделу реестра в выбранном корневом разделе. <имя файла> Имя сохраняемого файла на диске. Если путь не указан, файл создается вызывающим процессом в текущей папке.
Командная строка — команда REG SAVE.
REG SAVE HKLM\Software\MyCo\MyApp AppBkUp.hiv — Сохраняет раздел MyApp в файле AppBkUp.hiv в текущей папке.
Командная строка — команда REG RESTORE.
REG RESTORE HKLM\Software\Microsoft\ResKit NTRKBkUp.hiv — Восстанавливает подраздел ResKit из файла NTRKBkUp.hiv, перезаписывая текущие подразделы и параметры.
Способ хранения параметров и настроек операционной системы при помощи реестра Windows часто подвергается критике по следующим причинам:
Критики приводят в пример UNIX-подобные операционные системы, где нет реестра и выполняемые им задачи решаются другими средствами.
Существуют активно и недобросовестно рекламируемые программы, обещающие в числе прочего оптимизацию работы реестра. Они могут использоваться как для получения прибыли от продажи по необоснованно высокой цене, так и для распространения вирусов.
В описании реестра в английской литературе, среди прочих, используется термин Hive. В некоторых работах его переводят на русский как «дерево». Microsoft в своих документах переводит это как куст. Например:
Registry hive HKEY_LOCAL_MACHINE\SAM == Куст реестра HKEY_LOCAL_MACHINE\SAM[2][4]
Древо (куст) реестра — это подмножество разделов, подразделов и параметров реестра, которому сопоставлен набор вспомогательных файлов, содержащих резервные копии этих данных.[2]
Для улучшения этой статьи желательно: |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .