Лабораторная работа Системный реестр Windows
Цель работы: изучить физическую и логическую структуру реестра Windows.
Оборудование и ПО: компьютер, виртуальная машина VMware, ОС Windows XP.
Список теоретических вопросов:
Что представляет собой реестр Windows XP?
Основные возможности по настройке компьютера с помощью редактирования реестра.
В какой форме хранится информация в реестре и что обеспечивает эта форма представления данных?
Что можно сказать о размере реестра Windows XP?
Как запустить редактор реестра?
Для чего предназначены переменные среды?
Физическая структура реестра.
Что понимается под энергонезависимыми разделами реестра?
Логические ступени реестра Windows XP, их характеристика.
Функциональное назначение ветвей реестра.
Теоретические сведения
Реестр представляет собой базу данных Windows, в которой содержатся важные конфигурационные сведения об оборудовании, установленных программах и их параметрах, а также профилях каждой из учетных записей пользователей компьютера. Windows постоянно обращается к этим сведениям.
Пользователям не следует вручную вносить изменения в реестр, поскольку обычно все необходимые изменения выполняются программами и приложениями автоматически. Неправильное изменение параметров реестра может привести компьютер в неработоспособное состояние. Однако в случае повреждения файла реестра изменения могут быть необходимы.
Корпорация Майкрософт настоятельно рекомендует создать резервную копию реестра перед внесением в него каких-либо изменений, а также изменять только те параметры, назначение которых вам известно.
Основные возможности по настройке компьютера с помощью редактирования реестра
Редактирование реестра Windows позволяет:
разрешать проблемы, возникающие в процессе эксплуатации прикладного программного обеспечения;
гибко настраивать режимы работы приложений;
устранять неполадки в работе оборудования, вызванные некорректным использованием различными устройствами ресурсов операционной системы или драйверов;
настраивать параметры и ограничения пользовательской среды Windows, изменять заданные по умолчанию характеристики операционной системы;
управлять быстродействием компьютера;
перераспределять ресурсы операционной системы по усмотрению администратора компьютера;
управлять конфигурацией компонент Windows и системных сервисов, что позволяет оптимизировать работу операционной системы в зависимости от назначения компьютера и стоящих перед пользователем задач.
ПРЕДУПРЕЖДЕНИЕ: НИКОГДА не удаляйте или не меняйте информацию в реестре, если Вы не уверены что это именно то, что нужно. В противном случае некорректное изменение данных может привести к сбоям в работе Windows и, в лучшем случае, информацию придется восстанавливать из резервной копии.
Для того чтобы запустить на компьютере Редактор реестра, необходимо выбрать в Главном меню Windows пункт Выполнить (Run), и набрать в открывшемся окне команду %systemroot%\regedit, или regedit.
%systemroot% – переменная среды, определяющая папку установки Windows. Переменные среды предназначены для обозначения изменяемых данных о системе.
Физическая структура системного реестра Windows
Физически вся информация реестра разбита на несколько файлов. Реестры Windows 9х и NT частично различаются. В Windows 95/98 реестр содержится в двух файлах SYSTEM.DAT и USER.DAT, находящиеся в каталоге Windows. В Windows Me был добавлен еще один файл CLASSES.DAT. По замыслу Microsoft он должен был полностью заменить файлы ini, которые были оставлены только для совместимости со старыми программами, ориентированными на более ранние версии операционной системы.
Почему произошел переход от ini файлов к реестру? Дело в том, что на эти файлы накладывается ряд серьезных ограничений, и главное из них состоит в том, что предельный размер такого файла составляет 64Кб.
Информация в реестре Windows XP хранится в бинарной, то есть в двоичной форме, что позволяет не только помещать в реестр значительно больший объем различных данных, но и существенно увеличить скорость работы с ним. На практике это означает, что взаимодействие с реестром Windows XP возможно только с помощью специализированного программного обеспечения, в то время как в более ранних реализациях Windows пользователь мог изменять содержимое реестра посредством любого текстового редактора.
На максимальный размер реестра Windows XP не накладывается никаких ограничений.
Отметим тот факт, что некоторые из отображающихся в реестре сведений вообще не сохраняются на диске в виде физических файлов, они помещаются в память компьютера в процессе его загрузки и утрачиваются в момент отключения питания. Такие разделы реестра получили название энергозависимых (volatile); на практике это означает, что данные разделы являются управляемыми операционной системой в пределах одного сеанса - то есть, начиная с момента загрузки Windows, и заканчивая моментом ее выгрузки.
В частности, к энергозависимым разделам реестра относится ветвь HKEY_LOCAL_MACHINE\HARDWARE, в которой аккумулируются сведения о подключенном в системе оборудовании и назначенных различным устройствам ресурсах: запросах на прерывание (IRQ), каналах прямого доступа к памяти (DMA) и диапазонах ввода-вывода (I/O Range).
Прочие компоненты реестра, хранящие данные о базовой конфигурации операционной системы, ее настройках и параметрах, содержатся в системной папке %systemroot%\System32\Config.
Файлы, включающие сведения о профилях пользователей Windows XP, хранятся в папке %systemroot%\Profiles.
Все данные, относящиеся к каким-либо конкретным настройкам системы для каждого пользователя, а также об их персональной конфигурации рабочей среды, представлены в папках %Drive%\Documents and Settings\%UserName%, где %Drive% - имя дискового раздела, на котором установлена Windows XP, а %UserName% - папка, имя которой соответствует имени одного из зарегистрированных в системе пользователей.
Дополнительные сведения о локальных пользователях Windows по умолчанию содержатся в папке %Drive%\Documents and Settings\LocalService, а данные о настройках системы для удаленных пользователей - в папке %Drive%\Documents and Settings\NetworkService.
Однако для нормального взаимодействия с реестром Windows знания его устройства на физическом уровне в целом не требуется: специальное программное обеспечение, позволяет редактировать реестр, как единый файл. В этом случае важно лишь представлять себе его логическую структуру и уметь различать хранящиеся в реестре типы данных.
Логическая структура (архитектура) реестра Windows XP
Реестр Microsoft Windows XP имеет многоуровневую структуру, состоящую из четырех нисходящих логических ступеней.
К первой, и самой верхней в иерархии реестра ступени относятся так называемые ветви (Hive Keys), обозначение которых по их английскому наименованию принято в виде аббревиатуры HKEY_, за символом подчеркивания следует обычно название самой ветви.
Второй ступенью в иерархической системе реестра являются так называемые разделы или ключи (Keys). В Windows XP нет какого-либо единого стандарта в обозначении ключей системного реестра, поэтому их имена были назначены разработчиками исходя из типа данных, представленных внутри ключа. Ключи отображаются в программе Редактор реестра в виде подпапок ветвей HKEY_. Следует понимать, что не существует также каких-либо жестких ограничений, сопоставляющих ключам строго определенный тип данных. Иными словами, ключи в иерархии реестра служат исключительно для облегчения доступа к информации и являются одним из средств ее упорядочения. Функционально ключи можно разделить на две условные категории: определяемые системой - то есть те, имена которых назначены операционной системой и их изменение может привести к отказу или сбоям в работе Windows XP, и определяемые пользователем - имена этих ключей могут быть изменены администратором компьютера, и такие изменения не приведут к каким-либо фатальным последствиям.
Ступенью ниже в архитектуре реестра следуют так называемые подразделы (Subkeys). Подразделы также не имеют жестко установленных ассоциаций с какими-либо типами данных, и не подчиняются никаким соглашениям, ограничивающим их наименования. Так же как и имена ключей, имена подразделов могут быть определены системой или пользователем, причем в первом случае их изменение способно привести к сбоям в работе Windows, а во втором случае - нет.
Последней ступенью в иерархической структуре системного реестра являются параметры (Values) – это элементы реестра, содержащие саму информацию, определяющую работу операционной системы и компьютера в целом. Параметры представляют собой цепочку «имя параметра - значение параметра» и различаются согласно типу хранимых в качестве значений данных.
Если мы проведем условную аналогию с файловой системой компьютера, то в этом случае ветви (Hive Keys) будут играть роль корневых папок логических разделов жесткого диска, ключи и подразделы – соответственно папок и подпапок, хранящихся в логических дисковых разделах, а параметры – самих файлов, расположенных в собственных папках, при этом каждый из таких файлов может иметь имя (имя параметра) и хранящееся в нем содержимое (значение параметра). Теперь нам необходимо подробно рассмотреть типы данных, которые могут храниться в параметрах реестра Windows.
В таблице 1 перечислены корневые разделы (root keys).
Таблица 1. Корневые разделы
Тип данных |
Описание |
REG_BINARY |
Двоичные данные. Большинство сведений об аппаратных компонентах хранится в виде двоичных данных и выводится в редакторе реестра в шестнадцатеричном формате |
REG_DWORD |
Данные, представленные целым числом (4 байта). Многие параметры служб и драйверов устройств имеют этот тип и отображаются в двоичном, шестнадцатеричном или десятичном форматах |
REG_EXPAND_SZ |
Строка Unicode переменной длины. Этот тип данных включает переменные, обрабатываемые программой или службой |
REG_MULTI_SZ |
Многострочный текст Unicode. Этот тип, как правило, имеют списки и другие записи в формате, удобном для чтения. Записи разделяются пробелами, запятыми или другими символами |
REG_SZ |
Текстовая Unicode строка фиксированной длины |
REG_DWORD_LITTLE_ENDIAN |
32-разрядное число в формате "остроконечников" — младший байт хранится первым в памяти. Эквивалент REG_DWORD |
REG_DWORD_BIG_ENDIAN |
32-разрядное число в формате "тупоконечников" — старший байт хранится первым в памяти |
REG_LINK |
Символическая ссылка Unicode. Только для внутреннего использования (некоторые корневые разделы являются такой ссылкой на другие подразделы) |
REG_NONE |
Параметр не имеет определенного типа данных |
REG_QWORD |
64-разрядное число |
REG_QWORD_LITTLE_ENDIAN |
64-разрядное число в формате "остроконечников". Эквивалент REG_QWORD |
REG_RESOURCE_LIST |
Список аппаратных ресурсов. Используется только в разделе HKLM\HARDWARE |
REG_FULL_RESOURCE_DESCRIPTOR |
Дескриптор (описатель) аппаратного ресурса. Применяется только в HKLM\HARDWARE. |
REG_RESOURCE_REQUIREMENTS_LIST |
Список необходимых аппаратных ресурсов. Используется только в HKLM\HARDWARE. |
Типы данных
Все параметры реестра имеют фиксированный тип. В таблице 2 приводится полный список используемых типов. Не все из них используются в разных версиях NT – REG_QWORD явно предназначен для 64-битной версии XP. Следует учесть, что ряд типов используется только системой в некоторых разделах, и создать свой параметр такого типа с помощью редактора реестра не получится.
Таблица 2. Типы параметров
Тип данных |
Описание |
REG_BINARY |
Двоичные данные. Большинство сведений об аппаратных компонентах хранится в виде двоичных данных и выводится в редакторе реестра в шестнадцатеричном формате |
REG_DWORD |
Данные, представленные целым числом (4 байта). Многие параметры служб и драйверов устройств имеют этот тип и отображаются в двоичном, шестнадцатеричном или десятичном форматах |
REG_EXPAND_SZ |
Строка Unicode переменной длины. Этот тип данных включает переменные, обрабатываемые программой или службой |
REG_MULTI_SZ |
Многострочный текст Unicode. Этот тип, как правило, имеют списки и другие записи в формате, удобном для чтения. Записи разделяются пробелами, запятыми или другими символами |
REG_SZ |
Текстовая Unicode строка фиксированной длины |
REG_DWORD_LITTLE_ENDIAN |
32-разрядное число в формате "остроконечников" — младший байт хранится первым в памяти. Эквивалент REG_DWORD |
REG_DWORD_BIG_ENDIAN |
32-разрядное число в формате "тупоконечников" — старший байт хранится первым в памяти |
REG_LINK |
Символическая ссылка Unicode. Только для внутреннего использования (некоторые корневые разделы являются такой ссылкой на другие подразделы) |
REG_NONE |
Параметр не имеет определенного типа данных |
REG_QWORD |
64-разрядное число |
REG_QWORD_LITTLE_ENDIAN |
64-разрядное число в формате "остроконечников". Эквивалент REG_QWORD |
REG_RESOURCE_LIST |
Список аппаратных ресурсов. Используется только в разделе HKLM\HARDWARE. |
REG_FULL_RESOURCE_DESCRIPTOR |
Дескриптор (описатель) аппаратного ресурса. Применяется только в HKLM\HARDWARE. |
REG_RESOURCE_REQUIREMENTS_LIST |
Список необходимых аппаратных ресурсов. Используется только в HKLM\HARDWARE. |
