Введение в реестр.
Введение в реестр Windows XP. Что такое реестр Windows XP Аноним
🕛 14.11.2005, 01:32
Введение в реестр Windows XP. Что такое реестр Windows XPИтак, реестр, или системный реестр - это база данных для хранения сведений о конфигурации компьютера и настроек операционной системы. Реестр содержит данные, к которым Windows XP постоянно обращается во время загрузки, работы и ее завершения, а именно:
- профили всех пользователей, то есть их настройки;
- конфигурация оборудования, установленного в операционной системе. Я не пишу "установленного в компьютере", поскольку железо может быть, как говорится, "на борту", но не быть установленным в ОС, например, из-за устаревших драйверов.
- данные об установленных программах и типах документов, создаваемых каждой программой;
- свойства папок и значков программ;
- данные об используемых портах.
Реестр имеет иерархическую древовидную структуру, состоящую из разделов, подразделов и ключей (параметров).
Для работы с реестром используется простая и понятная утилита Regedit, знакомая еще со времен Windows 3.1.
Разделы и подразделы - это, грубо говоря, папки в левом окне Regedit'а. Ключ реестра, или параметр - это некая переменная, которой присвоено определенное значение, проще говоря - это то, что мы видим в правом окне Regedit'а.
Куст (основной раздел, стандартный раздел, в английской документации - улей, от англ. hive) - это раздел реестра, отображаемый как файл на жестком диске. Куст является набором разделов, подчиненных разделов и параметров и имеет корни на верхнем уровне иерархии реестра. По умолчанию большинство файлов кустов (Default, SAM, Security и System) сохраняются в папке %SystemRoot%\System32\Config. Папка %SystemRoot%\Profiles содержит профили (настройки) для каждого пользователя компьютера. Поскольку куст представляет собой файл, его можно перемещать из одной системы в другую. Для редактирования этого файла необходимо использовать редактор реестра.
Важное замечание: Windows XP в отличие от своих предшественниц не имеет ограничения по размеру реестра.
Реестр Windows XP состоит из следующих основных разделов:
HKEY_CLASSES_ROOT - это ссылка на раздел HKEY_LOCAL_MACHINE\Software\Classes. Хранящиеся здесь сведения обеспечивают запуск необходимой программы при открытии файла с помощью проводника. Этот раздел содержит связи между приложениями и типами файлов, а также информацию об OLE.
HKEY_CURRENT_USER - это ссылка на определенный подраздел HKEY_USERS. Настройки соответствуют текущему, активному пользователю, выполнившему вход в систему.
HKEY_LOCAL_MACHINE - раздел содержит настройки, относящиеся к вашему компьютеру и действительные для всех пользователей, а также информацию об аппаратной конфигурации и установленном программном обеспечении.
HKEY_USERS - этот раздел содержит настройки для всех пользователей компьютера.
HKEY_CURRENT_CONFIG - это ссылка на HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current. Раздел содержит сведения о настройках оборудования, используемых локальным компьютером при запуске системы, т.е. информацию о текущей конфигурации.
Вышеуказанные основные стандартные разделы вы не сможете удалить или переименовать. Некоторые разделы реестра являются энергозависимыми (volatile) и не хранятся в каком-либо файле. Операционная система создает и управляет этими разделами полностью в памяти, поэтому они являются временными по своей природе. Система создает энергозависимые разделы каждый раз при начальной загрузке. Например, HKEY_LOCAL_MACHINE \HARDWARE - раздел реестра, который хранит информацию по физическим устройствам и назначенным им ресурсам. Назначение ресурса и аппаратное обнаружение происходят каждый раз при загрузке системы, поэтому логично, что эти данные не записываются на диск.
Сердце системного реестра - это раздел HKEY_LOCAL_MACHINE \SYSTEM.
Наибольший интерес для нас представляют ветви HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE: именно там хранятся настройки, изменение которых способно облагородить нашу операционную систему.
Часто для обозначения основных разделов реестра пользуются сокращениями:
HKEY_CLASSES_ROOT - HKCR
HKEY_CURRENT_USER - HKCU
HKEY_LOCAL_MACHINE - HKLM
HKEY_USERS - HKU
HKEY_CURRENT_CONFIG - HKCC
Раздел HKEY_USERS содержит все активные загруженные параметры пользователя. Он имеет не менее трех ключей:
- Подраздел DEFAULT, где хранится используемая конфигурация, когда ни один из пользователей еще не вошел в компьютер. То есть мы еще видим приглашение на вход в систему.
- Дополнительный подраздел, который имеет имя в соответствии с security ID текущего пользователя (описание SID см. ниже). Этот подключ реестра содержит конфигурацию текущего пользователя. Если пользователь вошел удаленно, данные для конфигурации пользователя сохраняются в системном реестре местного компьютера. Данные из HKEY_USERS\%SID% также появляются в HKEY_CURRENT_USER.
- Дополнительный подраздел, который имеет имя в соответствии с SID текущего пользователя с суффиксом Classes. Этот раздел содержит классы текущего пользователя. Данные в HKEY_USERS\%SID%_Classes также содержатся в HKEY_CLASSES_ROOT.
В Windows XP конфигурация пользователя по умолчанию (default user profile) не хранится в системном реестре. Она находится на системном диске в файле \Documents and Settings\Default User\Ntuser.dat.
Отметим, и это важно, что куст HKEY_CURRENT_USER является ссылкой, линком на определенный подраздел куста HKEY_USERS. Это значит, что все изменения в разделах, подразделах и ключах куста HKEY_CURRENT_USER автоматически тут же отображаются в определенном подразделе HKEY_USERS, соответствующем активному пользователю. То есть пользователю, выполнившему процедуру входа.
В каком же именно разделе HKEY_USERS проводятся изменения? Для этого вы должны узнать свой SID. Тогда искомый раздел будет именоваться, например, так: HKEY_USERS\S-1-5-21-117609710-1606980848-839522115-500. Где цифровая часть, вместе с буквой S, и есть SID.
Идентификатор безопасности (SID, security ID) - структура данных переменной длины, которая идентифицирует пользователя, группу или компьютер. Каждая учетная запись в сети имеет уникальный SID. Внутренние процессы в Windows обращаются к SID для получения учетной записи пользователя или имени группы.
Откройте редактор реестра HKLM\SOFTWARE\ Microsoft\Windows NT\CurrentVersion\ProfileList. Выберите SID и посмотрите ProfileImagePath. В конце строки найдете имя пользователя.
Увидеть все SID, относящиеся к пользователям компьютера, вы можете раскрыв раздел HKEY_USERS. Но в большинстве случаев знать SID не обязательно.
Отметим также, что HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet - это тоже ссылка, линк на один из пронумерованных подразделов с именами HKEY_LOCAL_MACHINE\SYSTEM\ControlSet00n, где n - номер. Подразделы ControlSet00n представляют собой наборы настроек для операционнной системы Windows XP. Большинство систем имеют два пронумерованных управляющих набора: оригинал и резервную копию, которая использовалась при последнем успешном старте системы. Операционная система Windows XP может обслуживать несколько таких наборов. Windows XP обслуживает резервные копии так, чтобы вы могли отменить изменения конфигурации, которые в противном случае могли бы препятствовать загрузке операционной системы. Windows XP хранит последний набор настроек, который был использован успешно, и настройки по умолчанию. Эти значения сохранены в подключе Select. Имена параметров ключа Select соответственно: Current - текущие настройки и Default - настройки по умолчанию. Также обратите внимание на параметр LastKnownGood, расположенный там же. При загрузке Windows XP вы можете выбрать пункт меню "Загрузка последней удачной конфигурации", а действительный номер набора загружаемых настроек будет определен именно этим параметром реестра.
Все значения ключей реестра относятся к определенному типу. далее дадим описание типов данных, используемых в реестре Windows XP:
REG_BINARY - двоичные данные. Большинство сведений об аппаратных компонентах хранится в виде двоичных данных и выводится в редакторе реестра в шестнадцатеричном формате.
REG_DWORD - целые числа размером в 4 байта. Многие параметры служб и драйверов устройств имеют этот тип и отображаются в двоичном, шестнадцатеричном или десятичном форматах.
REG_EXPAND_SZ - строка данных переменной длины.
REG_MULTI_SZ - многострочный текст. Этот тип, как правило, имеют списки и другие записи в формате, удобном для чтения. Записи разделяются пробелами, запятыми или другими символами.
REG_SZ - текстовая строка фиксированной длины.
REG_FULL_RESOURCE_DESCRIPTOR - последовательность вложенных массивов, разработанная для хранения списка ресурсов железа или драйверов.
Введение в реестр Windows XP. Из каких файлов состоит реестр Windows XP
Итак, повторим, куст - это раздел реестра, отображаемый как файл на жестком диске. Имя используется для указания на ветвящуюся структуру. Большой и сильный куст способен нести на себе увесистые плоды наших усилий. Шутка.
Однако не вся информация из некоторых подразделов кустов хранится на диске, но об этом немного ниже.
А сейчас - вот они, файлы реестра Windows XP:
(имени файла соответствует куст реестра Windows XP)
SAM - HKEY_LOCAL_MACHINE\SAM
SECURITY - HKEY_LOCAL_MACHINE\Security
Software - HKEY_LOCAL_MACHINE\Software
System - HKEY_LOCAL_MACHINE\System
HKEY_CURRENT_CONFIG
Default - HKEY_USERS\.DEFAULT
Файлы Ntuser.dat - HKEY_CURRENT_USER
(эти файлы хранятся в С:\Documents and Settings\%UserName%) и содержат конфигурацию для конкретного пользователя.
По умолчанию почти все файлы кустов: Default, SAM, Security, Software и System, - сохраняются в папке %SystemRoot%\System32\Config.
Папка %SystemRoot%\Profiles содержит настройки для каждого пользователя компьютера.
Если есть сомнения, то точный список файлов реестра Windows XP можно посмотреть здесь: HKEY_LOCAL_MACHINE\System\CotnrolSet\Control\HiveList\.
При начальной загрузке к этому разделу обращается Configuration Manager, чтобы проинициализировать все основные разделы реестра.