Понимание реестра Windows 2003
Введение
Реестр, представленный в Windows 95, представляет собой центральный репозиторий уникальных данных о пользователях и конфигурации компьютеров. Проще говоря, это большая база данных, содержащая всю информацию о конфигурации Windows 2003 — настройки, относящиеся к учетным записям пользователей, оборудованию машины и приложениям. Там есть все, от пользовательских настроек (таких как цвет фона, заставка и т. д.) до зашифрованных паролей локальных учетных записей.
Реестр был создан для замены старых файлов.INI (которые хранили настройки конфигурации в редактируемых текстовых файлах). Файлы INI были хороши, потому что они были короткими и легко редактировались. Однако у них были некоторые ограничения, такие как ограничения по размеру и отсутствие поддержки нескольких пользователей. Реестр пришел, чтобы избавить нас от этих ограничений и упростить восстановление настроек после сбоя, контроль доступа и отслеживание изменений в системе. Реестр отказоустойчив, в том смысле, что если вы устанавливаете приложение, которое записывает новую связку ключей в реестр, и происходит сбой питания, все остается нетронутым, и вы можете начать заново, когда система снова заработает. опять таки.
Примечание:
Некоторые приложения по-прежнему используют файлы INI для хранения пользовательских настроек или языков графического интерфейса. Например, во время написания этой статьи я открыл файл language.ini, который нашел в каталоге одного из установленных приложений, и изменил некоторые строки. Когда я затем открыл свое приложение, графический интерфейс показал на нем мой текст вместо текста по умолчанию.
Большая часть информации в Реестре помещается туда автоматически Windows при установке ОС. Остальное поступает от утилит и приложений через процедуры их установки. Также возможно редактировать данные реестра вручную, что позволяет настраивать, включать или исправлять определенные параметры.
ПРЕДУПРЕЖДЕНИЕ!
Любые изменения, которые вы вносите в реестр с помощью редактора реестра, являются постоянными, кнопки «отменить» нет, поэтому будьте очень осторожны в своих действиях. Возитесь с реестром только в том случае, если вы знаете, что делаете, последствия ваших ошибок могут быть катастрофическими (то есть: в худшем случае вам придется переустанавливать Windows с нуля). Я не несу ответственности за какие-либо убытки или ущерб в результате вашего вмешательства в реестр. Редактируйте на свой страх и риск и, как правило, всегда делайте резервную копию (обсуждается далее в этой статье).
Ниже приведен снимок экрана, показывающий структуру реестра, состоящего из пяти поддеревьев (обсуждаемых в следующем разделе этой статьи). Вы можете перейти к ключу слева, и его значения будут отображаться в окне справа. Чтобы открыть редактор реестра, нажмите «Пуск» > «Выполнить…» и введите «regedit.exe».
Рисунок 1: Regedit.exe, показывающий структуру реестра
Установка разрешений
Вы можете установить разрешения для определенных поддеревьев или ключей, чтобы пользователям или приложениям был разрешен или запрещен доступ. По умолчанию пользователям разрешен доступ для чтения, а администраторам разрешен доступ для чтения и записи к большинству ключей.
Недавно при тестировании приложения.NET я обнаружил, что процедура установки неправильно назначает разрешения для определенного ключа, поэтому часть приложения дает сбой. Как только я установил правильные разрешения, все снова заработало гладко. В данном случае это вина поставщика приложения, и, к счастью, мне удалось реализовать временное исправление с помощью regedit.exe.
Чтобы установить разрешения, откройте regedit.exe, щелкните правой кнопкой мыши ключ и выберите «Разрешения…». Это вызовет список ACL для этого ключа и позволит вам редактировать разрешения, как вы обычно делаете для файла или папки NTFS.
Рисунок 2: Список ACL для установки разрешений на ПРОГРАММНЫЙ ключ
Само собой разумеется, но будьте осторожны, кому / чему вы разрешаете и запрещаете разрешения.
Пять поддеревьев реестра
Следующие пять разделов реестра содержат логическую группу данных реестра, называемую поддеревьями. Это пять основных разделов реестра, каждый из которых содержит набор подразделов. При внесении изменений вы, скорее всего, будете выполнять большую часть работы в поддеревьях _MACHINE и _USER.
ПОДДЕРЕВО
ОПИСАНИЕ
HKEY_CLASSES_ROOT
Поддерево HKEY_CLASSES_ROOT содержит данные, связывающие типы файлов с приложениями и конфигурацией COM-объектов.
HKEY_LOCAL_USER
Поддерево HKEY_LOCAL_USER, также известное как общепринятое сокращение HKCU, содержит настройки и предпочтения для пользователя, вошедшего в систему в данный момент. Эти настройки являются динамическими и уникальными для каждого пользователя.
HKEY_LOCAL_MACHINE
Также известно, что поддерево HKEY_LOCAL_MACHINE содержит общую аббревиатуру HKLM и содержит информацию об установленном в данный момент оборудовании и настройках систем, работающих на машине. Обычно они являются статическими для всех пользователей, пока не будут внесены изменения.
HKEY_USERS
Это поддерево просто содержит указатель на HKEY_LOCAL_USER и профиль пользователя DEFAULT (шаблон, используемый при назначении профиля новым пользователям).
HKEY_CURRENT_CONFIG
Это поддерево хранит данные конфигурации для текущего профиля оборудования и указывает на HKEY_LOCAL_MACHINESYSTEMCurrentControlSetHardware Profiles.
Типы данных, определенные реестром
В правой части редактора реестра вы увидите различные типы данных и их значения.
ТИП ДАННЫХ
ОПИСАНИЕ
REG_SZ
Простое строковое значение. Например, обычно содержит URL, путь или номер порта.
REG_BINARY
Необработанные двоичные данные, представленные в шестнадцатеричном формате.
REG_DWORD
Другой тип REG_BINARY, но он имеет длину 4 байта.
REG_MULTI_SZ
Строка символов переменного размера, которая позволяет вам вводить несколько параметров в эту запись с одним значением.
REG_EXPAND_SZ
Это строка символов переменного размера, которая может содержать динамическую информацию, которая будет меняться при запуске (например, %username%, которая имеет разный размер для каждого имени).
Настройка удаленного реестра
Regedit.exe позволяет быстро и легко удаленно настроить реестр другой машины. Все, что вам нужно, это правильные разрешения (разрешения администратора), чтобы сделать это.
КОНЧИК:
Убедитесь, что групповая политика не запрещает подключения к удаленному реестру.
Откройте regedit.exe и в меню «Файл» выберите «Подключить сетевой реестр…». Введите имя компьютера или нажмите [Дополнительно…], найдите его и нажмите OK. После ввода правильных учетных данных реестр удаленной машины загружается в консоль, как если бы это был реестр локальной машины.
Когда вы закончите вносить изменения, просто выберите «Отключить сетевой реестр…» в меню «Файл», и regedit.exe разорвет соединение.
Еще раз помните, что любые внесенные вами изменения будут немедленно отражены на удаленной машине или, в некоторых случаях, после следующего перезапуска.
Рисунок 3: Снимок экрана, показывающий подключение к удаленному реестру
При удаленном подключении к реестру вы сможете редактировать только ключи HKEY_LOCAL_MACHINE и HKEY_USERS.
В этом примере я с локальной машины подключился к другому серверу под названием ZTABONA и могу внести необходимые изменения в вышеупомянутые ключи.
Резервное копирование и восстановление реестра
Существует три метода резервного копирования реестра или его частей в Windows 2003. Вы можете создать резервную копию/восстановить весь реестр с помощью утилиты резервного копирования Windows, импортировать/экспортировать определенные поддеревья или ключи из regedit.exe или использовать небольшой инструмент. вызывается reg.exe из командной строки. Они объясняются более подробно ниже.
Утилита резервного копирования и восстановления (или мастер)
В меню «Пуск» перейдите в «Программы» > «Стандартные» > «Инструменты системы» и откройте «Резервное копирование» — это запустит Мастер резервного копирования и восстановления или сразу перейдет к утилите «Резервное копирование и восстановление» (в зависимости от ранее выбранных настроек).
Рисунок 4: Утилита резервного копирования и восстановления
На вкладке «Резервное копирование» разверните «Мой компьютер» и установите флажок «Состояние системы».
Примечание:
На контроллере домена резервное копирование состояния системы также приведет к резервному копированию Active Directory, загрузочных файлов, сервера сертификатов (если он установлен), реестров классов COM-объектов и SYSVOL, помимо полного реестра.
Найдите место, куда следует поместить файл резервной копии (в идеале съемное хранилище или другой раздел), и нажмите «Начать резервное копирование». Появится новое диалоговое окно, показывающее статус процедуры резервного копирования. По завершении резервного копирования нажмите OK и закройте.
Чтобы восстановить файл резервной копии, перейдите на вкладку «Восстановление и управление носителями» и выберите «Инструменты» > «Каталог файла резервной копии». Перейдите к местоположению файла резервной копии и выберите его. Выберите, что вы хотите восстановить (в данном случае это все состояние системы) и нажмите кнопку «Начать восстановление».
Импорт/экспорт файлов реестра
Когда вы экспортируете раздел реестра, он сохраняется как файл.reg, который при выполнении добавит свои значения обратно в реестр. Это обычно используется, когда поставщику программного обеспечения нужен клиент, например, для включения «режима отладки».
Чтобы экспортировать файл реестра, выберите нужный ключ на левой панели в regedit.exe, щелкните правой кнопкой мыши и выберите «Экспорт». Выберите, где вы хотите сохранить файл.reg, и нажмите «Сохранить». После экспорта файла его можно отредактировать с помощью Notepad.exe или любого текстового редактора.
Пример файла.reg:
Редактор реестра Windows версии 5.00
[HKEY_CURRENT_USERПанель управленияСпециальные возможностиMouseKeys]
«Флаги» = «62»
«Максимальная скорость» = «80»
«TimeToMaximumSpeed» = «3000»
Чтобы импортировать reg-файл, просто дважды щелкните его, чтобы открыть диалоговое окно, и нажмите «Да». Затем информация будет добавлена в реестр.
Рисунок 5: Окно подтверждения редактора реестра
Импортируйте информацию в реестр только в том случае, если вы точно знаете, что содержит ключ.
Примечание:
Вы также можете импортировать/экспортировать файл реестра с помощью инструмента командной строки reg.exe.
Использование командной строки
Используя reg.exe, вы можете создавать резервные копии и восстанавливать части реестра с помощью нескольких простых команд. Этот инструмент позволит вам создавать резервные копии одного поддерева за раз — во время работы системы.
Для целей этого объяснения я продемонстрирую использование REG SAVE и REG RESTORE.
REG сохранить
Используйте команду REG save, чтобы сохранить корневые ключи для будущего восстановления. Синтаксис этой команды:
reg save <корневое_поддерево> <место_сохранения>
В моем примере, используя приведенный выше синтаксис, я сохранил поддеревья HKEY_CLASSES_ROOT, HKEY_CLASSES_CONFIG и HKEY_CLASSES_USER, как показано ниже.
Рисунок 6: Использование инструмента командной строки reg.exe для сохранения ключей реестра
Файлы реестра будут сохранены в указанный каталог, как показано на скриншоте ниже.
Рисунок 7: Папка для хранения сохраненных ключей реестра
восстановление регистра
С помощью команды reg restore вы можете восстановить ранее сохраненные ключи с помощью команды reg save. Используя мой пример, если бы я хотел восстановить HKEY_CLASSES_ROOT, я бы выполнил следующую команду в командной строке:
Рег восстановить hkcr c: egbackuphkcr
И так далее и тому подобное для остальных ключей.
Вывод
Знание того, как устроен реестр и как его резервировать и восстанавливать, окажется ценным знанием для всех. Как сетевой администратор вы обнаружите, что редактирование реестра иногда является единственным решением многих проблем. Как бы никому не нравилось возиться с реестром, иногда у человека не остается другого выбора. Не бойтесь вносить изменения, просто будьте осторожны и точно знайте, что вы собираетесь делать. Риски очевидны – один неверный ход и игра окончена. Я не могу не подчеркнуть это достаточно!