Синтаксис команды reg delete
Содержание
[скрыть]
· 1История возникновения и развития реестра
o 1.1Реестр Windows 3.1
o 1.2Реестр Windows NT 3.1
· 2Современный реестр Windows
· 3Файлы реестра (Хранение данных реестра)
o 3.1Windows 95/98
o 3.2Windows ME
o 3.3Windows 2000
o 3.4Windows XP
o 3.5Windows Vista
o 3.6Windows 7
o 3.7Windows CE/Mobile
· 4Описание разделов реестров
o 4.1HKEY_CURRENT_USER
o 4.2HKEY_USERS
o 4.3HKEY_LOCAL_MACHINE
o 4.4HKEY_CLASSES_ROOT
o 4.5HKEY_CURRENT_CONFIG
o 4.6HKEY_DYN_DATA
· 5Команда REG ADD
o 5.1Синтаксис команды REG ADD
o 5.2Примеры команды Reg Add
· 6Описание команды REG DELETE
o 6.1Синтаксис команды REG DELETE
o 6.2Примеры команды reg delete
· 7Команда REG COMPARE
o 7.1Синтаксис команды REG COMPARE
o 7.2Примеры команды REG COMPARE
· 8Команда REG COPY
o 8.1Синтаксис команды REG COPY
o 8.2Примеры команды Reg Copy
· 9Описание команды REG EXPORT
o 9.1Синтаксис и параметры команды REG EXPORT
o 9.2Примеры команды REG EXPORT
· 10Описание команды REG IMPORT
o 10.1Синтаксис и параметры команды REG IMPORT
o 10.2Примеры команды REG IMPORT
· 11Описание команды REG LOAD
o 11.1Синтаксис и параметры команды REG LOAD
o 11.2Примеры команды REG LOAD
· 12Описание команды REG UNLOAD
o 12.1Синтаксис и параметры команды REG UNLOAD
o 12.2Примеры команды REG UNLOAD
· 13Описание команды REG SAVE
o 13.1Синтаксис и параметры команды REG SAVE
o 13.2Примеры команды REG SAVE
· 14Описание команды REG RESTORE
o 14.1Синтаксис и параметры команды REG RESTORE
o 14.2Примеры команды REG RESTORE
· 15Описание команды REG QUERY
o 15.1Синтаксис и параметры команды REG QUERY
o 15.2Примеры команды REG QUERY
· 16Критика
· 17Программы для работы с реестром
· 18Лже-оптимизаторы и дефрагментаторы реестра
· 19Терминология
· 20Примечания
· 21Ссылки
История возникновения и развития реестра
Реестр Windows 3.1
Сам реестр как древовидная иерархическая база данных (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
Следующий шаг был сделан в 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 и как видит его пользователь в процессе использования программ работы с реестром, формируется из различных данных. Чтобы получилось то, что видит пользователь, редактируя реестр, происходит следующее.
Вначале, в процессе установки (инсталляции) и настройки Windows, на диске формируются файлы, в которых хранится часть данных относительно конфигурации системы.
Затем, в процессе каждой загрузки системы, а также в процессе каждого входа и выхода каждого из пользователей, формируется некая виртуальная сущность, называемая «реестром» — объект REGISTRY\. Данные для формирования «реестра» частично берутся из тех самых файлов (Software, System …), частично из информации, собранной ntdetect при загрузке (HKLM\Hardware\Description).
То есть часть данных реестра хранится в файлах, а часть данных формируется в процессе загрузки Windows.
Для редактирования, просмотра и изучения реестра стандартными средствами Windows (программы regedit.exe и regedt32.exe) доступны именно ветки реестра. После редактирования реестра и/или внесения в него изменений эти изменения сразу записываются в файлы.
Однако есть программы сторонних разработчиков, которые позволяют работать непосредственно с файлами.
Программы оптимизации реестра, твикеры, а также инсталляторы и деинсталляторы программ работают через специальные функции работы с реестром.
Файлы реестра (Хранение данных реестра)]
Windows 95/98User.dat
· System.dat
Windows ME
· Classes.dat
· User.dat
Windows 2000
Windows XP
Windows Vista
В Windows Vista файлы реестра хранятся там же, где и в Windows XP.
Windows 7
В Windows 7, согласно сведениям из HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist файлы реестра хранятся в следующих местах:
· 01= Ветка реестра «HKEY_LOCAL_MACHINE\HARDWARE» формируется в зависимости от оборудования (динамически);
· 02= Ветка реестра «HKEY_LOCAL_MACHINE\BCD00000000» формируется из файла «%SystemRoot%\Boot\BCD»
· 03= Ветка реестра «HKEY_LOCAL_MACHINE\SYSTEM» формируется из файла «%SystemRoot%\System32\config\SYSTEM»
· 04= Ветка реестра «HKEY_LOCAL_MACHINE\SOFTWARE» формируется из файла «%SystemRoot%\System32\config\SOFTWARE»
· 05= Ветка реестра «HKEY_LOCAL_MACHINE\SECURITY» формируется из файла «%SystemRoot%\System32\config\SECURITY»
· 06= Ветка реестра «HKEY_LOCAL_MACHINE\SAM» формируется из файла «%SystemRoot%\System32\config\SAM»
· 07= Ветка реестра «HKEY_USERS\.DEFAULT» формируется из файла «%SystemRoot%\System32\config\DEFAULT»
· 08= Ветка реестра «HKEY_USERS\S-1-5-18» формируется из файла «%SystemRoot%\System32\config\systemprofile\NTUSER.DAT» (относится к учетной записи system)[1]
· 09= Ветка реестра «HKEY_USERS\S-1-5-19» формируется из файла «%SystemRoot%\ServiceProfiles\LocalService\NTUSER.DAT» (относится к учетной записи LocalService)
· 10= Ветка реестра «HKEY_USERS\S-1-5-20» формируется из файла «%SystemRoot%\ServiceProfiles\NetworkService\NTUSER.DAT» (относится к учетной записи NetworkService)
· 11= Ветка реестра «HKEY_USERS\<SID_пользователя>» формируется из файла «%USERPROFILE%\NTUSER.DAT»
· 12= Ветка реестра «HKEY_USERS\<SID_пользователя>_Classes» формируется из файла «%USERPROFILE%\AppData\Local\Microsoft\Windows\UsrClass.dat»
Резервные копии файлов реестра DEFAULT, SAM, SECURITY, SOFTWARE и SYSTEM находятся в папке «%SystemRoot%\System32\config\RegBack». Само резервное копирование производится силами Планировщика задач в 0 ч. 00 мин. каждые 10 дней по заданию «RegIdleBackup», расположенному в иерархии задач по пути «\Microsoft\Windows\Registry».
Остается лишь дополнить предыдущий ответ тем, что пользовательский раздел реестра (HKCU) - в файле %userprofile%\ntuser.dat
Реестр 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
Описание разделов реестров
HKEY_CURRENT_USER
Данный раздел содержит настройки текущего активного пользователя, вошедшего в систему. Здесь хранятся папки пользователя, цвета экрана и параметры панели управления. Эти сведения сопоставлены с профилем пользователя. Вместо полного имени раздела иногда используется аббревиатура HKCU.[2] Хотя этот раздел выглядит как один из основных в редакторе реестра, он является всего лишь ссылкой на один из профилей HKEY_USERS\.
HKEY_USERS
Раздел HKEY_USERS (псевдоним HKU) содержит информацию о профилях всех пользователей данного компьютера. Данный раздел практически никогда не используется пользователями. Следует отметить связь данного корневого раздела с разделом HKEY_CURRENT_USER, который фактически является ссылкой подраздела корневого раздела HKEY_USERS, хранящего сведения о текущем пользователе.
HKEY_LOCAL_MACHINE
Раздел содержит параметры конфигурации, относящиеся к данному компьютеру (для всех пользователей). Вместо полного имени раздела иногда используется аббревиатура HKLM.[2]
HKEY_CLASSES_ROOT
Является подразделом 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]
HKEY_CURRENT_CONFIG
Данный раздел содержит сведения о профиле оборудования, используемом локальным компьютером при запуске системы.[2] Является ссылкой на HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current
HKEY_DYN_DATA
Данный раздел имеется только в реестре ОС семейства Windows 9x/ME. Содержит динамически изменяемые данные о компьютере (загрузка процессора, размер файла подкачки и т. п.).[2]
Команда REG ADD
Команда REG ADD добавляет в реестр системы Windows данные необходимого типа. Для удаления данных из реестра используется команда REG DELETE.
Синтаксис команды REG ADD
REG ADD <раздел> [/v <параметр> | /ve] [/t <тип>] [/s <разделитель>] [/d <данные>] [/f]
<раздел> [\\<компьютер>\]<путь>
· <компьютер> Имя удаленного компьютера, если оно опущено, то по умолчанию считается равным имени локального компьютера. На удаленных компьютерах доступны только разделы HKLM и HKU.
· <путь> Полный путь к разделу реестра в виде КОРЕНЬ\Подраздел. Значения [ HKLM | HKCU | HKCR | HKU | HKCC ]. <подраздел> Полный путь к разделу реестра в выбранном корневом разделе.
· /v Имя добавляемого параметра в указанном разделе.
· /ve Добавить пустой параметр (По умолчанию) в указанный раздел.
· /t Типы данных. [REG_SZ | REG_MULTI_SZ | REG_DWORD_BIG_ENDIAN | REG_DWORD | REG_BINARY | REG_DWORD_LITTLE_ENDIAN | REG_NONE | REG_EXPAND_SZ ] По умолчанию, считается равным REG_SZ.
· /s Определяет разделитель, который используется для разделения данных в многострочных параметрах типа REG_MULTI_SZ. По умолчанию считается равным "\0".
· /d Значение, присваиваемое добавляемому параметру реестра.
· /f Принудительно перезаписывать существующие записи реестра без предупреждения.
Примеры команды Reg AddREG ADD \\ABC\HKLM\Software\MyCo Добавляет раздел HKLM\Software\MyCo на удаленный компьютер ABC
· REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead Добавляет параметр с именем: Data, типом: REG_BINARY, и значением: fe340ead
· REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail Добавляет параметр с именем: MRU, типом: REG_MUTLI_SZ, и значением: fax\0mail\0\0
· REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d %%systemroot%% Добавляет параметр с именем: Path, типом: REG_EXPAND_SZ, и значением:%systemroot%. Примечание: Используйте в строке двойные символы процента ( %% )
Описание команды REG DELETE
Команда reg delete удаляет ключи в реестре операционной системы Windows.
Примеры команды reg delete
· REG DELETE HKLM\Software\MyCo\MyApp\Timeout Удаляет раздел реестра Timeout и все его подразделы и параметры.
· REG DELETE \\ZODIAC\HKLM\Software\MyCo /v MTU Удаляет параметр MTU из раздела MyCo реестра на компьютере ZODIAC.
Команда REG COMPARE
Команда REG COMPARE сравнивает в реестре операционной системы Windows данные. Для копирования данных в реестре используется команда REG COPY.
Примеры команды REG COMPARE
· REG COMPARE HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp Сравнивает все параметры раздела MyApp с параметрами раздела SaveMyApp
· REG COMPARE HKLM\Software\MyCo HKLM\Software\MyCo1 /v Version Сравнивает значение параметра Version в разделах MyCo и MyCo1
· REG COMPARE \\ZODIAC\HKLM\Software\MyCo \\. /s Сравнивает все подразделы и значения параметров в разделе HKLM\Software\MyCo реестра на компьютере ZODIAC с аналогичным разделом на локальном компьютере
Команда REG COPY
Команда reg copy копирует ключи реестра операционной системы Windows. А для сравнения данных в реестре используется команда Reg Compare.
Синтаксис команды REG COPY
REG COPY <раздел1> <раздел2> [/s] [/f]
REG COPY <раздел> Имя раздела в формате: [\\Компьютер\]Путь
· <компьютер> Имя удаленного компьютера, если оно опущено, то по умолчанию считается равным имени локального компьютера. Для удаленных компьютеров доступны только HKLM и HKU.
· <путь> Полный путь к разделу реестра в виде: КОРЕНЬ\Подраздел. <КОРЕНЬ> Корневой раздел. Значения: [ HKLM | HKCU | HKCR | HKU | HKCC ].
· <подраздел> Полный путь к разделу реестра в выбранном корневом разделе.
· /s Копировать все подразделы и параметры.
· /f Принудительное копирование без дополнительного предупреждения.
Примеры команды Reg Copy
· REG COPY HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp /s Копирует все подразделы и параметры раздела MyApp в раздел SaveMyApp
· REG COPY \\ZODIAC\HKLM\Software\MyCo HKLM\Software\MyCo1 Копирует все параметры раздела MyCo с компьютера ZODIAC в раздел MyCo1 на локальном компьютере
Описание команды REG EXPORT
Команда REG EXPORT экспортирует из реестра операционной системы данные. А для импорта данных в реестр используется команда REG IMPORT.
Примеры команды REG EXPORT
REG EXPORT HKLM\Software\MyCo\MyApp AppBkUp.reg — Экспортирует все подразделы и значения параметров раздела MyApp в файл AppBkUp.reg
Описание команды REG IMPORT
Команда REG IMPORT импортирует в реестр операционной системы Windows данные. А для экспорта данных из реестра используется команда REG EXPORT.
Примеры команды REG IMPORT
REG IMPORT AppBkUp.reg — Импортирует записи реестра из файла AppBkUp.reg
Описание команды REG LOAD
Команда REG LOAD загружает в реестр данные. А для выгрузки данных из реестра используется команда REG UNLOAD.
Примеры команды REG LOAD
REG LOAD HKLM\TempHive TempHive.hiv — Загружает файл TempHive.hiv в раздел HKLM\TempHive
Описание команды REG UNLOAD
Команда REG UNLOAD выгружает из реестра данные. Для загрузки данных в реестр используется команда REG LOAD.
Примеры команды REG UNLOAD
REG UNLOAD HKLM\TempHive — Выгружает куст TempHive из HKLM.
Описание команды REG SAVE
· Команда REG SAVE сохраняет ключи реестра в файл операционной системы Windows. А для восстановления ключей реестра используется команда REG RESTORE.
Примеры команды REG SAVE
REG SAVE HKLM\Software\MyCo\MyApp AppBkUp.hiv — Сохраняет раздел MyApp в файле AppBkUp.hiv в текущей папке.
Описание команды REG RESTORE
· Команда REG RESTORE восстанавливает данные реестра операционной системы Windows. А для сохранения данных реестра используется команда REG SAVE.
Примеры команды REG RESTORE
REG RESTORE HKLM\Software\Microsoft\ResKit NTRKBkUp.hiv — Восстанавливает подраздел ResKit из файла NTRKBkUp.hiv, перезаписывая текущие подразделы и параметры.
Описание команды REG QUERY
· Команда REG QUERY служит для просмотра содержимого реестра операционной системы Windows. А для сохранения ключей реестра используется команда REG SAVE.
Примеры команды REG QUERY
·
· REG QUERY HKLM\Software\Microsoft\ResKit /v Version —Отображает значение параметра Version в реестре
· REG QUERY HKLM\Software\Microsoft\ResKit\Nt\Setup /s —Отображает все подразделы и параметры в разделе Setup реестра.
Критика
Способ хранения параметров и настроек операционной системы при помощи реестра Windows часто подвергается критике по следующим причинам:
· Реестр подвержен фрагментации, из-за чего доступ к реестру постепенно замедляется.
· В связи с тем, что, помимо настроек, в реестре хранится различная информация системы и приложений (например, многие приложения хранят в реестре список недавно открытых файлов), размер реестра значительно увеличивается по мере использования операционной системы. Эта проблема частично решается при помощи специальных утилит.
· Не все настройки системы хранятся в реестре, соответственно перенос настроек системы путём копирования реестра невозможен.
· Некоторые программы не могут работать без параметров, занесенных в реестр, что создаёт трудности при переносе их с компьютера на компьютер, или теряют данные после переустановки операционной системы.
· Реестр очень похож на виртуальную файловую систему, работающую поверх реальной файловой системы. При этом, как для файловой системы, реестр очень неустойчив к сбоям. Фактически один неверный байт в файле куста (ветки реестра, подобие корневой директории в файловых системах) приводит к сбою при попытке загрузки куста, и (для системных кустов) отказу операционной системы. Надёжность такого реестра никогда не будет выше надёжности файловой системы, на которой расположены его файлы. Однако версии Windows начиная с NT используют логи транзакций в качестве средства защиты от повреждений при обновлении реестра. Текущие версии Windows используют логи двух уровней для того, чтобы обеспечить целостность реестра в случае отказа питания или других подобных событий во время обновления реестра.[3] Даже в случае ошибки, из-за которой невозможно восстановить реестр, Windows может починить и реинициализировать повреждённые записи реестра во время загрузки системы.[3]
Критики приводят в пример UNIX-подобные операционные системы, где нет реестра и выполняемые им задачи решаются другими средствами.
Программы для работы с реестром
· WinTools.net
· glary utilites
· regedit.exe
· regedt32.exe
· Reg Organizer
· Test-Run by BB
· CCleaner
· Ashampoo WinOptimizer
· Wise Reg Cleaner
· AuslogicsBoostSpeed
· TuneUp Utilities
· Jv16 PowerTools
· chntpw
Лже-оптимизаторы и дефрагментаторы реестра
Основная статья: :en:Scareware
Существуют активно и недобросовестно рекламируемые программы, обещающие в числе прочего оптимизацию работы реестра. Они могут использоваться как для получения прибыли от продажи по необоснованно высокой цене, так и для распространения вирусов.
Терминология
В описании реестра в английской литературе, среди прочих, используется термин Hive. В некоторых работах его переводят на русский как «дерево». Microsoft в своих документах переводит это как куст. Например:
Registry hive HKEY_LOCAL_MACHINE\SAM == Куст реестра HKEY_LOCAL_MACHINE\SAM[2][4]
Древо (куст) реестра — это подмножество разделов, подразделов и параметров реестра, которому сопоставлен набор вспомогательных файлов, содержащих резервные копии этих данных.[2]
Содержание
[скрыть]
· 1История возникновения и развития реестра
o 1.1Реестр Windows 3.1
o 1.2Реестр Windows NT 3.1
· 2Современный реестр Windows
· 3Файлы реестра (Хранение данных реестра)
o 3.1Windows 95/98
o 3.2Windows ME
o 3.3Windows 2000
o 3.4Windows XP
o 3.5Windows Vista
o 3.6Windows 7
o 3.7Windows CE/Mobile
· 4Описание разделов реестров
o 4.1HKEY_CURRENT_USER
o 4.2HKEY_USERS
o 4.3HKEY_LOCAL_MACHINE
o 4.4HKEY_CLASSES_ROOT
o 4.5HKEY_CURRENT_CONFIG
o 4.6HKEY_DYN_DATA
· 5Команда REG ADD
o 5.1Синтаксис команды REG ADD
o 5.2Примеры команды Reg Add
· 6Описание команды REG DELETE
o 6.1Синтаксис команды REG DELETE
o 6.2Примеры команды reg delete
· 7Команда REG COMPARE
o 7.1Синтаксис команды REG COMPARE
o 7.2Примеры команды REG COMPARE
· 8Команда REG COPY
o 8.1Синтаксис команды REG COPY
o 8.2Примеры команды Reg Copy
· 9Описание команды REG EXPORT
o 9.1Синтаксис и параметры команды REG EXPORT
o 9.2Примеры команды REG EXPORT
· 10Описание команды REG IMPORT
o 10.1Синтаксис и параметры команды REG IMPORT
o 10.2Примеры команды REG IMPORT
· 11Описание команды REG LOAD
o 11.1Синтаксис и параметры команды REG LOAD
o 11.2Примеры команды REG LOAD
· 12Описание команды REG UNLOAD
o 12.1Синтаксис и параметры команды REG UNLOAD
o 12.2Примеры команды REG UNLOAD
· 13Описание команды REG SAVE
o 13.1Синтаксис и параметры команды REG SAVE
o 13.2Примеры команды REG SAVE
· 14Описание команды REG RESTORE
o 14.1Синтаксис и параметры команды REG RESTORE
o 14.2Примеры команды REG RESTORE
· 15Описание команды REG QUERY
o 15.1Синтаксис и параметры команды REG QUERY
o 15.2Примеры команды REG QUERY
· 16Критика
· 17Программы для работы с реестром
· 18Лже-оптимизаторы и дефрагментаторы реестра
· 19Терминология
· 20Примечания
· 21Ссылки
История возникновения и развития реестра
Реестр Windows 3.1
Сам реестр как древовидная иерархическая база данных (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
Следующий шаг был сделан в 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 и как видит его пользователь в процессе использования программ работы с реестром, формируется из различных данных. Чтобы получилось то, что видит пользователь, редактируя реестр, происходит следующее.
Вначале, в процессе установки (инсталляции) и настройки Windows, на диске формируются файлы, в которых хранится часть данных относительно конфигурации системы.
Затем, в процессе каждой загрузки системы, а также в процессе каждого входа и выхода каждого из пользователей, формируется некая виртуальная сущность, называемая «реестром» — объект REGISTRY\. Данные для формирования «реестра» частично берутся из тех самых файлов (Software, System …), частично из информации, собранной ntdetect при загрузке (HKLM\Hardware\Description).
То есть часть данных реестра хранится в файлах, а часть данных формируется в процессе загрузки Windows.
Для редактирования, просмотра и изучения реестра стандартными средствами Windows (программы regedit.exe и regedt32.exe) доступны именно ветки реестра. После редактирования реестра и/или внесения в него изменений эти изменения сразу записываются в файлы.
Однако есть программы сторонних разработчиков, которые позволяют работать непосредственно с файлами.
Программы оптимизации реестра, твикеры, а также инсталляторы и деинсталляторы программ работают через специальные функции работы с реестром.
Файлы реестра (Хранение данных реестра)]
Windows 95/98User.dat
· System.dat
Windows ME
· Classes.dat
· User.dat
Windows 2000
Windows XP
Windows Vista
В Windows Vista файлы реестра хранятся там же, где и в Windows XP.
Windows 7
В Windows 7, согласно сведениям из HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist файлы реестра хранятся в следующих местах:
· 01= Ветка реестра «HKEY_LOCAL_MACHINE\HARDWARE» формируется в зависимости от оборудования (динамически);
· 02= Ветка реестра «HKEY_LOCAL_MACHINE\BCD00000000» формируется из файла «%SystemRoot%\Boot\BCD»
· 03= Ветка реестра «HKEY_LOCAL_MACHINE\SYSTEM» формируется из файла «%SystemRoot%\System32\config\SYSTEM»
· 04= Ветка реестра «HKEY_LOCAL_MACHINE\SOFTWARE» формируется из файла «%SystemRoot%\System32\config\SOFTWARE»
· 05= Ветка реестра «HKEY_LOCAL_MACHINE\SECURITY» формируется из файла «%SystemRoot%\System32\config\SECURITY»
· 06= Ветка реестра «HKEY_LOCAL_MACHINE\SAM» формируется из файла «%SystemRoot%\System32\config\SAM»
· 07= Ветка реестра «HKEY_USERS\.DEFAULT» формируется из файла «%SystemRoot%\System32\config\DEFAULT»
· 08= Ветка реестра «HKEY_USERS\S-1-5-18» формируется из файла «%SystemRoot%\System32\config\systemprofile\NTUSER.DAT» (относится к учетной записи system)[1]
· 09= Ветка реестра «HKEY_USERS\S-1-5-19» формируется из файла «%SystemRoot%\ServiceProfiles\LocalService\NTUSER.DAT» (относится к учетной записи LocalService)
· 10= Ветка реестра «HKEY_USERS\S-1-5-20» формируется из файла «%SystemRoot%\ServiceProfiles\NetworkService\NTUSER.DAT» (относится к учетной записи NetworkService)
· 11= Ветка реестра «HKEY_USERS\<SID_пользователя>» формируется из файла «%USERPROFILE%\NTUSER.DAT»
· 12= Ветка реестра «HKEY_USERS\<SID_пользователя>_Classes» формируется из файла «%USERPROFILE%\AppData\Local\Microsoft\Windows\UsrClass.dat»
Резервные копии файлов реестра DEFAULT, SAM, SECURITY, SOFTWARE и SYSTEM находятся в папке «%SystemRoot%\System32\config\RegBack». Само резервное копирование производится силами Планировщика задач в 0 ч. 00 мин. каждые 10 дней по заданию «RegIdleBackup», расположенному в иерархии задач по пути «\Microsoft\Windows\Registry».
Остается лишь дополнить предыдущий ответ тем, что пользовательский раздел реестра (HKCU) - в файле %userprofile%\ntuser.dat
Реестр 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
Описание разделов реестров
HKEY_CURRENT_USER
Данный раздел содержит настройки текущего активного пользователя, вошедшего в систему. Здесь хранятся папки пользователя, цвета экрана и параметры панели управления. Эти сведения сопоставлены с профилем пользователя. Вместо полного имени раздела иногда используется аббревиатура HKCU.[2] Хотя этот раздел выглядит как один из основных в редакторе реестра, он является всего лишь ссылкой на один из профилей HKEY_USERS\.
HKEY_USERS
Раздел HKEY_USERS (псевдоним HKU) содержит информацию о профилях всех пользователей данного компьютера. Данный раздел практически никогда не используется пользователями. Следует отметить связь данного корневого раздела с разделом HKEY_CURRENT_USER, который фактически является ссылкой подраздела корневого раздела HKEY_USERS, хранящего сведения о текущем пользователе.
HKEY_LOCAL_MACHINE
Раздел содержит параметры конфигурации, относящиеся к данному компьютеру (для всех пользователей). Вместо полного имени раздела иногда используется аббревиатура HKLM.[2]
HKEY_CLASSES_ROOT
Является подразделом 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]
HKEY_CURRENT_CONFIG
Данный раздел содержит сведения о профиле оборудования, используемом локальным компьютером при запуске системы.[2] Является ссылкой на HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current
HKEY_DYN_DATA
Данный раздел имеется только в реестре ОС семейства Windows 9x/ME. Содержит динамически изменяемые данные о компьютере (загрузка процессора, размер файла подкачки и т. п.).[2]
Команда REG ADD
Команда REG ADD добавляет в реестр системы Windows данные необходимого типа. Для удаления данных из реестра используется команда REG DELETE.
Синтаксис команды REG ADD
REG ADD <раздел> [/v <параметр> | /ve] [/t <тип>] [/s <разделитель>] [/d <данные>] [/f]
<раздел> [\\<компьютер>\]<путь>
· <компьютер> Имя удаленного компьютера, если оно опущено, то по умолчанию считается равным имени локального компьютера. На удаленных компьютерах доступны только разделы HKLM и HKU.
· <путь> Полный путь к разделу реестра в виде КОРЕНЬ\Подраздел. Значения [ HKLM | HKCU | HKCR | HKU | HKCC ]. <подраздел> Полный путь к разделу реестра в выбранном корневом разделе.
· /v Имя добавляемого параметра в указанном разделе.
· /ve Добавить пустой параметр (По умолчанию) в указанный раздел.
· /t Типы данных. [REG_SZ | REG_MULTI_SZ | REG_DWORD_BIG_ENDIAN | REG_DWORD | REG_BINARY | REG_DWORD_LITTLE_ENDIAN | REG_NONE | REG_EXPAND_SZ ] По умолчанию, считается равным REG_SZ.
· /s Определяет разделитель, который используется для разделения данных в многострочных параметрах типа REG_MULTI_SZ. По умолчанию считается равным "\0".
· /d Значение, присваиваемое добавляемому параметру реестра.
· /f Принудительно перезаписывать существующие записи реестра без предупреждения.
Примеры команды Reg AddREG ADD \\ABC\HKLM\Software\MyCo Добавляет раздел HKLM\Software\MyCo на удаленный компьютер ABC
· REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead Добавляет параметр с именем: Data, типом: REG_BINARY, и значением: fe340ead
· REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail Добавляет параметр с именем: MRU, типом: REG_MUTLI_SZ, и значением: fax\0mail\0\0
· REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d %%systemroot%% Добавляет параметр с именем: Path, типом: REG_EXPAND_SZ, и значением:%systemroot%. Примечание: Используйте в строке двойные символы процента ( %% )
Описание команды REG DELETE
Команда reg delete удаляет ключи в реестре операционной системы Windows.
Синтаксис команды REG DELETE
REG DELETE <раздел> [/v <параметр> | /ve | /va] [/f] REG DELETE <раздел> Имя раздела в формате: [\\Компьютер\]Путь
· <компьютер> Имя удаленного компьютера, если оно опущено, то по умолчанию считается равным имени локального компьютера. Для удаленных компьютеров доступны только HKLM и HKU. <путь> Полный путь к разделу реестра в виде: КОРЕНЬ\Подраздел <КОРЕНЬ> Корневой раздел. Значения: [ HKLM | HKCU | HKCR | HKU | HKCC ] <подраздел> Полный путь к разделу реестра в выбранном корневом разделе.
· <параметр> Имя удаляемого параметра в указанном разделе. Если опущено, из указанного раздела будут удалены все подразделы и параметры.
· /ve Удалять безымянные параметры.
· /va Запрашивать все параметры данного раздела.
· /f Удалять принудительно, без дополнительного предупреждения.
Командная строка — команда REG DELETE.
Примеры команды reg delete
· REG DELETE HKLM\Software\MyCo\MyApp\Timeout Удаляет раздел реестра Timeout и все его подразделы и параметры.
· REG DELETE \\ZODIAC\HKLM\Software\MyCo /v MTU Удаляет параметр MTU из раздела MyCo реестра на компьютере ZODIAC.
Команда REG COMPARE
Команда REG COMPARE сравнивает в реестре операционной системы Windows данные. Для копирования данных в реестре используется команда REG COPY.