Реестр изнутри
Коротко о главном
Большинство администраторов стараются не вносить никаких изменений в системный реестр Windows. Я их не обвиняю. Реестр — это тот компонент Windows, который опасно повредить. В связи с фатальными последствиями разрушения реестра, сравнимыми с ядерным взрывом, а также отсутствием полной документации, реестр является «темным» и «страшным» местом системы. В данной статье мы изучим основы построения реестра, а также рассмотрим безопасные способы его изменения. Мы познакомимся с особенностями и тонкостями, имеющимися в реестре.
Святые INI файлы
Во времена 16-битной ОС Windows все настройки хранились в файлах инициализации. Вся конфигурационная информация была представлена файлами SYSTEM.INI и WIN.INI. При установке любого приложения все его настройки сохранялись в этих двух файлах. К сожалению, эти приложения пользовались ограниченным набором параметров, количество которых ограничивалось размером INIфайлов, которые не должны были превышать 64 Кбайт. Для того чтобы обойти это ограничение, разработчики стали использовать собственные INIфайлы. Хотя сначала эта идея показалась заманчивой, впоследствии, с ростом числа приложений и ростом каждого из этих файлов, система стала очень неповоротливой.
И тогда пришел реестр
Реестр появился одновременно с появлением Windows NT в 1993 году, решив проблемы, связанные с INIфайлами. Реестр представляет собой иерархическую базу данных, содержащую системную информацию, сведения об OLEавтоматизации, настройках приложений, конфигурации операционной системы и т. д. Там хранится всё, от сведений о настройке дисплея до полной конфигурации аппаратного обеспечения системы. Для ускорения доступа хранение осуществляется в двоичном (бинарном) формате, а сам реестр состоит из нескольких файлов.
файлы реестра Windows 9х
В Windows 9х реестр состоит из двух скрытых файлов: user.dat и system.dat. Эти файлы хранятся в каталоге Windows. User.dat хранит все настройки индивидуального пользователя, a System.dat — настройки всего компьютера.
Файлы реестра Windows NT/2000
В Windows NT/2000 настройки пользователя хранятся в файле ntuser.dat. Этот файл располагается в каталоге %WINDIR%\Profiles. Настройки системы представлены пятью файлами и хранятся в каталоге SYSTEM32\C0NFIG:
• Default (HKEY_USERS\DEFAULT) содержит настройки для новых пользователей/,
• SAM (HKEY_LOCAL_MACHINE\SAM) содержит настройки безопасности системы;
• Security (HKEY_LOCAL_MACHINE\Security) содержит настройки безопасности сети;
• System (HKEY_LOCAL_MACHINE\System) — содержит драйверы устройств и сведения о системе.
ПРИМЕЧАНИЕ
Реестры Windows 9х, NT и 2000 несовместимы друг с другом. Невозможно импортировать реестр из одной ОС в другую.
Структура реестра
Реестр состоит из разделов верхнего уровня, называемых ульями (hives):
- HKEYCLASSESROOT;
- HKEYCURRENTUSER;
- HKEYLOCALMACHINE;
- HKEYUSERS;
- HKEY_CURRENT_CONFIG;
- HKEYDYNDATA (только в Windows 9х).
В этих разделах хранятся все ключи (подкаталоги), составляющие реестр. В ключах хранятся все параметры (значения), которые и представляют определенную настройку системы.
HKEYLOCALMACHINE
В разделе HKEYLOCALMACHINE (HKLM) хранится вся информация об аппаратном, программном обеспечении, а также сведения о системе безопасности. Этот раздел самый большой в реестре и является одним из самых основных разделов реестра.
HKEYCLASSESROOT
Раздел HKEYCLASSESROOT (HKCR) является виртуальной ссылкой на раздел HKLM\Software\Classes. Этот раздел хранит сведения обо всех файлах, расширениях, определениях типов, значках, привязке, ярлыках автоматизации, классах идентификаторов и т. д.
HKEYUSERS
Раздел HKEYUSERS (HKU) хранит сведения обо всех пользователях системы и их индивидуальных настройках. К этим настройкам относятся: переменные среды, цветовые схемы, шрифты, значки, настройка рабочего стола, главного меню, сетевых настройках и т. д. При регистрации в системе нового пользователя создается новый подраздел, копирующий настройки по умолчанию.
HKEYCURRENTUSER
Раздел HKEY_CURRENT_USER (HKCU) является ссылкой на соответствующий подраздел раздела HKEYUSERS, содержащий сведения о текущем зарегистрированном пользователе. Раздел имеет название, соответствующее значению идентификатора безопасности (SID) пользователя. Каждый раз при перезагрузке компьютера этот раздел компонуется заново.
HKEY_CURRENT_CONFIG
Раздел HKEYCURRENTCONFIG (НКСС) является ссылкой на текущий профиль оборудования, хранящийся в разделе HKEY_ LOCALMACHINE. Профиль оборудования позволяет указать, ка кие драйвера устройств должны быть загружены для работы в данном сеансе. Профили обычно предназначены для переносных компьютеров и характеризуют службы удаленного доступа (RAS) сети и локальные сеансы Windows.
I HKEYDYNDATA
Раздел HKEYDYNDATA (HKDD) не хранится в реестре, а динамически создается при загрузке системы. Этот раздел хранит сведения об самонастраивающихся устройствах (поддерживающих технологию plugandplay), обнаруженных при загрузке системы.
Типы данных реестра
Как и в любой базе данных, для хранения различных значений в реестре используются различные типы данных. В табл. (позаимствованной из книги «Реестр Windows 2000: специальный справочник». СПб.: Питер, 2001) представлены типы данных реестра.
Наименование | Тип данных | Предназначение |
REG_NONE | He определен | Зашифрованные данные |
REG_SZ | Строка | Символьный текст |
REG_EXPAND_SZ | Строка | Текст с переменными |
REG_BINARY | Двоичный | Двоичные данные |
REG_DWORD | Число | Цифровые данные |
REG_DWORD_BIG_ENDIAN | Число | Данные с «неинтеловским» порядком байт |
REGJJNK | Строка | Путь к файлу |
REG_MULTI_SZ | Несколько строк | Массив строк |
REG_RESOURCE_LIST | Строка | Список оборудования |
REG_FU LL_RESOU RCE .DESCRIPTOR | Строка | Идентификатор оборудования |
REG_RESOURCE _REQUIREMENTS_LIST | Строка | Идентификатор оборудования |
Рейтинг:
0
0
А что Вы скажете, если я попробую предположить, что все Ваши посты, не более чем выдумка?
Рейтинг:
0
0
помойму вы вступаете со мной в философский дискусс