- Каково назначение основных разделов реестра Windows
- Вступление
- Типы данных в реестре
- HKEY_LOCAL_MACHINE (HKLM)
- HKLM\Hardware
- HKLM\SAM
- HKLM\Security
- HKLM\Software
- HKLM\System\CurrentControlSet
- HKEY_USERS (HKU)
- HKEY_CURRENT_CONFIG (HKCC)
- HKEY_CURRENT_USER (HKCU)
- HKEY_CLASSES_ROOT (HKCR)
- Реестр Windows – описание, настройка и полезные ветки реестра
- Что такое реестр Windows
- Полезные ветки реестра
Каково назначение основных разделов реестра Windows
Вступление
В данной статье будут рассмотрены основные ветки реестра Windows, а также их назначение. Список корневых разделов можно увидеть ниже:
- HKEY_LOCAL_MACHINE (HKLM)
- HKEY_USERS
- HKEY_CURRENT_CONFIG
- HKEY_CURRENT_USER
- HKEY_CLASSES_ROOT
Типы данных в реестре
В реестре могут храниться данные семи типов:
- REG_BINARY хранит произвольные двоичные данные в «сыром» виде, без переформатирования и синтаксического разбора. Эти данные можно просматривать в двоичном или шестнадцатеричном виде при помощи редактора реестра.
- REG_DWORD хранит параметры, представленные восьмибайтными (длинные) целыми числами. Этот тип данных обычно применяется, когда параметр обозначает счетчик или интервал. Еще одно его применение в качестве флага (0 — флаг снят, 1 — установлен).
- REG_SZ представляет собой обычную строку в кодировке Unicode любой длины. Наиболее часто в этом типе данных хранится информация, которая будет читаться пользователем, пути доступа, названия устройств и т.п.
- REG_EXPAND_SZ — вид REG_SZ, используемый приложениями для хранения конструкций вида %SystemRoot%\System32, например. При чтении этой строки Windows заменяет %SystemRoot% на имя папки, куда она установлена.
- REG_MULTI_SZ представляет собой набор произвольного количества параметров типа REG_SZ. В этом типе данных хранится, например, список IP адресов, назначенных сетевому интерфейсу.
- REG_FULL_RESOURCE_DESCRIPTOR применяется для кодирования информации о системных ресурсах, необходимых для какого-либо из устройств.
- REG_NONE служит как семафор, т.е. параметр существует, но не содержит ни какого значения. Некоторые приложения проверяют наличие этого параметра и, исходя из результата проверки, выполняют или не выполняют действие.
При добавлении параметров в реестр нужно обязательно использовать тот тип данных, который указан в источнике, откуда взята информация о необходимости добавить параметр. Если тип данных не будет соответствовать тому, который ожидает найти приложение в указанном месте, то последствия могут быть непредсказуемыми.
HKEY_LOCAL_MACHINE (HKLM)
Раздел HKEY_LOCAL_MACHINE (HKLM) — хранит все настройки, относящиеся к локальному компьютеру. Например, в подразделе HARDWARE хранятся записи операционной системы и драйверов и совместно используемая (разделяемая) информация о физических устройствах, обнаруживаемых операционной системой во время загрузки (как и остальных устройств Plug-and-Play, которые могут быть добавлены после загрузки операционной системы). Приложения должны хранить здесь данные только в том случае, когда они относятся ко всем, кто пользуется компьютером. Например, драйвер принтера может хранить здесь набор настроек принтера, применяемых по умолчанию, и копировать эти данные для каждого профиля пользователя при входе пользователя в систему.
HKLM\Hardware
В разделе HKLM\Hardware хранится информация об устройствах, обнаруженных в компьютере. Все параметры этого раздела хранятся не на жестком диске, а в оперативной памяти. Когда компьютер распознает запуск устройства, он нумерует найденное устройство, исследуя шину и отдельные классы устройств (например, порты или клавиатуру). В этом разделе имеются три основных подраздела:
- Подраздел Descriptions содержит описания центральных процессоров, процессоров для операций вещественными числами («с плавающей точкой») и многофункциональных устройств компьютера.
- Подраздел DeviceMap сопоставляет устройства драйверам. Например, DeviceMap\video имеет параметр с именем \Device\Video1, содержащий строку \REGISTRY\Machine\SYSTEM\ControlSet001\Services\mnmdd\Device0, являющуюся указателем на место, где хранятся параметры для драйвера этого видеоконтроллера.
- В подразделе ResourceMap имеются три основных подраздела. Один — для уровня аппаратных абстракций (HAL, hardware abstraction layer), применяемый при отслеживании найденных устройств. Второй — для Plug-and-Play Manager, для записи устройств, про которые известно, как с ними работать. Третий — для отображения объема оперативной памяти.
Могут быть и дополнительные подразделы, в зависимости от конфигурации компьютера. Например, компьютеры с поддержкой интерфейса управления питанием (ACPI), будут иметь подраздел ACPI, содержащий информацию о конкретных возможностях ACPI на этом компьютере.
HKLM\SAM
В разделе HKLM\SAM хранятся локальные учетные записи или группы, созданные на компьютере. Раздел скрыт.
HKLM\Security
В разделе HKLM\Security содержится всевозможная информация, относящаяся к защите. Формат не документирован. Используется для кэширования верительных данных для входа в систему, настроек политики и разделяемых секретных данных сервера. Подраздел Security\SAM содержит копию большинства данных из HKLM\SAM
HKLM\Software
Раздел HKLM\Software — является корнем структуры подразделов, хранящих глобальную (в пределах компьютера) информацию приложений и компонент. Программы создают свои собственные подразделы в HKLM\Software для храниения своей служебной информации. В разделе HKLM\Software\Microsoft\Windows\CurrentVersion хранится большинство данных о настройках пользовательского интерфейса (GUI). Подраздел HKLM\Software\Microsoft\Windows NT\CurrentVersion, среди прочих, содержит разделы для автоматического восстановления, для шифруемой файловой системы, для редактора конфигурации безопасности, для терминальных служб и т.д
HKLM\System\CurrentControlSet
Последним действием фазы загрузки Windows является обновление реестра, которое должно зафиксировать набор служб и управляющих настроек, применявшийся при последней успешной загрузке. CurrentControlSet всегда указывает на набор управляющих настроек, используемых системой в текущий момент. В HKLM\System есть много подразделов ControlSetXXX, каждый из которых описывает набор управляющих настроек, существовавших в какой-либо момент времени, независимо от того, была ли загрузка успешной или нет. CurrentControlSet является указателем на последний набор управляющих настроек, при котором загрузка была успешной. Поскольку трудно определить сразу, какая из загрузок была успешной, то операционная система и приложения пользуются указателем CurrentControlSet.
В разделе, описывающем набор управляющих настроек, среди прочих, имеются четыре следующих раздела:
- Control — Содержит управляющую информацию для служб и системных инструментальных средств. Например, Control\BackupRestore\KeysNotToRestore содержит список разделов, которые утилита Backup на должна восстанавливать при восстановлении реестра.
- Enum — Содержит по одному элементу данных для каждого из найденных системой устройств. Если устройство имелось на на момент загрузки, то оно будет включено в этот список.
- Hardware Profiles — Содержит по одному элементу данных для каждого из профилей оборудования, найденных на компьютере. Как и сам HKLM\System, каждый профиль имеет порядковый номер, начинающийся с 0001. HKLM\System\Hardware Profiles\Current всегда указывает на профиль, выбранный при загрузке.
- HKLM\System\MountedDevices — Тома динамических дисков зависят от наличия информации о текущей конфигурации о логических томах на диске. Приложения и оснастки берут эту информацию из службы Logical Volume Manager, которая хранит свой список смонтированных и доступных устройств и подразделе MountedDevices
HKEY_USERS (HKU)
Раздел HKEY_USERS (HKU) — содержит записи для каждого из пользователей, когда-либо входивших в систему. Владельцем каждой из этих записей является соответствующая пользовательская учетная запись, там содержатся настройки профиля этого пользователя. Если используются групповая политика, то задаваемые в ней настройки применяются здесь к профилям отдельных пользователей.
HKEY_CURRENT_CONFIG (HKCC)
Раздел HKEY_CURRENT_CONFIG (HKCC) — хранит информацию о текущей загрузочной конфигурации компьютера. В частности, здесь хранится информация о текущем наборе системных служб и об устройствах, имевшихся во время загрузки. На самом деле, этот корневой раздел является указателем на раздел внутри HKLM.
HKEY_CURRENT_USER (HKCU)
Раздел HKEY_CURRENT_USER (HKCU) указывает на профиль текущего пользователя (вошедшего в данный момент в систему) внутри HKU. Microsoft требует, чтобы приложения хранили все предпочтения пользователей в подразделах под HKCU. Например, HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Paint содержит личные настройки пользователей программы Paint.
HKEY_CLASSES_ROOT (HKCR)
Раздел HKEY_CLASSES_ROOT (HKCR) — сопоставляет расширения файлов и идентификаторы классов OLE. Фактически он указывает на HKLM\Software\Classes. Система использует эти соответствия чтобы определить, какие приложения или компоненты нужно использовать при открытии или создании тех или иных типов файлов или объектов данных.
Реестр Windows – описание, настройка и полезные ветки реестра
Данная статья посвящена такому обширному и очень полезному разделу изучения операционной системы Windows это – системный реестр Windows. Здесь мы с Вами попробуем узнать основы реестра, а также я Вам покажу полезные и прикольные ветки реестра, которые Вам могут пригодиться.
Что такое реестр Windows
Системный реестр – особая база данных в операционной системе Windows, в которой содержатся сведения об установленном оборудовании, программах и их параметрах, а так же информация об учетных записях пользователей операционной системы. Windows постоянно обращается к этой базе. Она необходима для нормальной и связанной работы всех аппаратных частей компьютера и программного обеспечения.
Реестр формируется в процессе установки windows, и в дальнейшем при каждом изменение (даже малом), это изменение вносится в реестр. Реестр сам по себе представляет собой несколько файлов:
которые располагаются обычно вот здесь C:\windows\system32\config
Реестр заменяет собой большинство текстовых ini-файлов, которые использовались в Windows 3.x, а также файлы конфигурации MS-DOS (например, Autoexec.bat и Config.sys). В наше время реестр это как бы «сердце» Windows, с помощью реестра можно настроить все что угодно т.к. вы, изменяя вид папки, вносите, сами того не подозревая, изменения в реестр.
Реестр представляет собой иерархическую базу данных, и он состоит из так называемых ветвей:
- HKEY_CLASSES_ROOT (HKCR) — в этой ветви содержатся сведения о расширениях всех зарегистрированных в системе типов файлов (хранящиеся здесь сведения отвечают за запуск необходимой программы при открытии файла с помощью проводника Windows);
- HKEY_CURRENT_USER (HKCU) — в этой ветви содержится информация о пользователе, вошедшем в систему в настоящий момент (здесь хранятся папки пользователя, цвета экрана и параметры панели управления);
- HKEY_LOCAL_MACHINE (HKLM) — в этой ветви содержится информация об аппаратной части ПК, о драйверах устройств, сведения о загрузке Windows;
- HKEY_USERS (HKU) — в этой ветви содержится информация о всех активных загруженных профилях пользователей данного ПК;
- HKEY_CURRENT_CONFIG (HKCC) — в этой ветви содержится информация о профиле оборудования, используемом локальным компьютером при запуске системы.
Разделы и подразделы — это, грубо говоря, папки в левом окне Regedit’а. Ключ реестра, или параметр — это некая переменная, которой присвоено определенное значение, проще говоря — это то, что мы видим в правом окне Regedit’а.
Куст (основной раздел, стандартный раздел, в английской документации — улей, от англ. hive) — это раздел реестра, отображаемый как файл на жестком диске. Куст является набором разделов, подчиненных разделов и параметров и имеет корни на верхнем уровне иерархии реестра.
Обычный пользователь думает что, запуская утилиту REGEDIT он видит реестр, но это не так, он видит редактор реестра, а сам реестр как я уже сказал, выглядит в виде файлов. Запустить редактор реестра можно следующим образом: Пуск->выполнить->regedit также можно использовать альтернативные редакторы реестра, которых в настоящий момент множество.
Все значения ключей реестра относятся к определенному типу данных:
- REG_BINARY — двоичные данные. Большинство сведений об аппаратных компонентах хранится в виде двоичных данных и выводится в редакторе реестра в шестнадцатеричном формате.
- REG_DWORD — целые числа размером в 4 байта. Многие параметры служб и драйверов устройств имеют этот тип и отображаются в двоичном, шестнадцатеричном или десятичном форматах.
- REG_EXPAND_SZ — строка данных переменной длины.
- REG_MULTI_SZ — многострочный текст. Этот тип, как правило, имеют списки и другие записи в формате, удобном для чтения. Записи разделяются пробелами, запятыми или другими символами.
- REG_SZ — текстовая строка фиксированной длины.
- REG_FULL_RESOURCE_DESCRIPTOR — последовательность вложенных массивов, разработанная для хранения списка ресурсов железа или драйверов.
Если вы будете редактировать реестр, то лучше всего сначала сделать копию той ветки (Резервирование и восстановление веток реестра Windows), какую вы собираетесь изменить. А копию можно сделать следующим образом: встаньте на ту ветку и нажмите файл->экспорт и сохраните, а потом в случае чего можно восстановить с помощью импорта.
Полезные ветки реестра
Небольшую теорию теперь Вы знаете, теперь перейдем к практике. Я Вам расскажу основные (важные, на мой взгляд, ну или прикольные:)) ветки реестра и параметры.
- [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] такие параметры как «Shell» и «Userinit» которые равняются соответственно «Explorer.exe,» и «C:\\WINDOWS\\system32\\userinit.exe,» Эти параметры важны, потому что они отвечают за загрузку системы и если вы поймали какой-нибудь вирус типа «отправить смс» то в первую очередь проверяйте эти параметры;
- [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] Здесь у нас хранятся все те программы, которые грузятся вместе с системой, можете просто удалить те параметры, отвечающие за программы, которые вам не нужны при загрузке системы;
- Если вы хотите полюбоваться на культовый Синий Экран Смерти — Blue Screen of Death (BSOD) в любое время, то откройте раздел [HKLM_SYSTEM_CurrentControlSet\Servises\i8042prt\Parameters] и присвойте параметру типа DWORD CrashOnCtrlScroll значение 1. Удерживая правую клавишу Ctrl, нажмите два раза на клавишу Scroll Lock и Вы увидите этот синий экран. Внимание! если не знаете как делать то лучше не делайте;
- Можно настроить систему таким образом, чтобы при загрузке выводилось окно с вашим сообщением. Для этого откройте раздел HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon и создайте строковый параметр LegalNoticeCaption и введите вашу строку, которая будет выводиться в заголовке вашего сообщения, а для текста самого сообщения используйте строковый параметр LegalNoticeText в том же разделе. Теперь перед входом в систему появится созданное вами сообщение;
- Существует способ запретить использование USB-накопителей в Windows XP. Откройте раздел HKLM\SYSTEM\CurrentControlSet\Services\UsbStor и установите значение параметра Start равным 4. USB-диски после этого работать перестанут;
- Чтобы запретить пользователю возможность запуска Диспетчера задач Windows, установите значение параметра типа DWORD DisableTaskMgr в разделе HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System равным 1.
Еще раз напоминаю «Делайте копию» при любом изменение!