Тема: «Использование реестра» Вопросы темы

Вид материалаДокументы

Содержание


Назначение реестра
Компоненты, использующие реестр
Иерархическая структура реестра.
REG_SZ — текстовая строка фиксированной длины. REG_EXPAND_SZ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ СоmputerName\ ComputerName).
Поддеревья реестра.
Hkey_users —
Hkey_current_user —
Программа Regedt32.exe
Команды Registry Editor
Общие правила работы с реестром
Редактирование реестра
При редактировании системного реестра Windows ХР следует соблюдать предельную осторожность!
Использование REG-файлов
Резервное копирование и восстановление реестра
Редактора реестра
Подобный материал:
Тема: «Использование реестра»

Вопросы темы:
  1. Общие сведения о реестре
  2. Использование Registry Editor
  3. Использование REG-файлов


Windows 2000 хранит аппаратные и программные параметры централизованно в иерархической базе данных, называемой реестром. Реестр заменяет многие конфигурационные INI-, SYS- и СОМ-файлы, использовавшиеся в ранних версиях Microsoft Windows. Он предоставляет операционной системе сведения для инициализации приложений и загрузки таких компонентов, как драйверы устройств и сетевые протоколы.

Назначение реестра

В реестре содержатся сведения о следующих компонентах:
  • аппаратном обеспечении компьютера — центральном процессоре, типе шины, указательном устройстве или мыши, клавиатуре и т п.
  • установленных драйверах устройств;
  • установленных приложениях;
  • установленных сетевых протоколах;
  • параметрах сетевой платы: номере IRQ, базовом адресе памяти, базовом адресе порта ввода-вывода, готовности канала ввода-вывода и типе трансивера.





Рис.1 окно программы Редактор реестра.


Компоненты, использующие реестр:

Таблица 1

Компонент

Описание

Ядро Windows NT

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

Драйверы устройств

Получают из реестра параметры конфигурации и хранят в реестре информацию об используемых системных ресурсах, например, прерываниях или каналах DMA.

Профили пользователей

Windows 2000 создает и поддерживает параметры рабочей среды пользователя в его профиле. Когда пользователь входит в систему, система кэширует его профиль в реестре. Windows 2000 сначала записывает изменения пользовательской конфигурации в реестр, а затем отражает их в профиле.

Программы установки

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

Аппаратные профили

Применяются на компьютерах с несколькими аппаратными конфигурациями. В процессе загрузки Windows пользователь выбирает аппаратный профиль, Windows конфигурирует систему соответствующим образом.

Ntdetect.com

В процессе загрузки системы на компьютере с процессором Intel выполняет поиск аппаратных средств. Полученные динамические данные об аппаратной конфигурации хранятся в реестре. Компьютер с RISC-процессором извлекает эти сведения из ПЗУ устройств компьютера.


Иерархическая структура реестра.

Таблица 2

Компонент

Описание

Поддерево

Аналог корневого каталога диска. Реестр имеет пять поддеревьев

Например, HKEY_LOCAL_MACHINE.

Раздел

Аналог каталогов и подкаталогов, соответствует аппаратным или программным объектам и группам объектов. Подразделы – это разделы внутри разделов более высокого уровня.

Компонент

Описание

Записи

Включает три части: имя параметра, тип данных и значение.

Куст

Дискретный набор разделов, подразделов и записей. Каждый куст имеет соответствующий файл реестра и LOG-файл, расположенные в каталоге systemroot\System32\Config. Windows использует LOG-файл для записи изменений и соблюдения целостности реестра.

Типы данных

Каждое значение записи выражается одним из следующих типов данных:
  • REG_DWORD — целое число. Может использоваться, например, в качестве пере­ключателя (1 — включение, 0 — выключение некоторого действия); могут при­меняться и другие числа. Возможно представление этого типа данных в двоич­ном, десятичном и шестнадцатеричном формате. Используется этот тип данных, например, параметрах драйверов устройств.
  • REG_SZ — текстовая строка фиксированной длины.
  • REG_EXPAND_SZ — расширенная строка. Этот тип данных используется в Windows для ссылок на файлы и, кроме произвольного текста, может включать в себя специальные переменные, заменяющиеся во время «интерпретации» значения параметра реестра на определенные пути к каталогам. Например, значение па­раметра данного типа может содержать такие специальные переменные:



  • %systemroot% — заменяет собой путь к каталогу, в котором операцион­ная система хранит свои файлы (например, каталог С: \Windows);
  • %windir% — является эквивалентом предыдущей переменной.

Ее отличие от %systemroot% заключается в том, что переменную %systemroot% пе­реопределить нельзя, а каталог, к которому ведет переменная %windir%, можно изменить с помощью окна Переменные среды, вызываемого нажатием соответствующей кнопки на вкладке Дополнительно диалога Свойства системы;
  • %systemdrive% — заменяет собой букву системного диска (диска, на ко­тором операционная система хранит свои файлы);
  • %userprofile% — заменяет собой путь к каталогу, хранящему профиль текущего пользователя;

• %programfiles% — заменяет собой путь к каталогу, в который операци­онная система по умолчанию устанавливает все программы;
  • %username% — в отличие от предыдущих переменных, эта переменная за­меняет собой не путь к каталогу, а имя текущего пользователя, работаю­щего с системой;
  • %computername% — как и предыдущая переменная, эта переменная не имеет никакого отношения к файловой системе Windows. Она заменяет собой имя компьютера (именно это имя используется при обращении к компьютеру по сети и хранится в строковом параметре ComputerName ветви реестра

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ СоmputerName\ ComputerName).

  • REG_BINARY — необработанные двоичные данные. Большинство сведений об аппаратных компонентах хранится в виде двоичных данных и выводится в редакторе реестра в шестнадцатеричном формате.
  • REG_MULTI_SZ — многострочный текст. Этот тип, как правило, имеют списки и другие записи в формате, удобном для чтения. Записи разделяются пробелами, запятыми или другими пометками.
  • REG_FULL_RESOURCE_DESCRIPTOR - последовательность вложенных массивов. Хранит список ресурсов для аппаратных компонентов или драйверов, не допускает модификацию.

При помощи программы Редактор рееста параметры данного типа создать нельзя (но можно создать при помощи REG-файлов).
  • REG_LINK — строковый тип данных, предназначенный для указания пути к фай­лам. При помощи программы regedit параметры данного типа создать нельзя (но их можно создать при помощи REG-файлов).





Поддеревья реестра.

Редактором реестра отображаются следующие пять поддеревьев:
  1. HKEY_LOCAL_MACHINE — содержит сведения о локальном компьютере, в том числе об аппаратной организации и операционной системе, например: о типе системной шины, памяти, драйверах устройств и параметрах загрузки. Приложения, драйверы устройств и операционная система используют эти сведения для настройки компьютера. Данные в этом поддереве неизменны, независимо от текущего пользо­вателя.
  2. HKEY_USERS — содержит информацию обо всех пользователях данного ком­пьютера. Следует отметить тесную взаимосвязь данного раздела с разделом HKEY_CURRENT_USER, который фактически дублирует один из его подразде­лов, а именно относящийся к текущему пользователю.
  3. HKEY_CURRENT_USER — содержит информацию о пользователе, работающем с Windows ХР в текущем сеансе, а также о различных настройках системы, от­носящихся к текущему пользователю (вид Рабочего стола, сетевые соединения, принтеры и др.) и сохраняет ее в разделе systemroot\Documents And Settings\имя пользователя.
  4. HKEY_CLASSES_ROOT — включает в себя информацию о зарегистрированных в системе типах файлов, порядке обработки файлов каждого типа, а также об управлении основными настройками интерфейса.

Указывает на подраздел HKEY_LOCAL_MACHINE\SOFTWARE\Classes.
  1. HKEY_CURRENT_CONFIG — содержит данные об активном аппаратном профиле, извлеченные из кустов SOFTWARE и SYSTEM. Эти сведения используются для настройки загружаемых драйверов и разрешения дисплея.




Рис.2 Поддеревья реестра.


Рассмотрим на примере поддерева HKEY_LOCAL_MACHINE свойства поддеревьев реестра.

HKEY_LOCAL_MACHINE включает информацию, специфическую для локального компьютера; его содержимое не зависит от текущего пользователя.

Корневой раздел HK.EYLOCALMACHINE имеет пять подразделов

Таблица 3

Подраздел

Описание

HARDWARE

Отражает тип и состояние физических устройств,

подключенных к компьютеру. Формируется динамически в процессе загрузки. Поскольку значения этого раздела непостоянны, он не проецируется в файл на диске.


SAM

БД каталога для данного компьютера. Куст SAM проецируется в файлы SAM и SAM.log в папке systemroot\System32\ Config. Приложения не вправе модифицировать информацию из этого раздела, вместо этого они обращаются к SAM через соответствующий API-интерфейс.


SECURITY

Параметры безопасности локального компьютера. Куст SECURITY проецируется в файлы Security и Security.log в папке systemroot\System32\Config. Приложения не вправе модифицировать информацию из этого раздела, вместо этого они используют соответствующий API-интерфейс.


SOFTWARE

Информация о программном обеспечении локального компьютера, которая не зависит от конфигурации конкретного пользователя. Этот куст проецируется в файлы Software, Software.log и Software.sav в каталоге systemroot\System32\Config. Он также содержит информацию о привязках файлов и регистрации OLE-компонентов.

SYSTEM

Информация о системных устройствах и службах, модифицируемая при установке или настройке драйверов устройств или служб. Куст System проецируется в файлы System, System.log и System.sav в каталоге systemroot\System32\Config. Резервная копия куста SYSTEM хранится в файле System.alt.



  1. Использование Registry Editor

Управление реестром — это важная часть работы системного администратора, включающая просмотр, редактирование, резервное копирование и восстановление реестра. Для просмотра и изменения конфигурации реестра используется Registry Editor (Редактор реестра).


Программа Regedt32.exe

Setup размещает редактор реестра (программу Regedt32.exe) в папке systemroot\System32. Для запуска редактора реестра необходимо выбрать в меню Start команду Run (Выполнить).

Setup также устанавливает второй редактор реестра — Regedit.ехе. У него нет меню безопасности и он не поддерживает режим «только для чтения», а также типы REGEXPANDSZ или REGMULTISZ.

Хотя Registry Editor (Редактор реестра) разрешает редактировать реестр вручную, прежде всего он предназначен для устранения неисправностей и конфликтов. Большинство изменений конфигурации следует выполнять из панели управления, либо средствами администрирования. Впрочем, некоторые параметры конфигурации можно изменить только путем прямого редактирования реестра.

Некорректное использование редактора реестра может вызвать серьезные общесистемные проблемы, для решения которых, возмож­но, потребуется переустановить Windows 2000. Перед вызовом редактора реестра сделайте резервную копию реестра. Затем в Registry Editor (Редактор реестра) выберите в меню Options (Параметры) команду Read Only Mode (Только чтение), чтобы предотвратить случайное обновление или удаление данных конфигурации

Редактор реестра автоматически сохраняет данные по мере внесения

изменений. Новые параметры вступают в силу немедленно. Некоторые наиболее полезные команды Registry Editor (Редактор реестра) находятся в меню Registry (Реестр) и View (Вид).


Команды Registry Editor

Команда

Описание

Выгрузить куст

Сохраняет фрагмент реестра в двоичном формате. Впоследствии этот файл можно использовать с командой Восстановить для восстановления исходного набора значений после тестирования изменений.

Восстановить

Загружает данные из файла в текущий раздел. Если выбранный раздел был ранее сохранен в файле данных, редактор реестра перезапишет в этот раздел данные из файла.

Сохранить раздел

Сохраняет выбранный раздел и все его подразделы в текстовом файле. Впоследствии с помощью текстового редактора можно найти определенное значение или раздел, который был добавлен или изменен. Заметьте: загрузить информацию из этого текстового файла обратно в реестр нельзя.


Выбрать компьютер

Открывает реестр на удаленном компьютере. Windows2000 Server разрешает удаленный доступ к своему реестру только членам группы Administrators (Администраторы), однако Windows 2000 Professional позволяет работать со своим реестром любому пользователю с действительной учетной записью. Разрешить удаленный доступ к реестру в обеих ОС можно, создав раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg с типом REG_DWORD и значением 1.

Меню Вид

(Найти раздел)

Ищет в реестре определенный раздел. Имена разделов отображаются на левой панели Registry Editor (Редактор реестра). Поиск выполняется в текущем разделе и во всех его подразделах локально по отношению к текущему поддереву. Например, поиск раздела в поддереве HKEY_LOCAL_MACHINE не включает разделы из HKEY_CURRENT_USER.



Общие правила работы с реестром

  1. Редактировать системный реестр можно вручную или с помощью специально предназначенных утилит.
  2. Ручное редактирование системного реестра Windows ХР выполняется либо средствами Редактора реестра, либо с помощью REG-файлов.



Редактирование реестра


Для перехода в режим редактирования параметра системного реестра следует дважды щелкнуть на нем кнопкой мыши либо выполнить команду Изменить контекстного меню, которое появляется при щелчке правой кнопкой мыши на имени параметра. В результате откроется окно редактирования параметра, в котором выполняются необходимые действия. Вид и состав данного окна зависит от типа данных текущего параметра реестра. Кратко рассмотрим все возможные варианты конфигурации окна редактирования.




Рисунок 3 Изменение параметра DWORD




Рисунок 4 Редактирование строкового параметра


На рис. 4 представлено диалоговое окно, предназначенное для редактирования параметров со следующими типами данных: REG_SZ, REG_EXPAND_SZ, REG_LINK, REG_RESOURCE_LIST, REG_FULL_RESOURCE_DESCRIPTOR, REG_RESOURCE_REQUIREMENTS_LIST.

На рис. 5 показано окно, предназначенное для редактирования двоичных параметров (то есть параметров с типом данных REG_BINARY).



Рисунок 5 Редактирование двоичного параметра

При редактировании системного реестра Windows ХР следует соблюдать предельную осторожность!

Вносить те либо иные изменения в реестр допускается только в том случае, когда вы абсолютно уверены в отсутствии негативных последствий. Редактор реестра не предусматривает отмены выполненных действий, поэтому перед редактированием реестра обязательно сделайте его резервную копию! Помните, что неквалифицированное изменение системного реестра может повлечь за собой катастрофические последствия для операционной системы.

  1. Использование REG-файлов


В процессе эксплуатации системы могут возникать ситуации, когда редактирование реестра средствами Редактора реестра невозможно либо нецелесообразно. В таких случаях следует использовать файлы реестра, которые имеют расширение REG.

По своей структуре и содержанию файл реестра представляет собой обычный текстовый файл, поэтому его формирование и редактирование возможно с помощью любого текстового редактора (например, Блокнота). Следует отметить, что для редактирования имеющегося REG-файла целесообразно воспользоваться командой Файл ► Экспорт, которая активизируется в окне Редактор реестра. В результате выполнения этой команды требуемый файл (это может быть как файл отдельного раздела или ветви, так и файл реестра целиком) будет экспортирован по указанному пути. После внесения всех необходимых изменений файл импортируется в реестр с помощью команды Файл ► Импорт, также вызываемой в окне Редактор реестра.

Следует учитывать, что двойной щелчок кнопкой мыши на имени файла реестра в Проводнике не откроет его для редактирования, а приведет к импорту его в реестр таким же образом, как это произошло бы при выполне­нии команды Файл ► Импорт.

Важным элементом любого REG-файла системного реестра Windows ХР является его первая строка, текст которой нельзя изменять ни при каких обстоятельствах, так как только в этом случае система сможет распознать, что текущий файл содержит именно данные реестра.

Рассмотрим содержимое одного из файлов реестра на примере REG-файла раздела HKEY_CURRENT_USER\Control Panel\Mouse.


Windows Registry Editor Version 5.00


[HKEY_CURRENT_USER\Control Panel\Mouse] "ActiveWindowTracking"=dword:00000000

"DoubleClickHeight"="4"

"DoubleClickSpeed"="500"

"DoubleClickWidth"="4"

"MouseSensitivity"="14"

"MouseSpeed"="l"

"MouseThresholdl"="6"

"SmoothMouseXCurve"=hex:00,00, 00,00, 00,00,00,00,15,6e,00,00,00,00,00, 00,00,40,\


01, 00, 00, 00, 00, 00, 29, dc, 03, 00, 00, 00, 00, 00, 00, 00, 28, 00, 00, 00, 00, 00

"SmoothMouseYCurve"=hex:00,00,00,00,00,00,00,00,b8,5e,01,00,00,00, 00,00,cd,4c,\


05, 00, 00, 00, 00, 00, cd, 4c, 18, 00, 00, 00, 00, 00, 00, 00, 38, 02, 00, 00, 00, 00

"MouseThreshold2"="10"

"SnapToDefaultButton"="0"

"SwapMouseButtons"="0"

"MouseTrails"="0"


После первой строки текста REG-файла обязательно должна следовать пустая строка. Затем в квадратных скобках указывается раздел системного реестра, к которому относится редактируемый файл (в качестве разделителя между объектами реестра используется символ \).

Далее следует перечисление параметров редактируемого раздела с указанием имени параметра, типа данных и значения параметра (каждый параметр отображается в отдельной строке текста файла). При этом соблюдаются следующие правила: имя параметра заключается в кавычки, затем после знака равенства указывается тип данных, далее после двоеточия — значение параметра; если же тип данных не указан, то по умолчанию соответствующий параметр считается строковым, и его значение заключается в кавычки. Последняя строка REG-файла должна оставаться пустой.

Редактирование текста REG-файла осуществляется по обычным правилам работы с текстовыми файлами. Кроме того, следует отметить, что с помощью REG-файла можно удалять элементы системного реестра. Например, чтобы удалить раздел реестра, необходимо перед его именем в тексте REG-файла поставить знак «минус»:


-[HKEY_CURRENT_USER\Control Panel\Mouse]

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

Для удаления значения параметра следует поставить знак «минус» после знака «равно»:


"SnapToDefaultButton"=-


Резервное копирование и восстановление реестра


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

Самым простым способом является создание резервной копии с помощью Редактора реестра. На левой панели окна редактора следует установить указатель мыши на ветвь Мой компьютер (в этом случае будет сохранен весь реестр; если необходимо сделать копию какой-либо его части, то нужно выделить ее указателем) и выполнить команду Файл ► Экспорт

Можно также сохранять копии реестра с помощью встроенного системного механизма, специально предназначенного для резервного копирования информации. Для перехода в этот режим необходимо выполнить команду Пуск ► Панель управления ► Производительность и обслуживание ► Резервное копирование данных, в результате чего на экране появится окно мастера архивации и восстановления. Для восстановления реестра из архивной копии также следует использовать возможности мастера (требуемый режим работы — архивация или восстановление — выбирается с помощью соответствующей кнопки).


Контрольные вопросы:
  1. Что такое реестр?
  2. Что такое куст?
  3. Какой редактор рекомендуется использовать для просмотра и модификации реестра?
  4. Какой режим следует активизировать во время просмотра реестра? Почему?
  5. Перечислите типы данных, используемые в реестре.
  6. Назовите основные разделы реестра.
  7. С какой целью используются REG-файлы?
  8. Почему необходимо выполнять резервное копирование реестра и каким образом выполнить восстановление реестра?