89.12K
Category: softwaresoftware

Реестр Windows

1.

Словарь Microsoft Computer Dictionary дает такое
определение Реестра:
Иерархически построенная, централизованная
база данных в составе операционных систем Microsoft
Windows 9x/NT/2000/XP/2003/Vista, содержащая сведения,
которые используются операционной системой для
работы с пользователями, программными продуктами и
устройствами.
В реестре хранятся данные, которые необходимы для
правильного функционирования Windows. К ним относятся
профили всех пользователей, сведения об установленном
программном обеспечении и типах файлов, которые могут
быть созданы каждой программой, информация о свойствах
папок и значках приложений, а также установленном
оборудовании и используемых портах.

2.

Реестр выполняет следующие основные функции:
- Отслеживает все системные устройства и их установки,
включая такие ресурсы, как запросы на прерывания (IRQ) и номера
каналов прямого доступа памяти (DMA);
- Работает как база данных, которая унифицирует
функционирование приложений;
- Проверяет наличие необходимых драйверов для
инсталируемого
оборудования.
При
добавлении
нового
переферийного устройства Диспетчер конфигурации (Configuration
manager) операционной системы помещает конфигурационные
данные устройства в реестр;
- Предоставляет системные сервисы, которые необходимы
для работы многих приложений;
- Обеспечивает запуск необходимого приложения при
щелчке мышью;
- Сохраняет информацию относящуюся к системным
правилам,
профилям
пользователей
и
средствам
администрирования.

3.

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

4.

Реестр Windows 3.1
Сам реестр, как древовидная иерархическая база данных
(registration database — регистрационная база) впервые появился в
Windows 3.1 (апрель 1992). Это был всего один двоичный файл,
который назывался REG.DAT и хранился в каталоге C:\Windows\.
Реестр
Windows
3.1
имел
только
одну
ветку
HKEY_CLASSES_ROOT. Он служил для связи DDE, а позднее и
OLE объектов.
Одновременно c появлением реестра в Windows 3.1
появилась программа REGEDIT.EXE для просмотра и
редактирования реестра.
Первый реестр уже имел возможность импорта данных из
*.REG файлов.
Реестр Windows 3.1 имел ограничение на максимальный
размер файла REG.DAT — 64 Кбайт.
OLE (англ. Object Linking and Embedding, произносится как oh-lay [олэй]) — технология связывания и внедрения объектов в
другие документы и объекты, разработанная корпорацией Майкрософт.
В 1996 году Microsoft переименовала технологию в ActiveX.
Dynamic Data Exchange (DDE) — механизм взаимодействия приложений в операционных системах Microsoft Windows и
OS/2

5.

Реестр Windows NT 3.1
Следующий шаг сделан в Windows NT 3.1 (июль
1993). Произошёл отказ от устаревших файлов MS-DOS:
AUTOEXEC.BAT и CONFIG.SYS, а также от INI-файлов, как
от основных файлов конфигурации. На «регистрационную
базу» (реестр) была переведена вся конфигурация системы.
Основой конфигурации системы стал реестр. Он имел
4
корневых
раздела:
HKEY_
LOCAL_MACHINE,
HKEY_CURRENT_USER,
HKEY_CLASSES_ROOT
и
HKEY_USERS.
Реестр стал «сборным»: на диске он хранился в файлах:
DEFAULT, SOFTWARE, SYSTEM, а при запуске системы из
этих файлов собиралась единая БД.

6.

В
комплекте
поставки
оставался
файл
REGEDIT.EXE, который по прежнему позволял
просматривать
и
редактировать
только
ветку
HKEY_CLASSES_ROOT,
и
появился
файл
REGEDIT32.EXE, который позволял редактировать все
ветки реестра.
Далее технология и идеология (назначение)
реестра уже не менялись. Все последующие версии
Windows (NT 3.5, 95, NT 4.0, 98, 2000, XP, Vista, 7)
использовали реестр как основную БД, содержащую все
основные данные по конфигурации как самой ОС, так и
прикладных
программ.
Далее
менялось
только
расположение и название файлов реестра, и название и
назначение ключей.

7.

Реестр в том виде, как его использует Windows и как
видит его пользователь в процессе использования программ
работы с реестром, некоторым образом «нигде не хранится», а
формируется из различных данных. Чтобы получилось то, что
видит
пользователь,
редактируя
реестр,
происходит
следующее:
Вначале, в процессе установки и настройки Windows, на
диске формируются файлы, в которых хранится часть данных
относительно конфигурации системы.
Затем, в процессе каждой загрузки системы, а также в
процессе каждого входа и выхода каждого из пользователей,
формируется некая виртуальная сущность, называемая
«реестром» — объект REGISTRY. Данные для формирования
«реестра» частично берутся из тех самых файлов (Software,
System …), частично из информации, собранной ntdetect при
загрузке (HKLM\Hardware\Description).

8.

Архитектура реестра
Информация, хранящаяся в иерархической базе данных
реестра, собрана в разделы (key), которые содержат один или
более подразделов (subkey). Каждый подраздел содержит
параметры (value):
раздел
подраздел 1 | параметр
подраздел 2
подраздел 3 | параметр
Возможность создавать вложенные подразделы
позволяет группировать параметры. В результате получается
древовидная структура, которую можно просмотреть в
Редакторе реестра (Registry editor). Каждый раздел (ветвь)
соответствует
определенному
типу
информации
о
пользователе, аппаратном обеспечении, приложении и т.д.

9.

Структура реестра
Папка/стандартный
раздел
HKEY_CURRENT_USER
HKEY_USERS
Описание
Данный раздел является корневым для данных
конфигурации пользователя, вошедшего в систему в
настоящий
момент.
Здесь
хранятся
папки
пользователя, цвета экрана и параметры панели
управления. Эти сведения сопоставлены с профилем
пользователя. Вместо полного имени раздела иногда
используется аббревиатура HKCU.
Данный раздел содержит все активные загруженные
профили
пользователей
компьютера.
Раздел
HKEY_CURRENT_USER является подразделом
раздела HKEY_USERS. Вместо полного имени
раздела иногда используется аббревиатура HKU.

10.

Структура реестра
HKEY_LOCAL_ Раздел содержит параметры конфигурации, относящиеся
MACHINE
к данному компьютеру (для всех пользователей). Вместо
полного имени раздела иногда используется аббревиатура
HKLM.
HKEY_
Является
подразделом
HKEY_LOCAL_MACHINE\Software. Хранящиеся здесь
CLASSES_
сведения обеспечивают выполнение необходимой
ROOT
программы при открытии файла с использованием
проводника. Вместо полного имени раздела иногда
используется аббревиатура HKCR.
HKEY_
CURRENT_
CONFIG
Данный раздел содержит сведения о профиле
оборудования, используемом локальным компьютером
при запуске системы.

11.

Структура реестра
Win2003 xp
Улей реестра
Файл на диске
HKEY_LOCAL_MACHINE\SAM
%SystemRoot%\System32\Config\Sam
HKEY_LOCAL_MACHINE\Security
%SystemRoot%\System32\Config\Security
HKEY_LOCAL_MACHINE\Software
%SystemRoot%\System32\Config\Software
HKEY_LOCAL_MACHINE\System
%SystemRoot%\System32\Config\System
HKEY_CURRENT_CONFIG
%SystemRoot%\System32\Config\System
HKEY_CURRENT_USER
%SystemDrive%\Documents and Settings\
< имя_пользователя >\Ntuser.dat
HKEY_USERS\.Default
%SystemDrive%\Documents and
Settings\Default User\Ntuser.dat

12.

Элементы данных реестра
Элементы данных реестра находятся на нижнем уровне
иерархии реестра. Они содержат данные, которые
определяют поведение разделов и подразделов (хотя не все
разделы и подразделы содержат записи данных). Записи
представлены в правой панели редактора реестра.
Любая запись содержит три элемента:
- Имя (параметр).
- Тип данных.
- Значение данных.

13.

Имя записи
Имя записи это почти всегда (но не всегда)
одно слово, даже если фактически это составное
имя. Например, AutoRepeatRate – это имя записи в
подразделе Keyboard Response.
Во время редактирования реестра вы можете
добавлять новые записи и присваивать им имя,
однако это имя не должно быть произвольным.
Имена должны быть известны операционной
системе или приложению, которое использует
данную запись, и вы должны знать это имя,
прежде чем добавлять запись.

14.

Типы данных записи
Каждая запись имеет тип данных, которые может
хранить эта запись.
В следующих разделах описываются типы данных,
которые могут вам встретиться.
REG_DWORD. Это двойное слово – два 16-битных слова,
образующих 32-битное значение. Это наиболее
распространенный тип данных в реестре, и он
используется для разнообразных записей. Вы можете
встретить записи с информацией о драйвере устройства,
булевыми значениями, такие величины, как количество
секунд, которое должно пройти, прежде чем что-то
произойдет или не произойдет, и другую информацию.
В редакторе Regedit записи типа

15.

REG_DWORD выводятся в шестнадцатеричном формате,
но вы можете переходить в десятичный или двоичный
формат (в зависимости от вида записи), если хотите
выполнить редактирование.
REG_SZ. Это тип данных для текстовых строк
фиксированной длины. Большинство записей, где
используется этот тип, содержит булевы значения или
короткие текстовые строки. Обозначение SZ означает
String/Zero, поскольку в конце строки ставится нулевой
байт. Regedit не показывает конечный нуль, поэтому вы
можете не помнить об этом (за исключением ситуации,
когда вы пишете программу, работающую с реестром, и
тогда вы должны учитывать этот конечный байт).

16.

REG_MULTI_SZ. Этот тип данных используется в записях
данных, содержащих несколько текстовых строк. Строки
разделяются запятыми или пробелами, и запись
заканчивается двумя нуль-символами (которые не видны в
редакторе реестра). В окне редактирования Regedit видны
двоичные данные (хотя вы можете видеть текст в правой
части этого окна).
REG_EXPAND_SZ. Этот тип используется, когда в запись
включаются одна или несколько переменных, значения
которых должны быть подставлены какой-либо службой
операционной системы или приложением. Это те же
переменные, которые вы используете в пакетных файлах и
скриптах (например, %SystemRoot% или %UserName%).

17.

REG_FULL_RESOURCE_DESCRIPTOR. Этот тип записи
используется для хранения списка ресурсов для
компонентов оборудования. Его содержимое представлено
матрицей, объединяющей ресурсы для определенного
компонента (или драйвера). Regedit выводит эту
информацию в двоичном формате.
REG_LINK. Этот тип данных содержит символическую
ссылку между данными и каким-либо значением в реестре.
Например, если приложению требуется знать уникальный
идентификатор пользователя (для информации о
настройках), то оно может искать идентификатор
безопасности
(security ID)
текущего
пользователя
( HKEY_CURRENT_USER ).

18.

REG_DWORD_LITTLE_ENDIAN. Этот тип записи аналогичен
типу записи REG_DWORD. Он чаще всего используется для
хранения чисел. Значение данных – это 32-битное число, в
котором наиболее значащий байт выводится на экран как
старший (левый) байт. Этот тип записи имеется только в
Windows Server 2003, Windows 2000 и Windows 98.
Технически он присутствует в Windows NT, но реестр Windows NT автоматически преобразует
данные, записанные в REG_DWORD_LITTLE_ENDIAN, в стандартный тип REG_DWORD.
REG_DWORD_BIG_ENDIAN.
Этот
тип
записи
противоположен
типу
REG_DWORD_LITTLE_ENDIAN.
Наиболее значащий байт выводится на экран как младший
(правый) байт, и это используется платформами, где байты
следуют именно в этом порядке (PowerPC и Alpha). Поскольку
Windows Server 2003 не поддерживает эти платформы, любые
оставшиеся элементы реестра этого типа игнорируются.

19.

Файлы редактирования реестра:
1. Создается текстовый файл
2. Вносятся ключи с параметрами изменения
реестра
3. Изменяется на расширение *.key
Для изменения реестра щелкнуть дважды по файлу.

20.

REGEDIT4
;запрет апплета свойств интернета
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet
Explorer\Restrictions]
"NoBrowserOptions"=dword:00000001
REGEDIT4
;Запретить запуск апплета Экран в Панели управления и с Рабочего стола (мягкий
способ)
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Polici
es\System]
"NoDispCPL"=dword:0000001

21.

;Запретить запуск Control.exe, а также апплетов Панели управления и
свойства рабочего стола
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersi
on\Policies\Explorer]
"NoControlPanel"=dword:00000001
;Запретить установку программ - Windows Installer (msi-файлы).
;0 - по умолчанию
;1 - только адмистраторы системы могут запустить Windows Installer
;2 - запрет на запуск Windows Installer
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer]
"DisableMSI"=dword:00000001

22.

;Запрет на запуск msi-файлов со сменных носителей(CD-ROM, флоппидиск, DVD и т.д.)
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer]
"DisableMedia"=dword:00000001
;Скрытие значков дисков в окне Мой компьютер и Проводник
;0x3 Скрывает только диски A и B
;0x4 Скрывает только диск C
;0x8 Скрывает только диск D
;0x7 Скрывает только диски A, B и C
;00000000 Видны все диски
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVer
sion\Policies\Explorer]
"NoDrives"=dword:00000000
English     Русский Rules