Работа с системным реестром

Исследование структуры реестра Windows 98/XP: базовые функции

Цель: изучить структуру ключей реестра, типы параметров ключей, способы редактирования реестра; получить практические навыки работы с редактором реестра RegEdit.

Теоретические сведения

Основные принципы работы с системным реестром

Системный реестр – база данных, которая сохраняет параметры настройки для 32 разрядных версий Microsoft Windows, включая Windows 95, 98 и NT. Он содержит информацию и параметры настройки для всех аппаратных средств, программ, пользователей, и свойств PC. Каждый раз, когда пользователь делает изменения в параметрах настройки Панели управления, или в ассоциациях файлов, системной настройке, или в установленном программном обеспечении, изменения отражаются и сохраняются в системном реестре.

  1. расположение системного реестра

Физические файлы, которые составляют системный реестр, различаются в зависимости от Вашей версии Windows. В Windows 95 и 98 он содержится в двух скрытых файлах каталога Windows, называемыми USER.DAT и SYSTEM.DAT. В Windows NT файлы содержатся в каталоге "Windows/System32/Config".

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

Редактор системного реестра (REGEDIT.EXE) включен в большинство версий Windows (хотя Вы не найдете его в меню "Пуск") он дает возможность просматривать, искать и редактировать данные в пределах системного реестра. Имеется несколько методов для запуска редактора, самый простой — нажать на кнопку "Пуск", затем выбрать Выполнить, и в поле ‘Открыть:’ напечатать "regedit".

Обратите внимание: Всегда резервируйте Ваш системный реестр перед созданием любых изменений в нем. Это даст Вам возможность не переустанавливать операционную систему в случае неправильных действий. Гораздо лучше перестраховаться, чем потом жалеть!

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

Системный реестр имеет иерархическую структуру, которая подобна структуре каталогов на Вашем жестком диске, а Regedit подобен Проводнику Windows. Реестр содержит три типа объектов: ключи, параметры и значения.

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

Параметры имеются у каждого ключа и подключа. У каждого ключа обязательно есть хотя бы один параметр -" По умолчанию". Если значения параметров не заданы, то они имеют значение Null.

Параметры состоят из трех частей: тип параметра, имя параметра и его значение. Допустимы следующие типы параметров: двоичные, двойное слово и строковые. Каждому типу параметров соответствует своя пиктограмма в окне редактора реестра.

String (строковое). Представляет из себя ASCIIZ–строку (заканчивается символом с кодом 0). Имеет переменную длину, максимальный размер 64 кБ. Значение строки всегда заключается в кавычки.

Binary (двоичное). Максимальный размер 64 кБ. В окне редактора реестра представлено в виде 16-ричного значения.

DWORD (двойное слово). Представляет собой число размером 32 бита (в реестре 8-значное шестнадцатеричное число). Чтобы отличить этот тип данных от двоичного, перед численным значением DWORD всегда есть два символа: 0х.

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

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

· HKEY_CLASSES_ROOT: Эта ветвь содержит все типы Ваших ассоциаций к файлам, информацию об OLE и данные по ярлыкам.

· HKEY_CURRENT_USER: Эта ветвь связана с ветвью HKEY_USERS, и соответствует пользователю, работающему в настоящее время на PC. Содержит настройки системы и программ, относящиеся к текущему пользователю. Он создается при регистрации пользователя в системе на основе информации из соответствующего ключа [HKEY_USERS]. Именно здесь хранится информация о том, как данный пользователь сконфигурировал рабочую станцию.

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

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

Читайте также:  Xy y xtg y x

· HKEY_CURRENT_CONFIG: Эта ветвь связана с ветвью HKEY_LOCAL_MACHINE, и соответствует текущей аппаратной конфигурации. Содержит информацию о текущей конфигурации аппаратуры компьютера, используется в основном на компьютерах с несколькими аппаратными конфигурациями, например, при подключении портативного ПК к стыковочной станции и отключении от нее. Информация, содержащаяся в этом ключе, копируется из ключа [HKEY_LOCAL_MACHINE].

· HKEY_DYN_DATA: Эта ветвь связана с частью HKEY_LOCAL_MACHINE, и служит для использования особенностей Plug-&-Play в Windows, этот раздел динамически изменятся, когда устройства добавляются и удаляются из системы.

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Только сон приблежает студента к концу лекции. А чужой храп его отдаляет. 8945 — | 7615 — или читать все.

Лабораторная работа на тему "Работа с системным реестром" содержит теоретические сведения и практическую часть.

Скачать:

Вложение Размер
lr_rabota_s_sistemnym_reestrom.doc 311 КБ

Предварительный просмотр:

Лабораторная работа. Тема: Работа с системным реестром.

  1. Получение основных сведений о структуре и функциях системного реестра операционной системы Windows.
  1. Изучить теоретическую часть;
  2. Запустить редактор реестра.
  • Перейти в раздел реестра HKEY_CURRENT_USER;
  • Найти ключ, отвечающий за настройки Рабочего стола;
  • Ознакомиться со списком вложенных ключей;
  • Для произвольно выбранных из списка 5 ключей исследовать, аналогом каких настроек Панели управления они являются;
  • Перейти в раздел реестра HKEY_CLASSES_ROOT;
  • Выбрать из списка 5 ключей и описать, для файлов с какими расширениями они используются, и какие параметры для них установлены;
  1. Результаты внести в отчет.

На смену ini-файлам, имеющим ряд концептуальных ограничений, еще в Windows 3.1 было введено понятие реестра – регистрационной базы данных, хранящей различные настройки ОС и приложений. Изначально реестр был предназначен только для хранения сведений об объектах OLE (Object Linking and Embedding — связь и внедрение объектов) и сопоставлений приложений расширениям имен файлов, однако позже его структура и границы использования расширились. Реестры разных версий Windows имеют различия; это нужно помнить при импорте reg-файлов. В Windows XP в архитектуру реестра были введены важные новшества, улучшающие функциональность данного компонента ОС. Реестр хранится в бинарном (двоичном) виде, поэтому для ручной работы с ним необходима специальная программа — редактор реестра. В XP это Regedit.exe, в других версиях NT ими являются Regedit.exe и Regedt32.exe, имеющий дополнительные возможности работы с реестром (Regedt32.exe есть и в XP, но на самом деле он всего лишь вызывает Regedit.exe). Есть и другие программы, в том числе и консольные (Reg.exe). Ручным модифицированием параметров реестра мы займемся чуть позже, а сейчас рассмотрим основные группы сведений, хранящихся в этой базе данных.

  • Программы установки . Любая грамотно написанная программа под Windows должна иметь свой инсталлятор-установщик. Это может быть встроенный в ОС Microsoft Installer либо любой другой. В любом случае инсталлятор использует реестр для хранения своих настроек, позволяя правильно устанавливать и удалять приложения, не трогая совместно используемые файлы.
  • Распознаватель . При каждом запуске компьютера программа NTDETECT.COM и ядро Windows распознает оборудование и сохраняет эту информацию в реестре.
  • Ядро ОС . Хранит много сведений в реестре о своей конфигурации, в том числе и данные о порядке загрузки драйверов устройств.
  • Диспетчер PnP (Plug and Play) . Абсолютно необходимая вещь для большинства пользователей, которая избавляет их от мук по установке нового оборудования (не всегда, правда:)). Неудивительно, что он хранит свою информацию в реестре.
  • Драйверы устройств . Хранят здесь свои параметры.
  • Административные средства . Например, такие, как Панель управления, MMC (Micro-soft Management Console) и др.
  • Пользовательские профили . Это целая группа параметров, уникальная для каждого пользователя: настройки графической оболочки, сетевых соединений, программ и многое другое.
  • Аппаратные профили . Позволяют создавать несколько конфигураций с различным оборудованием.
  • Общие настройки программ . Почему общие? Потому, что у каждого пользователя есть профиль, где хранятся его настройки для соответствующей программы.
Читайте также:  Kingfast f6 pro 120gb

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

Реестр Windows имеет древовидную структуру, схожую со структурой файловой системы. Папкам здесь соответствуют ключи (keys) или разделы (ветви), а файлам — параметры (values). Разделы могут содержать как вложенные разделы (sub keys), так и параметры. На верхнем уровне этой иерархии находятся корневые разделы (root keys). Они перечислены в таблице 1

Таблица 1. Корневые разделы

Имя корневого раздела

Содержит глобальную информацию о компьютерной системе, включая такие данные об аппаратных средствах и операционной системе, в том числе: тип шины, системная память, драйверы устройств и управляющие данные, используемые при запуске системы. Информация, содержащаяся в этом разделе, действует применительно ко веем пользователям, регистрирующимся в системе Windows NT/2000. На верхнем уровне иерархии реестра для этого раздела имеются три псевдонима: HKEY CLASSES ROOT, HKEY CURRENT CONFIG и HKEY_DYN_DATA

Содержит ассоциации между приложениями и типами файлов (по расширениям имени файла). Кроме того, этот раздел содержит информацию OLE (Object Linking and Embedding), ассоциированную с объектами COM, а также данные по ассоциациям файлов и классов (эквивалент реестра ранних версий. Windows, служивших настройкой над MS-DOS). Параметры этого раздела совпадают с параметрами, расположенными в разделе HKEY_LOCAL_MACHINESoftwareClasses. Подробную информацию о разделе HKEY_CLASSES_ ROOT можно найти в руководстве OLE Programmer’s Reference, входящем в состав продукта Windows NT 4.0 Software Development Kit (SDK)

Содержит конфигурационные данные для текущего аппаратного профиля. Аппаратные профили представляют собой наборы изменений, внесенных в стандартную конфигурацию сервисов и устройств, установленную данными разделов Software и System корневого раздела HKEY_LOCAL_MACHINE. В разделе HKEY_CURRENT_ CONFIG отражаются только изменения. Кроме того, параметры этого раздела появляются также в разделе HKEY_LOCAL_MACHINESystem CurentControlSetHardwareProfitesCuiTent

Содержит, профиль пользователя, на данный момент . зарегистрировавшегося в системе, включая переменные окружения, настройку рабочего стола, параметры настройки сети, принтеров и приложений. Этот раздел представляет собой ссылку на раздел HKEY USERSusername, где username — имя пользователя, зарегистрировавшегося в системе на текущий момент

Содержит все активно загруженные пользовательские профили, включая HKEY_CURRENT_USER, а также профиль по умолчанию. Пользователи, получающие удаленный доступ к серверу, не имеют профилей, содержащихся в этом разделе; их профили загружаются в реестры на их собственных компьютерах. Windows NT/2000 требует наличия учетных записей для каждого пользователя, регистрирующегося в системе. Раздел HKEY_USERS содержит вложенный раздел Default, а также другие разделы, определяемые идентификатором безопасности (Security ID) каждого пользователя

Все параметры реестра имеют фиксированный тип. В таблице 2 приводится полный список используемых типов. Не все из них используются в разных версиях NT — REG_QWORD явно предназначен для 64-битной версии XP. Следует учесть, что ряд типов используется только системой в некоторых разделах, и создать свой параметр такого типа с помощью редактора реестра не получится.

Таблица 2. Типы параметров

Двоичные данные. Большинство сведений об аппаратных компонентах хранится в виде двоичных данных и выводится в редакторе реестра в шестнадцатеричном формате

Данные, представленные целым числом (4 байта). Многие параметры служб и драйверов устройств имеют этот тип и отображаются в двоичном, шестнадцатеричном или десятичном форматах

Строка Unicode переменной длины. Этот тип данных включает переменные, обрабатываемые программой или службой

Многострочный текст Unicode. Этот тип, как правило, имеют списки и другие записи в формате, удобном для чтения. Записи разделяются пробелами, запятыми или другими символами

Текстовая Unicode строка фиксированной длины

32-разрядное число в формате “остроконечников” — младший байт хранится первым в памяти. Эквивалент REG_DWORD

32-разрядное число в формате “тупоконечников” — старший байт хранится первым в памяти

Символическая ссылка Unicode. Только для внутреннего использования (некоторые корневые разделы являются такой ссылкой на другие подразделы)

Параметр не имеет определенного типа данных

64-разрядное число в формате “остроконечников”. Эквивалент REG_QWORD

Список аппаратных ресурсов. Используется только в разделе HKLMHARDWARE

Дескриптор (описатель) аппаратного ресурса. Применяется только в HKLMHARDWARE.

Читайте также:  Как подключить телефон андроид к компьютеру

Список необходимых аппаратных ресурсов. Используется только в HKLMHARDWARE.

Элементы реестра хранятся в виде атомарной структуры. Реестр разделяется на составные части, называемые ульями (hives), или кустами. Ульи хранятся на диске в виде файлов. Некоторые ульи, такие, как HKLMHARDWARE, не сохраняются в файлах, а создаются при каждой загрузке, то есть являются изменяемыми (vola-tile). При запуске системы реестр собирается из ульев в единую древовидную структуру с корневыми разделами. Перечислим ульи реестра и их местоположение на диске (для NT старше версии 4.0) в таблице 3

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

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

Виды программ для работы с системным реестром

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

Вторую группу программных продуктов образуют пакеты, предназначенные для чистки и дефрагментации реестра, такие, например, как jv16 PowerTools 2006 и Registry Mechanic. Лучшие решения данной группы обеспечивают гораздо более эффективную чистку, чем твикеры (табл. 1), хотя последние и сравнимы с ними в плане разнообразия выявляемых дефектов (табл. 2). Кроме того, специализированные пакеты для чистки дополнительно могут сжимать реестр (удаляя из него пустые записи, неизбежно образующиеся при удалении ключей) и дефрагментировать реестровые файлы, записывая их на диск последовательно. И то и другое может привести к повышению скорости работы с реестром, а следовательно, и скорости работы ОС в целом. Что касается других возможностей для управления ОС, то в таких решениях они зачастую также присутствуют, но реализованы сравнительно слабо.

Таблица 1. Сравнение пакетов для чистки реестра с точки зрения количества найденных
ошибок (тестирование проводилось на одной и той же версии ОС)