В этой статье излагаются базовые принципы работы с реестром Windows, знание которых пригодится вам в настройке операционной системы при помощи твиков реестра.
Терминология
Прежде чем перейти к делу, нужно определиться с терминологией. Я использую официальную терминологию Microsoft, поэтому термины вполне соответствуют элементам редактора реестра.
Рисунок 1 — Редактор реестра
Разделы реестра | |
Параметры реестра | |
Значения параметров |
Как видите, здесь нет никаких «веток» и «ключей». Теперь к делу.
REG-файл
REG-файл — это текстовый файл с расширением REG, составленный в определенном формате.
Формат REG-файла
Ниже приводится пример REG-файла, отключающего меню недавних документов.
Windows Registry Editor Version 5.00 ;Отключить меню недавних документов [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] "NoRecentDocsMenu"=hex:01,00,00,00
Создание REG-файла
Создать REG-файл очень просто. Скопируйте код в любой текстовый редактор (например, Блокнот). Нажмите CTRL+S и сохраните файл с любым именем и расширением .reg, заключая оба в кавычки, чтобы избежать расширения txt.
Рисунок 2 — Создание REG-файла
Синтаксис REG-файла
- Windows Registry Editor Version 5.00 — заголовок файла, являющийся его неотъемлемой частью. Также в качестве заголовка вы можете встретить REGEDIT4 — это формат Windows 98 / NT 4.0, который впрочем поймут и более новые операционные системы Windows. Подробнее о различиях в форматах можно прочитать на сайте JSO FAQ (на английском языке).
- ;Отключить меню недавних документов — комментарий. Все строки, начинающиеся с ; (точка с запятой) представляют собой комментарии.
- [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] — это раздел реестра. Графически (в редакторе реестра) он представляет собой путь к параметру. В формате REG-файлов разделы всегда заключаются в квадратные скобки. В этом примере (под)раздел Explorer принадлежит разделу HKEY_CURRENT_USER.
- «NoRecentDocsMenu»=hex:01,00,00,00 — параметр реестра и его значение. В зависимости от значения параметра, меняется поведение операционной системы или объекта. Многие параметры можно настроить в графическом интерфейсе операционной системы, но далеко не все. В таких случаях для изменения параметра используют редакторы реестра, твикеры или REG-файлы.
В REG-файле может содержаться несколько разделов и параметров реестра, но заголовок используется только в самом начале.
Пример:
Windows Registry Editor Version 5.00 ;Отключить перезагрузку в случае BSOD [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl] "AutoReboot"=dword:00000000 ;Отключить уведомление на экране приветствия о непрочитанных сообщениях [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\UnreadMail] "MessageExpiryDays"=dword:00000000
Данный REG-файлом был получен путем экспорта из редактора реестра regedit.exe. При помощи REG-файлов можно вносить изменения в системный реестр — эта операция называется импортом параметров реестра.
Экспорт параметров реестра
Экспорт параметров реестра является несложной задачей. Как правило, параметры экспортируют перед внесением изменений в реестр (резервное копирование), либо для того чтобы создать REG-файл для последующего импорта в реестр другого компьютера или при автоматической установке системы.
Экспортировать параметры реестра можно различными способами.
Редактор реестра Windows (regedit.exe)
В состав ОС Windows входит программа для редактирования реестра — regedit.exe. Поскольку она располагается в системном каталоге, для ее запуска в командной строке не нужно указывать полный путь (например, достаточно будет такой последовательности: Пуск — Выполнить — regedit — OK).
Для того чтобы экспортировать раздел реестра, достаточно щелкнуть по нему правой кнопкой мыши и выбрать из контекстного меню команду Экспортировать (в Windows 2000 эта команда расположена в меню Файл).
Другие редакторы реестра
Существует великое множество программ для внесения изменений в системный реестр, которые также обладают возможностью экспорта параметров. Если Вы часто работаете с реестром, то Вам, наверняка, пригодится программа, обладающая адресной строкой. В адресную строку можно вставить скопированный (из статьи или из сообщения на форуме) раздел реестра и быстро перейти к нужному параметру. Примером такой программы может служить RegWorks.
Командная строка
Из командной строки экспорт параметров реестра можно выполнить при помощи команды REG EXPORT, обладающей следующим синтаксисом.
REG EXPORT Полный путь к разделу реестра в виде: КОРЕНЬ\Подраздел (только для локального компьютера). Корневой раздел. Значения: [ HKLM | HKCU | HKCR | HKU | HKCC ]. Полный путь к разделу реестра в выбранном корневом разделе. Имя файла на диске для экспорта. Примеры: REG EXPORT HKLM\Software\MyCo\MyApp AppBkUp.reg Экспортирует все подразделы и значения параметров раздела MyApp в файл AppBkUp.reg
Импорт параметров реестра
Импорт параметров реестра можно осуществить несколькими способами.
Запуск REG-файла при помощи графического интерфейса
Это самый простой способ. Он заключается в запуске REG-файла, содержащего необходимые параметры, двойным щелчком мыши или из командной строки.
Двойной щелчок мыши
Как это ни тривиально звучит, но двойным щелчком мыши на REG-файле можно внести изменения в реестр. Правда, сначала система уточнит, действительно ли вы хотите это сделать. В случае положительного ответа изменения будут внесены.
Рисунок 3 — Система запрашивает подтверждение на внесение изменений.
Из-за этого запроса такой способ не подходит для импорта параметров в реестр во время автоматической установки системы. Но есть и другие способы.
Командная строка
Для импорта REG-файлов из командной строки существует команда REGEDIT. Набрав в командной строке
REGEDIT C:\hklm.reg
Вы получите точно такое же диалоговое окно, как при двойном щелчке мыши. Подавить появление диалогового окна можно запустив команду с параметром /S. Именно этот способ чаще всего применяется во время автоматической установки Windows.
REGEDIT /S C:\hklm.reg
Команда REG ADD
При помощи команды REG ADD также можно импортировать параметры реестра. Она удобна тем, что команды для импорта параметров можно включить в состав пакетного файла, выполняющего также и другие задачи (т. е. нет необходимости в дополнительном REG-файле). Например, эта команда нередко применяется для импорта значений реестра в раздел RunOnceEx и последующей установки программ при первом входе в систему. Синтаксис команды достаточно прост — посмотрите его самостоятельно, выполнив в командной строке команду REG ADD.
INF-файл
Импортировать параметры в реестр можно и при помощи INF-файлов. Их общий синтаксис несколько сложнее, чем у REG-файлов, но непосредственно запись в реестр осуществляется достаточно просто. Ниже приводится пример из аддона Msgina
[Version] Signature="$Windows NT$" [Optional Components] Msgina [Msgina] OptionDesc="Msgina" Tip="Библиотека GINA входа в систему" Modes=0,1,2,3 AddReg=Msgina.AddReg [Msgina.AddReg] HKLM,"Software\Policies\Microsoft\Windows\System\Shutdown","ShowHibernateButton",0x10001,1 HKLM,"Software\Policies\Microsoft\Windows\System\Shutdown","HibernateAsButton",0x10001,1
Примечание. Дополнительную информацию об INF-файлах можно найти в подробном руководстве.
Александр
Здравствуйте Вадим!
При сохранении REG-файла как у Вас в статье выдаётся сообщение: «Недопустимое имя файла». Сохраненил без кавычек с расширением .reg и получилось. Для чего нужны кавычки и в чём моя ошибка?
Vadim Sterkin
Александр, включив режим телепатии предположу, что вы делаете это не в Блокноте. Если в нем, покажите скриншот перед сохранением.