2. ХРАНЕНИЕ РЕЕСТРА

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

В Windows ХР реестр содержится в двух файлах SYSTEM.DAT и USER.DAT, находящиеся в каталоге Windows. В Windows Me был добавлен еще один файл CLASSES.DAT.

В Windows XP элементы реестра хранятся в виде атомарной структуры. Реестр разделяется на составные части, называемые ульями (hives), или кустами. Ульи хранятся на диске в виде файлов (табл.2). Некоторые ульи, такие, как HKLM\HARDWARE, не сохраняются в файлах, а создаются при каждой загрузке, то есть являются изменяемыми (vola-tile). При запуске системы реестр собирается из ульев в единую древовидную структуру с корневыми разделами.

Таблица 2

Ульи реестра

Улей Расположение
HKLM\SYSTEM %SystemRoot%\system32\config\system
HKLM\SAM %SystemRoot%\system32\config\SAM
HKLM\SECURITY %SystemRoot%\system32\config\SECURITY
HKLM\SOFTWARE %SystemRoot%\system32\config\software
HKLM\HARDWARE Изменяемый улей
HKLM\SYSTEM\Clone Изменяемый улей
HKU\<SID_пользователя> %USERPROFILE%\ntuser.dat
HKU\<SID_пользователя>_Classes %USERPROFILE%\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat
HKU\.DEFAULT %SystemRoot%\system32\config\default

Кроме этих файлов, есть ряд вспомогательных, со следующими расширениями:

ALT — резервная копия улья HKLM\SYSTEM для Windows 2000 (отсутствует в XP).

LOG — журнал транзакций, в котором регистрируются все изменения реестра.

SAV — копии ульев в том виде, в котором они были после завершения текстовой фазы установки.

Пользователи Windows 98 могут провести параллель между файлами с расширением .sav и файлом System.1st.

На рис.1 показаны взаимосвязи между кустами реестра и соответствующими им файлами. На рисунке показан каталог %SYSTEMROOT%\System32\Config, в котором содержатся файлы кустов с настройками для компьютера. Из рис.1 видно, что Windows сохраняет содержание подраздела HKLM\SOFTWARE в файле куста, который называется Software.



Рис.1. Взаимосвязи между кустами реестра и соответствующими им файлами

3. ФАЙЛ РЕЕСТРА

Знание реестра Windows будет не полным без умения написать reg-файл. Начнем с того, что это такое. Reg-файл - это файл, имеющий определенную структуру и содержащий информацию, которая может быть импортирована в реестр. Если была заблокирована работа с редактором реестра, то наиболее легким способом подредактировать реестр будет создание и импортирование reg-файла.

К reg-файлам предъявляются определенные требования по структуре. Начнем с того, что в первой строке файла обязательно должно быть введено (для Windows ХР) REGEDIT4 или (для Windows 2000/XP) Windows Registry Editor Version 5.00.

Обратите внимание на то, что буквы должны быть большие. Кроме этого в первой строке ничего быть не должно. После этого текста ОБЯЗАТЕЛЬНО должна быть пустая строка.

Затем, указывается раздел реестра, в котором надо прописать или изменить какие-то параметры. Название раздела должно быть заключено в квадратные скобки [...]. Ниже прописываются параметры, которые надо добавить, по одному параметру в строке. Если надо провести изменения в нескольких разделах, то должны оставлять одну пустую строку между последним параметром предыдущего раздела и названием следующего раздела. Может немного запутанно, но вот как это должно выглядеть:

REGEDIT4

[Razdel1]

"param1"="znachenie1"

"param2"="znachenei2"

"param3"="znachenie3"

[Razdel2]

"param_1"="znachenie_1"

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

Windows 2000/XP обладает обратной совместимостью и может обрабатывать файлы, созданные в Windows 9x. Но если вы экспортировали файл в Windows XP и перенесли его на Windows 9x, то вручную измените первую строчку на REGEDIT4

Теперь пару слов о параметрах, которые можно добавлять. Как вы, наверное, обратили внимание, в приведенном выше примере добавляются параметры с помощью строк типа "param1"="znachenie1". Т.е. таким образом добавляется СТРОКОВЫЙ параметр с именем "param1" и значением "znachenie1". Но ведь существуют еще и параметры двоичные и DWORD. Формат записи для их добавления несколько другой. Для параметров типа DWORD используется строка

"param"=dword:XXXXXXXX

Здесь "param" - имя параметра, dword - указывает на тип этого параметра (буквы должны быть обязательно маленькие!) и после двоеточия следует значение из восьми цифр в шестнадцатеричном (!) формате. Однако большинство параметров DWORD имеют значение либо 0, либо 1, значит, вы должны написать соответственно либо 00000000, либо 00000001 вместо значков ХХХХХХХХ. Пробелы в строке не допускаются.

Для добавления двоичного параметра формат записи несколько иной:

"param"=hex:XX,XX,XX,....

Теперь расшифруем эту строку. С названием параметра все ясно, после знака "=" идет hex, т.е. указывается, что это будет двоичный параметр, затем идут шестнадцатеричные числа, отделенные запятой. Например, если надо добавить двоичный параметр равный "be 00 00 00", то пишется строка

"param"=hex:be,00,00,00

В реестре существуют параметры "По умолчанию" ("Default"). Чтобы присвоить им какое-то значение через reg-файл, надо добавить такую строку:

@="znachenie"

Здесь значок @ показывает, что у нас присваивается значение параметра "По умолчанию". Обратите внимание на то, что он не заключается в кавычки.

Теперь приведу пример простенького reg-файла, который прописывает в реестр сайт, устанавливающий домашнюю страничку в Internet Explorer'e:

REGEDIT4

[HKEY_CURRENT_USER\Software\ Microsoft\Internet Explorer\Main]

"Start Page" = "http://winchanger.narod.ru/"

Удаление параметров

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

[-HKEY_LOCAL_MACHINE\Software\QuickSoft\QuickStart]

Благодаря этой записи, подраздел "QuickStart" из раздела "QuickSoft" будет удален со всем содержимым.

Для удаления отдельных параметров используйте следующий синтаксис:

REGEDIT4

[HKEY_CURRENT_USER\Software]

"xxx"= —

Параметры командной строки

Редактор реестра можно запускать с некоторыми ключами

/s (импортирует значения из reg-файла без вывода диалогового окна)

/e (экспортирует параметры в reg-файл. Пример: regedit /e myfile.reg HKEY_USERS\.DEFAULT


Информация о работе «Архитектура системного реестра Windows»
Раздел: Информатика, программирование
Количество знаков с пробелами: 11270
Количество таблиц: 2
Количество изображений: 1

Похожие работы

Скачать
40793
1
2

... ·  Если Windows программа имеет графический интерфейс, то и Линукс программа должна иметь его тоже; ·  Функциональность Linux программы должна соответствовать основным функция Windos программы; С учётом поставленных критерий и принципов была осуществлена методика подбора программ аналогов для заполнения информационной базы, в которой они будут участвовать в качестве списков соответствий программ ...

Скачать
47063
0
0

... ОС для домашнего ПК. Нужно отметить тот факт, то 14 октября 2000 года российское представительство объявило о начале продаж русской версии… На этом завершим рассмотрение систем Windows, предназначенных для «пользовательских» ПК. 4    Windows для серверов и профессиональных рабочих станций 4.1 Windows 3.11 for Workgroups. К 1993 году надежность компьютеров серьезно увеличилось, а ...

Скачать
91242
0
0

... присутствовать многие из описанных здесь новых возможностей. Вывод можно сделать такой: тем, кому не по пути с NT, несомненно по пути с Windows 98. Вывод: Коротко о продукте MICROSOFT WINDOWS 98 ДОСТОИНСТВА: новые утилиты администрирования и работы с жесткими дисками и реестром, улучшена база драйверов, НЕДОСТАТКИ: недоработанное управление питанием, производительность еще не доведена ...

Скачать
139808
40
0

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

0 комментариев


Наверх