Заметки о Windows и других программных продуктах Microsoft...

Инструменты для редактирования реестра

Инструменты для редактирования реестра

Для работы с реестром Windows существует много различных программ, однако я предпочитаю пользоваться утилитами для редактирования реестра, встроенными в операционную систему. Всего их две — редактор реестра Regedit и утилита командной строки reg.exe. Познакомимся поближе с их возможностями.

Редактор реестра Regedit

Запускается Regedit следующим образом: в меню Пуск — Выполнить (или клавиши Win+R) набираем regedit и жмем ОК

запуск regedit

 

Интерфейс Regedit похож на проводник Windows: слева показана структура реестра в виде дерева, а справа параметры и их значения. В строке состояния отображается выбранный раздел.

открытие regedit

 

В Regedit имеется много команд для манипуляций с объектами реестра (разделами и параметрами). Первое, что мы можем сделать с его помощью — это создание нового раздела или параметра. Кстати, создание объектов – наименее опасная операция с реестром. Параметры, не несущие функции, просто игнорируются системой.

При создании новых объектов реестра есть 2 ограничения:

  1. Нельзя создавать разделы непосредственно под корнем разделов HKLM и HKU, там могут находиться только разделы высшего уровня, являющиеся алиасами (ссылками).
  2. На каждом уровне иерархической структуры реестра все подразделы должны иметь уникальные имена.

Для создания нового объекта сначала нужно выбрать родительский раздел. Затем из контекстного меню или из меню Редактировать применяем команду Создать и задаем тип объекта

создание нового ключа реестра

 

Новый объект получает временное имя, которое можно изменить сразу или из окна редактирования.

изменение ключа реестра

 

Чтобы изменить значение параметра нужно выделить объект и выбрать в меню команду Изменить, либо просто дважды щелкнуть на нем мышкой. При редактировании параметров реестра изменении стоит обратить внимание на его тип и проверить, какая система исчисления  используется (десятичная, двоичная или шестнадцатеричная). Подробнее о типах данных реестра я писал в предыдущей статье.

редактирование ключа реестра

 

Операция, обратная созданию — удаление. Можно удалить любой раздел реестра за исключением корневых, и любой параметр кроме Default (по умолчанию), который является основным значением. Для удаления достаточно щелкнуть правой кнопкой мыши на объекте и выбрать пункт Удалить. Regedit попросит подтвердить удаление, но в подтверждении не указано, какой именно объект будет удаляться.

удаление объекта реестра

 

Поэтому, прежде чем подтвердить удаление, проверяем что именно выделено на экране. При операциях с реестром надо помнить о том, что в Regedit нет команды Отменить и все изменения применяются немедленно.

Если вам нужно найти определенный ключ или раздел реестра, то можно воспользоваться поиском.

поиск в реестре

 

Запускается он сочетанием клавиш CTRL+F или через меню Правка, а возобновляется клавишей F3 (при возобновлении поиска ищется следующее положение искомой строки).

Одна из замечательных способностей Regedit — возможность экспортировать и импортировать данные реестра в файл. Эти операции могут выполняться как для любого раздела так и для всего реестра целиком. Чтобы произвести экспорт реестра идем в меню Файл — Экспорт

экспорт реестра

 

В открывшемся окне выбираем, какую часть реестра (или весь реестр) экспортируем, а также тип файла

экспорт реестра

 

По умолчанию экспорт производится в файл с расширением .reg (reg-файл).

reg-файл

Особенностью reg-файлов является то, что они ассоциируются с реестром и при двойном клике мышкой на reg-файле происходит автоматический перенос информации из файла в реестр (слияние,merge).

запуск reg-файла

 

Reg-файлы используются для импорта настроек с одного компьютера на другой (или несколько). А если набрать в командной строке regedit <имя reg-файла>  /s , то запроса на подтверждение не будет, что очень удобно для применения в различных сценариях автоматической установки.

С помощью Regedit можно редактировать файлы реестра. Для этого в меню Файл выбираем пункт Загрузить куст и выбираем файл куста реестра (в примере я взял файл SYSTEM другого компьютера).

выбор файла реестра

Затем даем ему оригинальное название

загрузка куста реестра

 

И вот, у нас появляется новый раздел реестра, который можно редактировать

редактирование файла реестра

 

Произведя необходимые изменения, выгружаем раздел обратно в файл

выгрузка файла реестра

 

Эту возможность можно использовать для восстановления поврежденного реестра другого компьютера. Исправленный файл  куста реестра можно просто скопировать в его исходное местоположение, даже не загружая операционную систему.

Также мы можем редактировать удаленный реестр напрямую, подключившись к нему по сети. Для этого в меню Файл выбираем пункт Подключить сетевой реестр, затем выбираем удаленный компьютер

подключение удаленного реестра

 

Для успешного подключения должно соблюдаться 2 условия:

  1. Нужно обладать административными полномочиями на удаленном компьютере.
  2. В настройках безопасности должно быть разрешено удаленное редактирование реестра.

В удаленном реестре отображаются только 2 основных раздела HKLM и HKU, так как остальные разделы являются их алиасами

удаленный реестр

 

Точно так же, как и на локальном компьютере, все изменения в реестре применяются немедленно, так что следует быть осторожным и предварительно сделать резервную копию удаленного реестра.

Перед закрытием Regedit не забаваем обязательно отключить удаленный реестр

отключение удаленного реестра

 

Право на редактирование реестра по умолчанию имеют только члены группы администраторов. Однако это ограничение можно изменить. Для этого выбираем нужную ветвь реестра, и стоя на ней в меню Правка выбираем пункт Разрешения

разрешения реестра

В открывшемся окне жмем Добавить и выбираем пользователей, которым разрешено редактировать реестр.

Утилита командной строки REG.EXE

Утилиту Reg.exe можно использовать в качестве альтернативы Regedit. Запускается она из командной строки с различными командами

reg.exe

 

Для редактирования реестра (локального или удаленного) используются следующие команды:

  • REG QUERY – показывает значение разделов и ключей реестра
  • REG ADD – добавляет новый раздел или ключ в реестр
  • REG DELETE – удаляет раздел или ключ из реестра
  • REG COPY – копирует раздел или ключ реестра из одного раздела в другой

Как видно, редактировать значения ключей реестра с помощью reg.exe не получиться.

Можно сделать импорт-экспорт реестра с помощью команд:

  • REG SAVE – сохраняет раздел реестра в файл куста реестра
  • REG RESTORE – восстанавливает раздел реестра из файла куста реестра
  • REG EXPORT – экспорт разделов или параметров реестра в reg-файл
  • REG IMPORT – импорт разделов или параметров реестра из reg- файла

Также можем подключить файл реестра (аналог опции Загрузить куст) с помощью:

  • REG LOAD – загружает раздел реестра из файла
  • REG UNLOAD – выгружает раздел реестра в файл

Ну и интересная возможность, которой нет в Regedit — сравнение двух разделов реестра:

  • REG COMPARE – сравнивает разделы и значения параметров реестра

Для получения  подробной справки о той или иной команде вводим имя команды с ключом /?

reg query

 

Честно говоря, я не часто использую REG.EXE для внесения изменений в реестр, однако с его помощью очень удобно делать резервную копию реестра. Например, создаем с помощью команды REG SAVE HKLM\SYSTEM c:\backup\system резервную копию раздела HKLM\SYSTEM. Затем, при повреждении реестра достаточно просто скопировать полученный файл system в его в исходное местоположение C:\WINDOWS\system32\config\. Для этого можно даже не загружать ОС.

 
 
Комментарии

Пока нет комментариев.