Шрифт
Source Sans Pro
Размер шрифта
18
Цвет фона
Введение
Как известно, реестр является одной из главных составных частей операционных систем семейства Windows и во многом определяет их работу. Несмотря на это многие пользователи эксплуатируют Windows, даже не подозревая о существовании системного реестра. В первую очередь это обусловлено тем, что некоторые наиболее часто применяемые пользовательские настройки доступны для редактирования за пределами реестра (например, через Панель управления). «Непродвинутый» пользователь может и не догадываться, что при изменении параметров работы мыши, клавиатуры, монитора и других устройств соответствующие изменения автоматически вносятся в системный реестр. Но следует отметить, что пользователю и не всегда нужно об этом знать, поскольку работа с реестром относится, скорее, к сфере деятельности системного администратора.
Однако для опытного пользователя не является секретом, что более тонкая настройка операционной системы и некоторых приложений производится с помощью системного реестра. При этом помимо стандартных приемов его редактирования, детально описанных в соответствующей литературе, полезно знать и уметь выполнять некоторые специфические, нестандартные операции, помогающие получить желаемый результат более простым и быстрым способом. Описанию подобных трюков и посвящена эта книга.
Помимо описания разнообразных приемов редактирования системного реестра, книга включает в себя информацию о специально разработанных утилитах, предназначенных для работы с ним. Кроме того, в гл. 6 в режиме «вопрос – ответ» кратко описаны некоторые затруднительные ситуации, которые могут возникать при работе с реестром Windows Vista, и даны рекомендации по выходу из подобных ситуаций.
Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты dgurski@minsk.piter.com (издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
На сайте издательства http://www.piter.com вы найдете подробную информацию о наших книгах.
Глава 1. Основные понятия о реестре Windows Vista
• Группировка данных в реестре
• Типы данных, используемые в реестре
• Общие правила работы с реестром
• Использование REG-файлов
• Резервное копирование и восстановление реестра
Эффективность эксплуатации любого программного продукта во многом зависит от того, насколько грамотно и корректно была произведена его настройка. Обычно параметры настройки собраны в специальной базе данных, являющейся одним из основных компонентов программы. В операционной системе Windows такая база данных называется системным реестром, содержимое которого мы кратко рассмотрим в этой главе.
1.1. Группировка данных в реестре
Все параметры системного реестра WindowsVis ta в зависимости от их функционального назначения сгруппированы в пяти основных разделах, называемых корневыми.
Кратко остановимся на каждом из них (надо отметить, что название каждого раздела начинается с английской аббревиатуры HKEY).
• HKEY_CLASSES_ROOT – включает в себя информацию о зарегистрированных в системе типах файлов, порядке обработки файлов каждого типа, а также управлении основными настройками интерфейса (то есть содержит настройки ActiveX-объектов).
Кроме того, данный корневой раздел содержит сведения о программных пакетах MSI, которые были установлены в операционной системе, определяет список программ окна Открыть с помощью, а также хранит список интерфейсов (библиотек типов), которыми можно пользоваться при программировании под Windows.
• HKEY_CURRENT_USER – содержит информацию о пользователе, работающем с Windows Vista в текущем сеансе, а также о различных настройках системы, относящихся к текущему пользователю (вид Рабочего стола, сетевые соединения, принтеры и др.).
• HKEY_LOCAL_MACHINE – хранит информацию об аппаратной конфигурации компьютера и установленном программном обеспечении. Настройки раздела действительны для всех пользователей данного компьютера. Надо сказать, что по объему информации этот раздел является самым большим, если сравнивать с другими разделами реестра Windows Vista.
Нужно отметить тесную взаимосвязь данного корневого раздела с разделом HKEY_CLASSES_ROOT. Фактически HKEY_CLASSES_ROOT является ссылкой на ветвь реестра HKEY_LOCAL_MACHINE\SOFTWARE\Classes.
• HKEY_USERS – включает в себя информацию обо всех пользователях данного компьютера.
Следует отметить тесную взаимосвязь данного корневого раздела с разделом HKEY_CURRENT_USER, который фактически является ссылкой на подраздел корневого раздела HKEY_USERS, хранящий сведения о текущем пользователе.
• HKEY_CURRENT_CONFIG – хранит информацию о настройках оборудования, которое используется локальным компьютером в текущем сеансе работы.
Надо сказать, что данный корневой раздел является ссылкой на подраздел реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles.
В целом структура реестра представлена в иерархическом порядке: каждый из перечисленных разделов имеет ряд подчиненных уровней иерархии, нижней ступенью которой являются параметры настройки системного реестра.
Примером иерархии можно считать указанный выше подраздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles. Он начинается с корневого раздела HKEY_LOCAL_MACHINE. Подраздел SYSTEM находится в корневом разделе HKEY_LOCAL_MACHINE и является подчиненным ему. Подраздел CurrentControlSet находится в подразделе SYSTEM и т. д.
1.2. Типы данных, используемые в реестре
Рассмотрим наиболее часто используемые в реестре Windows Vista типы данных.
• REG_BINARY – двоичные данные. Этот тип данных используется, например, для хранения сведений об аппаратных ресурсах; сведения выводятся в Редакторе реестра в шестнадцатеричном формате.
• REG_DWORD – целое число. Может использоваться, например, в качестве переключателя (1 – включение, 0 – выключение некоторого действия); могут применяться и другие числа. Возможно представление этого типа данных в двоичном, десятичном и шестнадцатеричном формате. Этот тип данных используется, например, в параметрах драйверов устройств.
• REG_EXPAND_SZ – расширенная строка. Этот тип данных используется в Windows для ссылок на файлы. Кроме произвольного текста значение параметра такого типа может включать в себя специальные переменные, заменяющиеся определенными путями к каталогам во время своей «интерпретации». Например, значение параметра данного типа может содержать такие специальные переменные.
– %systemroot% – заменяет собой путь к каталогу, в котором операционная система хранит свои файлы (например, каталог C: \Windows).
– %windir% – является эквивалентом предыдущей переменной. Ее отличие от %systemroot% заключается в том, что переменную %systemroot% переопределить нельзя, а каталог, к которому ведет переменная %windir%, можно изменить с помощью окна Переменные среды, вызываемого нажатием соответствующей кнопки на вкладке Дополнительно окна Свойства системы.
– %systemdrive% – заменяет собой букву системного диска (диска, в котором операционная система хранит свои файлы).
– %userprofile% – заменяет собой путь к каталогу, хранящему профиль текущего пользователя.
– %programfiles% – заменяет собой путь к каталогу, в который операционная система по умолчанию устанавливает все программы.
– %username% – в отличие от предыдущих переменных, она заменяет собой не путь к каталогу, а имя текущего пользователя, работающего с системой.
– %computername% – как и предыдущая переменная, она не имеет никакого отношения к файловой системе Windows. Эта переменная заменяет собой имя компьютера (именно это имя используется при обращении к компьютеру по сети и хранится в строковом параметре ComputerName ветви реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName).
• REG_MULTI_SZ – многострочный текст (массив строк). Этот тип обычно используется для представления списков и иных подобных записей в удобном для чтения формате.
• REG_SZ – текстовая строка. Данные этого типа используются в реестре чаще всего.
• REG_FULL_RESOURCE_DESCRIPTOR – последовательность вложенных массивов, предназначенная для хранения списка ресурсов устройств или драйверов.
С помощью программы Редактор реестра параметры данного типа создать нельзя (но можно создать с помощью REG-файлов).
• REG_LINK – строковый тип данных, предназначенный для указания пути к файлам. С помощью программы regedit параметры данного типа создать нельзя (но их также можно создать с помощью REG-файлов).
Помимо перечисленных выше типов данных, в системном реестре могут использоваться типы REG_NONE, REG_RESOURCE_LIST и др.
1.3. Общие правила работы с реестром
Редактировать системный реестр можно вручную или с помощью специально предназначенных утилит. Порядок использования утилит описан в гл. 5. Здесь же мы подробнее остановимся на редактировании вручную.
Ручное редактирование системного реестра Windows Vista выполняется либо средствами Редактора реестра, либо с помощью REG-файлов. В следующих разделах мы подробно рассмотрим каждый из этих способов.
Редактор системного реестра Windows Vista представляет собой встроенный механизм, предназначенный для просмотра и редактирования параметров реестра. Для запуска Редактора реестра предназначен файл regedit.exe, расположенный в каталоге Windows, однако целесообразнее воспользоваться командой Пуск → Выполнить и в открывшемся окне Запуск программы в поле Открыть ввести regedit.
Структура Редактора реестра
После выполнения команды regedit на экране отображается окно Редактора реестра (рис. 1.1).
Рис. 1.1. Редактор реестра
В левой части данного окна приводится перечень разделов реестра (на рис. 1.1 раскрыт раздел реестра HKEY_CURRENT_USER), в правой части отображаются параметры и их значения. Главное меню окна Редактора реестра включает в себя пункты Файл, Правка, Вид, Избранное и Справка. Кратко остановимся на каждом из них.
• В составе меню Файл содержатся команды, предназначенные для работы с реестром в целом. С помощью команд Импорт и Экспорт производится, соответственно, импорт REG-файла в реестр и экспорт реестра целиком либо частично в REG-файл. При активизации данных функций на экране отображается окно, в котором нужно указать путь для выполнения этих действий. При необходимости подключения к реестру удаленного компьютера следует воспользоваться функцией Подключить сетевой реестр; с помощью функции Отключить сетевой реестр выполняется обратное действие.
• Команды меню Правка используются для работы с разделами либо параметрами реестра. Подменю Создать включает в себя команды Раздел, Строковый параметр, Двоичный параметр, Параметр DWORD (32 бита), Параметр QWORD (64 бита), Мультистроковый параметр и Расширяемый строковый параметр, предназначенные для создания соответствующих элементов реестра. С помощью команды Разрешения осуществляется переход в режим просмотра и редактирования разрешения для текущего раздела (при выборе данной команды на экране отображается окно, в котором выполняются необходимые действия). Команды Удалить (выполняется также нажатием клавиши Delete) и Переименовать предназначены для удаления либо переименования текущего элемента реестра соответственно. В результате выполнения команды Копировать имя раздела (Ctrl+C) в буфер обмена будет скопировано имя текущего раздела. Команды Найти (Ctrl+F) и Найти далее (F3) являются стандартными командами Windows; работа с ними ведется по обычным правилам.
• Команды меню Вид предназначены для управления отображением информации, содержащейся в окне Редактора реестра. Команда Строка состояния включает/выключает отображение строки состояния. С помощью команды Разделить включается режим перемещения разделителя левой и правой панелей окна. При необходимости отображения данных в двоичном формате следует воспользоваться командой Вывод двоичных данных (эта функция доступна только в том случае, когда указатель мыши расположен в правой панели окна). С помощью команды Обновить (она выполняется и при нажатии клавиши F5) обновляется окно.
• Команды меню Избранное предназначены для добавления раздела в список избранного либо для удаления его из этого списка.
• С помощью меню Справка можно вызвать справочную информацию о Редакторе реестра.
Как отмечалось выше, левая панель окна содержит иерархический перечень разделов реестра. Правая панель окна состоит из столбцов Имя, Тип и Значение, в которых отображается соответствующая информация (имя параметра, тип данных и значение параметра) для активной позиции в левой панели окна.
В следующем разделе мы рассмотрим порядок редактирования системного реестра Windows Vista.