Понятие реестра ОС. Типичные примеры использования.
Реестр Windows или системный реестр (англ. Windows Registry) иерархически построенная база данных параметров и настроек в большинстве операционных систем Microsoft Windows.англ.база данныхMicrosoft Windows Реестр содержит информацию и настройки для аппаратного обеспечения, программного обеспечения, профилей пользователей, предустановки. Большинство изменений в Панели управления, ассоциации файлов, системные политики, список установленного ПО фиксируются в реестре.аппаратного обеспеченияпрограммного обеспеченияПанели управления Определение
Реестр можно рассматривать как записную книжку Windows - как только системе нужна какая-то информация, то она ищет ее в реестре. Реестр очень обширен и дать однозначное его определение невозможно. Приблизительно, Реестр - компонент операционной системы компьютера, который в иерархической базе данных хранит важнейшие установки и информацию о приложениях, системных операциях и пользовательской конфигурации. Роль реестра Отслеживает все системные устройства и их установки, включая такие ресурсы, как запросы на прерывания (IRQ) и номера каналов прямого доступа памяти (DMA). Работает как база данных, которая унифицирует функционирование приложений. Проверяет наличие необходимых драйверов для инсталлируемого оборудования. При добавлении нового периферийного устройства Диспетчер конфигурации (Configuration manager) операционной системы помещает конфигурационные данные устройства в реестр. Предоставляет системные сервисы, которые необходимы для работы многих приложений. Обеспечивает запуск необходимого приложения при щелчке мышью. Сохраняет информацию относящуюся к системным правилам, профилям пользователей и средствам администрирования. Реестр выполняет следующие основные функции:
Реестр Windows 3.1 Технологический шаг был сделан в Windows 3.1. Сам реестр, как древовидная иерархическая база данных (registration database регистрационная база) впервые появился в Windows 3.1 (апрель 1992). Это был всего один двоичный файл, который назывался REG.DAT и хранился в каталоге C:\Windows\. Реестр Windows 3.1 имел только одну ветку HKEY_CLASSES_ROOT. Немного об истории возникновения и развития реестра Одновременно c появлением реестра в Windows 3.1 появилась программа REGEDIT.EXE для просмотра и редактирования реестра.REGEDIT.EXE Реестр был создан потому, что с файлами INI, которые появились в Windows 3.x пользователям приходилось думать, какой файл INI за что отвечает и как изменить в нужном файле ту или иную настройку. Часто было трудно выяснить месторасположение таких файлов для нужной программы. Кроме того отсутствовал способ определения того, какая программа связана с конкретным INI файлом. С другой стороны, редактировать такие файлы было намного легче чем реестр. Одним из самых важных различий между файлами INI и реестром - расположение файлов.
Реестр Windows NT 3.1 Идеологический шаг был сделан в Windows NT 3.1 (июль 1993). Произошёл отказ от файлов AUTOEXEC.BAT и CONFIG.SYS, а так же от INI-файлов, как от основных файлов конфигурации. На «регистрационную базу» (реестр) была переведена вся конфигурация системы. Основой конфигурации системы стал реестр. Он имел 4 корневых раздела: HKEY_ LOCAL_MACHINE, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT и HKEY_USERS.июль1993AUTOEXEC.BATCONFIG.SYSINI-файлов Реестр стал «сборным»: на диске он хранился в файлах: DEFAULT, SOFTWARE, SYSTEM, а при запуске системы из этих файлов собиралась единая БД. В комплекте поставки оставался файл REGEDIT.EXE, который по прежнему позволял просматривать и редактировать только ветку HKEY_CLASSES_ROOT (это был тот же Regedit.exe от Windows 3.1, «байт-в-байт», просто с другой датой), и появился файл REGEDT32.EXE, который позволял редактировать все ветки реестра.
Современный реестр Windows Реестр в том виде, как его использует Windows и как видит его пользователь в процессе использования программ работы с реестром, некоторым образом «нигде не хранится». Чтобы получилось то, что видит пользователь, редактируя реестр, происходит следующее. Вначале, в процессе установки и настройки Windows, на диске формируются файлы, в которых хранится часть данных относительно конфигурации системы. Затем, в процессе каждой загрузки системы, а так же в процессе каждого входа и выхода каждого из пользователей, формируется некая виртуальная сущность, называемая «реестром». Данные для формирования «реестра» берутся из тех самых файлов и из других мест. То есть часть данных реестра хранится в файлах, а часть данных порождается в процессе загрузки Windows. Все последующие версии Windows (NT 3.5, 95, NT 4.0, 98, 2000, XP, Vista) использовали реестр как основную БД, содержащую все основные данные по конфигурации как самой ОС, так и прикладных программ. Далее менялось только расположение и название файлов реестра, и название и назначение ключей.
Часть реестра берётся из этого файла
Описание разделов реестра
HKEY_CURRENT_USER (HKCU) Данный раздел содержит настройки текущего активного пользователя, вошедшего в систему. Здесь хранятся папки пользователя, цвета экрана и параметры панели управления. Эти сведения сопоставлены с профилем пользователя. HKEY_USERS (HKU) Данный раздел содержит все активные загруженные профили пользователей компьютера. Раздел HKEY_CURRENT_USER является подразделом раздела HKEY_USERS. HKEY_LOCAL_MACHINE (HKLM) Раздел содержит параметры конфигурации, относящиеся к данному компьютеру (для всех пользователей). HKEY_CURRENT_CONFIG (HCC) Данный раздел содержит сведения о профиле оборудования, используемом локальным компьютером при запуске системы. HKEY_DYN_DATA (HDD) Данный раздел имеется только в реестре ОС семейства Windows 9x/ME. Содержит динамически изменяемые данные о компьютере (загрузка процессора, размер файла подкачки и т. п.).
HKEY_CLASSES_ROOT (HCR) Является подразделом HKEY_LOCAL_MACHINE\Software\Classes. В основном, содержит информацию о зарегистрированных типах файлов и объектах COM и ActiveX.COM ActiveX Начиная с Windows 2000, эти сведения хранятся как в HKEY_LOCAL_MACHINE, так и в HKEY_CURRENT_USER. Раздел HKEY_LOCAL_MACHINE\Software\Classes содержит параметры по умолчанию, которые относятся ко всем пользователям локального компьютера. Параметры, содержащиеся в разделе HKEY_CURRENT_USER\Software\Classes, переопределяют принятые по умолчанию и относятся только к текущему пользователю. Раздел HKEY_CLASSES_ROOT включает в себя данные из обоих источников. Кроме того, раздел HKEY_CLASSES_ROOT предоставляет объединённые данные программам, написанным под ранние версии Windows. Изменения настроек текущего пользователя выполняются в разделе HKEY_CURRENT_USER\Software\Classes. Модификация параметров по умолчанию должна производиться в разделе HKEY_LOCAL_MACHINE\Software\Classes. Данные из разделов, добавленных в HKEY_CLASSES_ROOT, будут сохранены системой в разделе HKEY_LOCAL_MACHINE\Software\Classes. Если изменяется параметр в одном из подразделов раздела HKEY_CLASSES_ROOT и такой подраздел уже существует в HKEY_CURRENT_USER\Software\Classes, то для хранения информации будет использован раздел HKEY_CURRENT_USER\Software\Classes, а не HKEY_LOCAL_MACHINE\Software\Classes.
Программы работы с реестром Для редактирования, просмотра и изучения реестра стандартными средствами Windows (программы regedit.exe и regedt32.exe) доступны именно ветки реестра. После редактирования реестра и/или внесения в него изменений эти изменения сразу записываются в файлы.
Есть программы сторонних разработчиков, которые позволяют работать непосредственно с файлами. Например, программы от Paullee и программа Registry Reanimator. Программы оптимизации реестра, твикеры, а так же инсталляторы и деинсталляторы программ работают через специальные функции работы с реестром.твикеры Registry Reanimator
Reg Organizer
XP Tweaker
Tweak UI Более полный перечень утилит работы с реестром можно посмотреть и скачать здесь:
Reg-файлы Вносить изменения в реестр можно с помощью reg-файлов.
Некоторые примеры использования реестра 1. Отключение сообщения о недостатке свободного места на диске Создайте в реестре, по пути HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Ex plоrer Ключ типа DWORD под названием NoLowDiskSpaceChecks, и присвойте ему значение Отключение автозапуска у привода компакт-дисков Для этого нужно поправить значение в реестре: ключ: [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ CDRom] паpаметp: Autorun тип: REG_DWORD значение: (0=отключено, 1=включено). 3. Отключение (запрет) Task Manager Для этого в реестре по адресу HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Sy stem создайте ключ типа DWORD под названием DisableTaskMgr, и присвойте ему значение 1. Удалив этот ключ, или присвоив ему 0, вы вновь разрешите Task Manager. – более полный список
4. Как сделать что бы задачи, которые повисли и перестали отвечать, убивались автоматически? За это отвечает ключ HungAppTimeout, находящийся по адресу HKCU\Control Panel\Desktop. Значение этого ключа определяет время в миллисекундах, через которое не отвечающее приложение считается зависшим. Кроме этого ключа, в той же ветке есть ключи WaitToKillServiceTimeout, который задаёт время ожидания перед "убийством" зависшей службы, и AutoEndTasks, присвоив которому значение 1, Вы разрешите системе убивать зависшие процессы самостоятельно. Не следует, только, ставить очень малые значения Timeout, иначе могут возникнуть проблемы с невовремя убитыми програмами и службами 5. Как добавить содержимое рабочего стола в меню Start? HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders value Desktop, default val is "%USERPROFILE%\Desktop" change to "%USERPROFILE%\Start Menu\Desktop" скопировать папку %USERPROFILE%\Desktop в %USERPROFILE%\Start Menu\Desktop. Перегружаемся, после этого, при нажатии на Start там будет распахивающееся меню Desktop. 6. Интеллектуальное меню в Windows XP Скрытие строк редко используемых программ, что очень удобно, в кнопке "Пуск" в Windows XP осуществляется так. [HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Explorer\ Advanced] Параметр "IntelliMenus": "Yes" включает интеллектуальное меню, "No" выключает. В том же разделе еще много интересных параметров, названия которых говорят сами за себя.
7. Num Lock Некоторые сетуют, что при входе пользователя в систему переключатель клавиатуры Num Lock всегда выключен. Можно ли сделать, чтобы он всегда был включен? Для этого найдите ветвь: HKEY_CURRENT_USER\Сontrol Panel\Keyboard и установите строковое значение InitialKeyboardIndicators равным «2» 8. Скрытие области уведомлений (Windows XP) Порой в области уведомлений (рядом с часиками) накапливается слишком много значков. Конечно, есть возможность выборочного скрытия отдельных значков. Но есть более радикальный способ - скрытие самой области уведомления. Для этого откройте раздел HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\Policies\ Explоrer и создайте параметр NoTrayItemsDisplay типа DWORD со значением, равным 1. После перезагрузки изменения вступят в силу. При этом на вкладке Панель задач в Панель задач и меню «Пуск» рамка «Область уведомлений» будет недоступной.
9. Автоматический вход в систему без ввода имени и пароля Создать или отредактировать в разделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon строковые параметры "DefaultDomainName", "DefaultUserName", "DefaultPassword", в качестве их значений укажите требуемые для входа в систему имя домена, имя пользователя и пароль соответственно. Создать или отредактировать в этом же разделе строковый параметр "AutoAdminLogon", для автоматического входа в систему, присвоив ему значение "1". "0" – отменяет автоматический вход. Пароль сохраняется как текст, поэтому любой пользователь, имеющий доступ к системному реестру, может увидеть заданный по умолчанию пароль, но доступ к реестру можно запретить Удаление значка "Корзина" с рабочего стола Чтобы удалить значок Корзины с Рабочего стола, необходимо зайти в раздел HKEY_LOCAL_MACHINE\SOFTWARE\CurrentVersion\explorer\Desktop\NameSp ace и удалить подраздел {645FF B-9F08-00AA002F954E}