>
Четверг, 25.04.2024, 07:15
Приветствую Вас Гость


Меню сайта
Мини-чат
Наш опрос
Оцените мой сайт
Всего ответов: 66
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Реестр Windows


Реестр Windows – страшная и непостижимая вещь. Так думают многие рядовые пользователи. Многие считают, что проще о нем ничего не знать и вообще не сталкиваться с ним. Давайте попробуем разобраться в строении того, что содержится в каждой версии Windows. Наберитесь терпения.

Ветки реестра

01= Ветка реестра «HKEY_LOCAL_MACHINE\HARDWARE» формируется в зависимости от оборудования (динамически)

02= Ветка реестра «HKEY_LOCAL_MACHINE\BCD00000000» формируется из файла «%SystemRoot%\Boot\BCD»

03= Ветка реестра «HKEY_LOCAL_MACHINE\SYSTEM» формируется из файла «%SystemRoot%\System32\config\SYSTEM»

04= Ветка реестра «HKEY_LOCAL_MACHINE\SOFTWARE» формируется из файла «%SystemRoot%\System32\config\SOFTWARE»

05= Ветка реестра «HKEY_LOCAL_MACHINE\SECURITY» формируется из файла «%SystemRoot%\System32\config\SECURITY»

06= Ветка реестра «HKEY_LOCAL_MACHINE\SAM» формируется из файла «%SystemRoot%\System32\config\SAM»

07= Ветка реестра «HKEY_USERS\.DEFAULT» формируется из файла «%SystemRoot%\System32\config\DEFAULT»

08= Ветка реестра «HKEY_USERS\S-1-5-18» формируется из файла «%SystemRoot%\System32\config\systemprofile\NTUSER.DAT» (относится к учетной записи system)

09= Ветка реестра «HKEY_USERS\S-1-5-19» формируется из файла «%SystemRoot%\ServiceProfiles\LocalService\NTUSER.DAT» (относится к учетной записи LocalService)

10= Ветка реестра «HKEY_USERS\S-1-5-20» формируется из файла «%SystemRoot%\ServiceProfiles\NetworkService\NTUSER.DAT» (относится к учетной записи NetworkService)

11= Ветка реестра «HKEY_USERS\» формируется из файла «%USERPROFILE%\NTUSER.DAT»

12= Ветка реестра «HKEY_USERS\_Classes» формируется из файла «%USERPROFILE%\AppData\Local\Microsoft\Windows\UsrClass.dat»

Резервные копии файлов реестра DEFAULT, SAM, SECURITY, SOFTWARE и SYSTEM находятся в папке «%SystemRoot%\System32\config\RegBack». Само резервное копирование производится силами планировщика задач в 0 ч. 00 мин. каждые 10 дней по заданию «RegIdleBackup», расположенному в иерархии задач по пути «\Microsoft\Windows\Registry».

Описание реестра Windows 7 и 8

Начнем с простого – как открыть реестр? Делается это очень просто.

Для начала следует открыть «Выполнить». Это можно сделать, нажав сочетание клавиш Win+R. После этого откроется подобное окно:



Вводим в него команду regedit и нажимаем ОК, после чего появляется окно редактора реестра. Давайте подробнее его изучим:



1. Строка меню. В ней содержатся команды по импорту, экспорту данных; одним словом – различные действия над реестром.
2. Левая панель реестра. В ней содержатся Ключи реестра (основные и вложенные) – соответственно цифры 7 и 8.
3. Правая панель реестра, в которой содержатся какие-либо значения.
4. Параметры – каждый параметр отвечает за какое-либо действие в системе.
5. Тип данных (числовой, символьный, и т.д.)
6. Значение реестра. Именно от него и зависит поведение параметров.
7. Основные ключи реестра. Как правило, их всего 5. О них пойдет разговор чуть ниже. По-другому их еще называют ветви реестра.
8. Вложенные ключи. Они содержатся в одном из основных ключей.
9. Строка состояния, в которой отображается текущая ветка реестра (своеобразный путь, по которому нужно пройти, чтобы добраться до нужного ключа)

Ветка реестра HKEY_CLASSES_ROOT

Это первый основной ключ реестра Windows. HKEY_CLASSES_ROOT содержит в себе всего 2 типа данных.

Один из типов является ассоциациями файлов. Ассоциации, как правило, связывают различные типы файлов с программами, которые могут открывать, редактировать и печатать их. Можно представить (для простоты понимания), как таблицу , в которой левая колонка – название программы, правая – какой-либо тип файла.

Второй тип – регистрация классов для объектов (COM – компонентная модель объектов) Component Object Model. Если рассматривать все настройки, этот ключ является самым интересным и действенным для пользователя, потому что он предоставляет возможность изменить неимоверное число правил поведения системы.

Вы только представьте себе – можно настроить каждый тип данных под себя, настроить каждое приложение под определенный тип данных, запретить программам использовать типы данных… Также он является и самым большим в реестре, следовательно занимает и больший объем дискового пространства.

Мы рассматриваем реестр Windows 7, он схож с реестром и Windows 8, Windows XP и Windows 2000. До Windows 2000 HKEY_CLASSES_ROOT был всего лишь ссылкой на ключ HKEY_LOCAL_MACHINE \SOFTWARE\Classes, но сейчас эта ветвь стала значительно сложнее.

Ключ создается из HKEY_LOCAL_MACHINE \SOFTWARE\Classes, который содержит в себе ассоциации файлов и регистрацию классов по умолчанию; и HKEY_CURRENT_USER \Software\Classes, содержащий ассоциации файлов, заданные пользователем и регистрацию классов. HKEY_CURRENT_USER \Software\Classes на самом деле также является ссылкой на ветвь HKEY_CURRENT_USER\SID Classes (о нем речь пойдет немного позже).

Итак, давайте представим, у нас имеется две ветви. Одна из них главнее другой. Если одно и тоже значение будет храниться в обеих ветвях, то параметр из HKEY_CURRENT_USER \Software\Classes будет иметь приоритет и, как следствие, будет преобладать над значением из HKEY_LOCAL_MACHINE \SOFTWARE\Classes.

Представили? А теперь давайте рассмотрим несколько преимуществ данного алгоритма:

1. Первое и самое важное преимущество. Представьте себе компьютер, на котором работает множество пользователей. Программы могут регистрировать отдельно ассоциации для всей системы и отдельно (!) для каждого пользователя. Пример: пользователь 1 любит слушать музыку стандартным проигрывателем (Windows Media Player), а пользователь 2 слушает ее только через Windows Media Center. Ассоциации файлов, соответственно, настроены у каждого по-разному. Система выискивает их и записывает в реестр в отдельные значения.
2. Пользователи, которые пользуются одним компьютером, могут открывать один и тот же тип файлов (например текстовый файл) разными программами, при этом не мешая друг-другу.
3. Еще более сложная структура – у нас есть сетевой компьютер. Многие пользователи имеют аккаунт на разных компьютерах. Пользовательские ассоциации файлов и регистрации классов находятся в профиле пользователя. Их можно перенести вместе с профилем без особых проблем.
4. Безопасность. Системный администратор может заблокировать изменение значений в HKEY_LOCAL_MACHINE \SOFTWARE\Classes, но при этом HKEY_CURRENT_USER \Software\Classes оставить открытым. Что мы имеем? Обезопасили реестр, но при этом пользователь все равно может менять типы данных и программы, которые могут их открыть.
Ознакомились? Интересно, хотя и немного запутанно. biggrin Теперь несколько примеров:

Допустим, что мы создаем новый ключ в корне ключа HKEY_CLASSES_ROOT. На самом деле ключ будет создан в HKEY_LOCAL_MACHINE \SOFTWARE\Classes. По сути, пользовательского интерфейса для редактирования данной ветки реестра нет. Только подобные ключи и записи.

Это связано с тем, что основное его назначение – это дать доступ программам регистрировать пользовательские классы приложений. Когда мы редактируем уже имеющийся класс программ, изменения будут записаны в HKEY_LOCAL_MACHINE или в HKEY_CURRENT_USER (все зависит от того, где находится выбранный класс программ). А если класс одновременно существует и там, и там, то будет меняться только версия, записанная в HKEY_CURRENT_USER.

Конкретные примеры

Можно запретить выход из системы через меню Пуск. Для этого необходимо пройти в ветку HKEY_CURRENT_USER \Software\Microsoft\Windows\CurrentVersion\Policies\Explorer и поставить параметр DWORD StartMenuLogoff в значение 1. Это просто удалит кнопку из меню Пуск.

Чтобы все расширения файлов были видны через проводник, необходимо удалить значения NeverShowExt в реестре, в ветке HKEY_CLASSES_ROOT \\NeverShowExt. Но до этого необходимо предварительно скопировав ветку. Также для этого можно использовать reg-файл.

Reg-файл – это файл, которые выполняет какие-либо операции с реестром. В него пользователь записывает команды, а система автоматически выполняет их при запуске.

Итак, reg-файл:

REGEDIT4
[HKEY_CLASSES_ROOT\DocShortcut]
"NeverShowExt"=-
[HKEY_CLASSES_ROOT\InternetShortcut]
"NeverShowExt"=-
[HKEY_CLASSES_ROOT\lnkfile]
"NeverShowExt"=-
[HKEY_CLASSES_ROOT\piffile]
"NeverShowExt"=-
[HKEY_CLASSES_ROOT\SHCmdFile]
"NeverShowExt"=-
[HKEY_CLASSES_ROOT\ShellScrap]
"NeverShowExt"=-

Для восстановления значений по умолчанию:

REGEDIT4
[HKEY_CLASSES_ROOT\DocShortcut]
"NeverShowExt"=""
[HKEY_CLASSES_ROOT\InternetShortcut]
"NeverShowExt"=""
[HKEY_CLASSES_ROOT\lnkfile]
"NeverShowExt"=""
[HKEY_CLASSES_ROOT\piffile]
"NeverShowExt"=""
[HKEY_CLASSES_ROOT\SHCmdFile]
"NeverShowExt"=""
[HKEY_CLASSES_ROOT\ShellScrap]
"NeverShowExt"=""

Ветка реестра HKEY_CURRENT_USER

Данная ветка хранит в себе настройки текущего активного пользователя. При входе пользователя в систему, ветка HKEY_USERS\.DEFAULT копируется в раздел HKEY_CURRENT_USER.

Примечание: активный пользователь – это пользователь, который в данный момент вошел в систему и работает в ней. Может быть несколько активных пользователей (многопользовательские системы).

В ветке хранятся папки пользователя, фон экрана, а также параметры панели управления. Эти сведения напрямую взаимодействуют с профилем пользователя.

Данная ветка состоит из нескольких подразделов:



AppEvents - содержит пути звуковых файлов, используемых для озвучивания системных событий. Так как для каждого пользователя может быть выбрана своя звуковая схема, дабы не возникло путаницы, все настройки сохраняются в этой ветке.

Control Panel- содержит различные данные, которые могут быть изменены в панели управления. Например – упорядочение значков.

Display – хранит установки экрана для текущего пользователя (этот подраздел доступен, только если разрешены пользовательские профили (user profiles)).

InstallLocationsMRU – включает в себя пути, использованные в процессе последней инсталляции.

keyboard layout - содержит информацию о раскладке клавиатуры. Текущая раскладка клавиатуры устанавливается с использованием пункта Клавиатура (Keyboard) панели управления. Также тут хранятся настройки главной раскладки (которая будет выбрана в качестве значения «по умолчанию»).

Network – включает ветки, описывающие постоянные и недавно установленные сетевые соединения, а также состояние сети.

RemoteAccess - необязательный подраздел, доступный только в случае, если установлен сервис удаленного доступа.

SOFTWARE - содержит пользовательские настройки приложений. Этот раздел ссылается на раздел HKEY_LOCAL_MACHINE, в которой также хранятся настройки приложений (о нем мы говорили выше).

Теперь немного практических примеров:

Допустим, мы хотим скрыть пункт меню – Заставка (изменение пользовательских настроек). Для того, чтобы в Свойствах экрана не было данного пункта, необходимо поставить параметр NoDispScrSavPage в значение 1. Он хранится в ветке HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System. При этом, тип параметра должен быть со значением dword.

Еще один интересный пример – разрешение/запрет на воспроизведение звуков на страницах браузера Internet Explorer.

Для начала необходимо пройти в ветку HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main



Находим там значение Play_Background_Sounds и устанавливаем значение "yes” или "no” (в зависимости от того, какой результат нам нужен).

Ветка реестра HKEY_LOCAL_MACHINE

Данный раздел содержит в себе параметры конфигурации, которые относятся к данному компьютеру (параметры устанавливаются одновременно для всех пользователей!).

В данном разделе хранятся сведения о драйверах устройств, установленное программное обеспечение, наименование портов и конфигураций программного обеспечения.

Этот раздел также включает в себя несколько веток. Некоторые пункты могут отсутствовать - это связано с различием в версий Windows.

Enum – в Microsoft Windows (в любой версии) существует bus enumeration (шинная нумерация). Она необходима для учета всего оборудования, которое установлено в компьютере. Данные учета как раз-таки и хранятся в этой ветке и впоследствии могут быть использованы для построения «дерева оборудования» (Диспетчер устройств из панели управления).

Config – в данной ветке хранится информация о конфигурации компьютера. Содержимое данной ветки непрерывно обновляется (при каждой загрузке Windows, а также в процессе установки программного обеспечения). В подразделе чаще всего содержатся две записи: одна задает параметры экрана (разрешение, глубина цвета и т.д.), а другая хранит данный доступных принтеров (включая сетевые). Ветвь Driver содержит пустые разделы (что удивляет) со странными именами вроде 5, 13.

Hardware – эта ветка содержит установки для последовательных портов, которые имеются на данном компьютере. У этого раздела есть подраздел – Description, который содержит записи всех устройств в системе. Также имеется Network. Этот раздел задействован, когда Windows работает в сети. В этот момент в ветке содержится информация о пользователе (имя пользователя, провайдера и т.д.).

Security – данный раздел доступен для сетевых устройств и содержит информацию о провайдере безопасности.

Software – а эта ветка нам уже знакома. В ней содержится вся информация об установленных программах. Знакома нам ветка по подразделу \Classes. Он используется для построения основной ветки HKEY_CLASSES_ROOT.

System – в данной ветке содержится информация, необходимая для загрузки Windows. В ней имеется подраздел CurreentControlSet. Он содержит в себе Control, содержащий в себе имя компьютера, параметры файловой системы и т.д.

Очередной живописный пример по работе с реестром:

Многие пользователи Microsoft Windows используют программу Adobe Photoshop для рисования и редактирования фотографий. Случается так, что иногда Adobe Photoshop не может корректно отобразить русские шрифты в файловом меню (вместо шрифтов появляются «кракозабры»). Что интересно – эту ошибку можно легко исправить.

Для исправления ошибки необходимо открыть реестр. Затем пройти в ветвь HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\Nls\Codepage:



Находим в данной ветке параметры и изменяем значения :

1250 и 1252 с С_1250.nls на С_1251.nls и С_1252.nls на С_1251.nls соответственно. Все! Проблема решена! Теперь можно наслаждаться воистину комфортной работой в любимом редакторе.

Еще один пример. Для большинства моделей мышей, система ставит драйвер Logitech. На некоторых «грызунах» присутствует средняя кнопка, которая чаще всего никак не используется системой. Давайте исправим этот момент и назначим на действие средней кнопки мыши, например, двойной щелчок. Для этого открываем реестр, идем в ветку HKEY_LOCAL_MACHINE \SOFTWARE\Logitech\MouseWare\CurrentVersion\SerialV\DoubleClick и прописываем значение 001.

Если записать туда значение 110, то будет срабатывать одновременное нажатие правой и левой кнопок мыши.

Ветка реестра HKEY_USERS

Раздел HKEY_USERS содержит в себе информацию о профилях абсолютно всех пользователей данного компьютера (имя пользователя, настройки рабочего стола и т.д.).

Также имеется связь данного раздела с разделом HKEY_CURRENT_USER, который является копией подраздела HKEY_USERS, хранящего сведения о текущем пользователе.

Также этот раздел содержит в себе настройки по умолчанию (HKEY_USERS\.DEFAULT) для рабочего стола, меню Пуск и т.д. Они нужны в тех случаях, когда новый пользователь входит в систему в первый раз. В этот момент настройки по умолчанию копируются в его профиль (единовременно!). Все дальнейшие изменения, сделанные пользователем, сохранятся в данную директорию.

Ветка реестра HKEY_CURRENT_CONFIG

Этот раздел также мал, как и предыдущий, и описывать здесь особо нечего. Ветка отвечает за устройство Plug&Play (подключи и работай). Также он содержит информацию о текущей конфигурации компьютера, с переменным составом устройств (например флеш-карты, принтеры, факсы, внешние накопители и т.д.).

Установки данного раздела сопоставимы конфигурационным установкам, которые хранятся в разделе HKEY_LOCAL_MACHINE\Config. Также данный раздел содержит сведения о текущем профиле оборудования, который используется данным компьютером при запуске системы.

Еще данный раздел является ссылкой на ветвь HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current.

Итак, мы рассмотрели все обязательные ветки реестра. Также существуют и побочные ветки, которые во многих машинах просто отсутствуют за ненадобностью. Например - HKEY_DYN_DATA.

Этот раздел содержит подразделы, которые хранят динамическую информацию о состоянии различных устройств. Для чего это нужно? Например, для выявления конфликтов оборудования, для определения состояния устройств и т.д. Данный раздел в системе использует вкладка устройства диалога Система (Windows ME/9X), который вызывался из панели управления.

Большая часть данных создается и изменяется только системой, однако некоторые ключи возможно менять и пользователю. Вполне возможно, что существуют еще ветви, но т.к. они потеряли свое значение в новых версиях Windows, говорить о них уже не имеет смысла.

Сколько времени существует реестр, столько же времени существует и критика. Многим не нравится организация реестра и вообще системы Windows в целом. Много критики вытекает по вполне понятным причинам:

1. Реестр подвержен фрагментации (со временем) – при установке и удалении программ, при изменении параметров и т.д.
2. Размеры реестра со временем увеличиваются до огромных размеров. Проблема больших размеров решается с помощью утилит по чистке мусора в реестре .
3. Некоторые программы не могут работать на компьютере без внесения изменений в реестр. Чаще всего это записи, которые используются один раз за всю жизнь программы.
4. Не все настройки содержатся в реестре. Это можно считать минусом в том случае, если необходимо переносить настройки с одного компьютера на другой.
В конце-то концов – большая часть критиков ставят в противовес Windows Unix-подобные системы, в которых реестр попросту отсутствует. Задачи реестра в них решаются по-другому. ( В этих критиках говорит банальная злость и не понимание, почему в Мире более 60% юзеров используют Windows)
Поиск
Календарь
пополни
МОМЕНТАЛЬНАЯ ОПЛАТА
за WebMoney, RBK Money,
MoneyMail, WebCreds,
Яндекс.Деньги, терминалы
Погода
Друзья сайта