Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций ОС.docx
Скачиваний:
48
Добавлен:
14.04.2019
Размер:
17.75 Mб
Скачать

Тема 3.7. Назначение и структура реестра Windows.

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

  2. Структура реестра

  3. Хранение данных реестра

  4. Администрирование и поддержка реестра. Резервное копирование и восстановление реестра

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

Системный реестр Windows — тайна за семью печатями для обычного пользователя. Эта тема традиционно считается невероятно сложной для понимания и доступной лишь избранным. Пока одни избранные, вроде Нео, гнут ложки взглядом, другие мастерски ныряют в дебри системного реестра и вытворяют там удивительные вещи. Бытует мнение, что с помощью системного реестра операционную систему Windows можно заставить делать практически все, чего только не возжелает ее хозяин. Простым пользователям остается лишь вздыхать, читая очередную инструкцию, как с помощью системного реестра изменить тот или иной параметр, повлиять на работу программы или повысить скорость доступа в Интернет.

Для того чтобы получить базовое представление о системном реестре, не нужно быть программистом или системным администратором. Более того, в системном реестре нет ничего таинственного, требующего поклонения по ночам со свечами перед зеркалом. Реестр — это просто реляционная база данных, в которой сохраняется вся необходимая для работы компьютера информация о настройках операционной системы, а также используемом совместно с Windows программном обеспечении и оборудовании. Как видите, это простое объяснение сразу снимает покров таинственности с понятия «реестр».

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

Программа оптимизации системного реестра:

Основы системного реестра

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

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

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

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

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

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

Изменение реестра Windows ХР позволяет решать такие задачи:

  • решать проблемы, возникающие в процессе работы разнообразных программ и эффективно настраивать режимы их работы;

  • устранять неисправности в работе оборудования, связанные с некорректным применением разнообразными устройствами ресурсов операционной системы или драйверов;

  • настраивать параметры и ограничения рабочей среды Windows, менять базовые характеристики и параметры операционной системы;

  • настраивать быстродействие ПК;

  • перераспределять ресурсы ОС так, как это нужно администратору компьютера;

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

Данные в реестре Windows XP хранится в бинарной, т.е. в двоичной форме. Это дает возможность не только записывать в реестр большие объемы различных данных, но и существенно повышвает скорость работы с ними. На реальности это означает, что работа с реестром Windows ХР требует использование специализированных программ, в то время как в более старых версиях Windows любой пользователь мог менять содержимое реестра с помощью обычного редактора Блокнот.

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

Структура системного реестра Windows

Реестр Windows XP отличается многоуровневой архитектурой, включающей в себя четыре нисходящих логических компонента. К первому компоненту, расположенному в самом верху иерархии реестра, относятся так называемые ветви реестра. Эти ветви обозначаются с использованием англоязычной аббревиатуры HKEY_. После символа подчеркивания идет название самой ветви. Всего в реестре Windows XP есть пять основных ветвей: HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS и HKEY_CURRENT_CONFIG.

К второму компоненту в системе иерархии реестра относятся разделы, или ключи реестра (keys). В Windows XP не существует универсального стандарта для обозначения ключей реестра, поэтому имена для них назначались разработчиками согласно типам данных, которые расположены в ключе. Работать с ключами можно в программе Редактор реестра (RegEdit), где они отображаются в виде подпапок ветвей HKEY_, как показано рисунке ниже.

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

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

  • Указываются системой. Имена ключей выбираются ОС, их изменение может сделать Windows XP полностью неработоспособной.

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

Ступенькой ниже в структурной иерархии реестра расположены подразделы реестра (subkeys). Подразделы также прямо не связаны с какими-либо типами данных и не используются в рамках каких-либо соглашений, которые ограничивают присвоение им названий. Наравне с именами ключей, названия подразделов определяются как ОС, так и пользователем, причем в первом случае их модификация может стать причиной проблем в работе Windows, а во втором — нет.

Финальная ступень в архитектуре системного реестра называется параметром (values). Это компонент реестра, содержащий непосредственно сами данные, которые обуславливают работу ОС и всего компьютера. Параметры, фактически, являются цепочкой «имя параметра — значение параметра» и различаются по типу содержащейся в качестве их значений информации.

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

Разобравшись с реестром, перейдем к обзору типы данных, которые хранятся в параметрах реестра Windows.

Типы данных системного реестра Windows

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

  • REG_NONE. Тип данных «Неизвестный». Зашифрованные данные.

  • REGSZ. Тип данных «Строковый». Текст.

  • REG_EXPAND_SZ. Тип данных «Строковый». Текст и переменные.

  • REG_BINARY. Тип данных «Двоичный». Двоичные данные.

  • REG_DWORD. Тип данных «Числовой». Число.

  • REG_DWORD_BIN_ENDIAN. Тип данных «Числовой». Число с обратным порядком байтов.

  • REG_LINK. Тип данных «Строковый». Путь к файлу.

  • REG_MULTI_SZ. Тип данных «Многостроковый». Массив строк.

  • REG_RESOURCE_LIST. Тип данных «Строковый». Список ресурсов устройств.

  • REG_FULL_RESOURCE_DESCRIPTOR. Тип данных «Строковый». Идентификатор ресурса устройства.

  • REG_RESOURCE_REQUIREMENTS_LIST. Тип данных «Строковый». Идентификатор ресурса устройства.

Любой пользователь может свободно редактировать все значения параметров реестра, причем не важно, к какому типу данных, из указанных ранее, они относятся. В программе Редактор реестра представлен набор встроенных мастеров, которые дают возможность менять разнообразные типы данных. В частности, для настройки значений числовых параметров используется мастер DWORD, двоичных — BINARY, строковых — STRING и многостроковых — MULTISTRING.

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

  • HKEY_LOCAL_MACHINE (HKLM). В этой ветви представлены данные, связанные с операционной системе и оборудованием. К ним относятся, например, тип шины компьютера, общий объем доступной оперативной памяти, список загруженных в текущий момент времени драйверов устройств, а также информация об особенностях загрузки Windows. Это самая объемная ветвь системного реестра Windows XP, которая применяется для тонкой настройки оборудования компьютера. При этом данные, расположенные в этой ветви, относятся сразу ко всем профилям пользователей, зарегистрированных в системе.

  • HKEY_CURRENT_USER (HKCU). В этой ветви находятся сведения о пользователе, текущий сеанс работы которого обслуживается реестром. В подразделах этой ветви записаны данные о переменных окружения, группах программ пользователя, настройках рабочего стола и экрана, сетевых соединениях, принтерах и дополнительной конфигурации программ (в Windows XP переменные окружения применяются в сценариях, записях реестра и других программах лишь в роли подстановочных параметров). Эта информация передаются из подраздела Security ID (SID) ветви HKEY_USERS для текущего пользователя. Другими словами, в данной ветви предоставлена вся информация, относящаяся к профилю активного пользователя Windows.

  • HKEY_LOCAL_MACHINE (HKLM). В данной ветви находятся данные об операционной системе и оборудовании, к примеру, тип шины компьютера, объем доступной оперативной памяти, список загруженных в текущий момент времени драйверов устройств, а также информация, связанная с загрузкой Windows. Эта ветвь содержит наибольший объем информации в системном реестре Windows XP и зачастую применяется для тонкой настройки оборудования компьютера. Данные в этой ветви относятся к профилям всех зарегистрированных в системе пользователей.

  • HKEY_USERS (HKU). В этой ветви расположены подразделы с данными о всех профилях пользователей компьютера. Один из ее подразделов всегда связан с подразделом HKEY_CURRENT_USER (через параметр Security ID (SID) пользователя)). В другом подразделе, а именно, подразделе, HKEY_USERS\DEFAULT, представлены данные о параметрах системы в настоящий момент времени, которые были актуальны до начала сеанса работы пользователя, зарегистрированного в системе.

  • HKEY_CURRENT_CONFIG (HKCC). В данной ветви представлены подразделы со сведениями обо всех профилях оборудования, активного в текущем рабочем сеансе. Профили оборудования дают возможность выбирать драйверы поддерживаемых устройств для выбираемого сеанса работы (что позволяет, к примеру, не задействовать активацию порта док-станции переносного компьютера в тот период, когда он не подключен к станции). Данные сведения передаются из подразделов HKEY_LOCAL_MACHlNE\SYSTEM\CurrentControlSet.

Хранение данных реестра

В Windows NT/2000 элементы реестра хранятся в виде атомарной структуры. Реестр подразделяется на составные части, которые разработчики этой операционной системы назвали кустами, или ульями (hives) по аналогии с ячеистой структурой пчелиного улья. Куст представляет собой дискретную совокупность разделов, вложенных разделов и параметров, берущую начало в вершине иерархии реестра. Отличие кустов от других групп разделов состоит в том, что они являются постоянными компонентами реестра. Кусты не создаются динамически при загрузке операционной системы и не удаляются при ее остановке. Таким образом, раздел HKEY_LOCAL_MACHINE Hardware, который строится динамически распознавателем аппаратных средств при запуске Windows NT/2000, кустом не является. Данные кустов реестра хранятся в файлах, находящихся в каталогах %SystemRoot%System32Conue и %SystemRoot%Proules\Jsername (Windows NT 4.0) и %SystemRoot%System32Cohue и %SystemDrive%Documents and SettingsUsername (Windows 2000).

Каждый куст реестра Windows NT/2000 ассоциирован с набором стандартных файлов), В табл. 3.7.1 перечислены стандартные кусты реестра Windows NT/2000 и поддерживающие их файлы.

Таблица 3.7.1. Стандартные файлы, обеспечивающие поддержку кустов реестра Windows NT

Все файлы кустов реестра, за исключением HKEY_CURRENT_USER, находятся в подкаталоге %SystemRoot%System32Conug.

Поддержку куста HKEY_CURRENT_USER выполняют файлы Ntuser.dat и Ntuser.dat.log. В файлах Ntuser.dat хранятся пользовательские профили; файл Ntuser.dat.log отслеживает изменения, которые вносились в файл Ntuser.dat. В Windows NT 4.0 эти файлы располагаются во всех подкаталогах каталога %SystemRoot%Profiles (за исключением подкаталога All Users). В Windows 2000 эти файлы располагаются в каталогах % SystemDrive%Documents andSettings %Usemame%.

Файлы Ntuser и Userdiff были впервые введены в Windows NT 4.0:

  • файл Ntuser.dat, в котором хранится пользовательский профиль, заменил собой файлы usemamexxx и adminxxx из предыдущих версий Windows NT;

  • файл Ntuser.dat из каталога %SystemRoot%ProulesDefa.utJser заменил собой файл Userdef из предыдущих версий Windows NT. Этот профиль используется для построения куста HKEY_CURRENT_USER, когда новый пользователь впервые регистрируется в системе;

  • файлы Userdiff, которые находятся только в каталоге %SystemRoot% System32Config, не ассоциируются ни с одним кустом. Они служат для обновления существующих профилей пользователей, использовавшихся в предыдущих версиях Windows NT, таким образом, чтобы эти профили могли применяться в Windows NT 4.6 и последующих версиях (Windows 2000).

С кустами ассоциируются файлы четырех типов. Все эти типы файлов (с соответствующими расширениями имен файлов) перечислены в табл. 3.7.2.

Таблица 3.7.2. Типы файлов, ассоциированных с кустами реестра Windows NT 4.0/Windows 2000

Администрирование и поддержка реестра. Резервное копирование и восстановление реестра

Непосредственное редактирование реестра, даже в тех случаях, когда оно необходимо, при неумелом выполнении может привести к большим неприятностям. Поэтому, если вы чувствуете себя неуверенно или просто не можете позволить себе затратить значительное время для проведения восстановительных работ, не ставьте смелых экспериментов над реестром своей операционной системы (будь то Windows NT 4.0 или Windows 2000). Вполне возможно, что единственная ошибка приведет к необходимости переустановки операционной системы.

Предупреждение

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

ошибка, редактор сохранит некорректное значение, а вы не получите даже предупреждения, так как редакторы реестра не распознают и не исправляют такие ошибки.

Реестр Windows представляет собой один из жизненно важных компонентов операционной системы, необходимый, в том числе, и при ее загрузке. Именно поэтому при подготовке процедур восстановления системы после сбоев нельзя недооценивать важность роли резервного копирования и восстановления системного реестра. Эту процедуру можно выполнить следующими способами: Резервное копирование и восстановление реестра осуществляются, в том числе, и при выполнении рассмотренных ранее процедур резервного копирования и восстановления системных данных (System State data).

Резервное копирование реестра может выполняться при изготовлении диска аварийного восстановления (ERD). Для этого при создании ERD необходимо установить флажок Архивировать реестр в папку восстановления (Also backup the registry to the repair directory). Резервное копирование реестра будет произведено в папку %SystemRoot%\Kpair. Процедура аварийного восстановления будет использовать информацию из этой папки, поэтому никогда не следует ни удалять, ни модифицировать ее содержимое.

Резервное копирование и восстановление реестра Windows может быть выполнено с помощью утилиты Reg, включенной в состав программных продуктов Windows Resource Kit.

Наконец, резервное копирование и восстановление реестра можно выполнять путем экспорта/импорта реестра с помощью команд Импорт файла реестра (Import Registry File) и Экспорт файла реестра (Export Registry File) программы Regedit или даже вручную.

Процедуры резервного копирования и восстановления системных конфигурационных данных (System State data), а также процедуры изготовления и использования диска аварийного восстановления (ERD), были подробно рассмотрены в главе 8. Однако в ряде случаев вам могут весьма пригодиться альтернативные методы резервного копирования и восстановления реестра, которые и будет рассмотрены в последующих нескольких разделах.