>
Пятница, 26.04.2024, 03:03 Приветствую Вас Гость |
Главная | Реестр | Регистрация | Вход | RSS |
|
Реестр 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 оставить открытым. Что мы имеем? Обезопасили реестр, но при этом пользователь все равно может менять типы данных и программы, которые могут их открыть. Ознакомились? Интересно, хотя и немного запутанно. Теперь несколько примеров: Допустим, что мы создаем новый ключ в корне ключа 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) |
|
Copyright MyCorp © 2024 |
Бесплатный конструктор сайтов - uCoz |