Какие корневые ключи имеет реестр в чем их назначение
Реестр Windows – описание, настройка и полезные ветки реестра
Данная статья посвящена такому обширному и очень полезному разделу изучения операционной системы Windows это – системный реестр Windows. Здесь мы с Вами попробуем узнать основы реестра, а также я Вам покажу полезные и прикольные ветки реестра, которые Вам могут пригодиться.
Что такое реестр Windows
Системный реестр – особая база данных в операционной системе Windows, в которой содержатся сведения об установленном оборудовании, программах и их параметрах, а так же информация об учетных записях пользователей операционной системы. Windows постоянно обращается к этой базе. Она необходима для нормальной и связанной работы всех аппаратных частей компьютера и программного обеспечения.
Реестр формируется в процессе установки windows, и в дальнейшем при каждом изменение (даже малом), это изменение вносится в реестр. Реестр сам по себе представляет собой несколько файлов:
которые располагаются обычно вот здесь C:\windows\system32\config
Реестр заменяет собой большинство текстовых ini-файлов, которые использовались в Windows 3.x, а также файлы конфигурации MS-DOS (например, Autoexec.bat и Config.sys). В наше время реестр это как бы «сердце» Windows, с помощью реестра можно настроить все что угодно т.к. вы, изменяя вид папки, вносите, сами того не подозревая, изменения в реестр.
Реестр представляет собой иерархическую базу данных, и он состоит из так называемых ветвей:
Разделы и подразделы — это, грубо говоря, папки в левом окне Regedit’а. Ключ реестра, или параметр — это некая переменная, которой присвоено определенное значение, проще говоря — это то, что мы видим в правом окне Regedit’а.
Куст (основной раздел, стандартный раздел, в английской документации — улей, от англ. hive) — это раздел реестра, отображаемый как файл на жестком диске. Куст является набором разделов, подчиненных разделов и параметров и имеет корни на верхнем уровне иерархии реестра.
Обычный пользователь думает что, запуская утилиту REGEDIT он видит реестр, но это не так, он видит редактор реестра, а сам реестр как я уже сказал, выглядит в виде файлов. Запустить редактор реестра можно следующим образом: Пуск->выполнить->regedit также можно использовать альтернативные редакторы реестра, которых в настоящий момент множество.
Все значения ключей реестра относятся к определенному типу данных:
Если вы будете редактировать реестр, то лучше всего сначала сделать копию той ветки (Резервирование и восстановление веток реестра Windows), какую вы собираетесь изменить. А копию можно сделать следующим образом: встаньте на ту ветку и нажмите файл->экспорт и сохраните, а потом в случае чего можно восстановить с помощью импорта.
Полезные ветки реестра
Небольшую теорию теперь Вы знаете, теперь перейдем к практике. Я Вам расскажу основные (важные, на мой взгляд, ну или прикольные:)) ветки реестра и параметры.
Еще раз напоминаю «Делайте копию» при любом изменение!
4.Восстановление системного реестра
Кроме этого в состав Windows 98 входит утилита Scanregw. При помощи этой утилиты можно проверить реестр на ошибки и сделать резервную копию в любой момент вашей работы. Кстати, данная утилита может работать и с Windows 95. Когда что-то идет не так, как надо, реестр может быть восстановлен в предыдущее хорошее состояние. Для восстановления системного реестра выполните следующие команды:
1. Нажмите кнопку «Пуск», и затем нажмите «Завершение работы».
2. Выберете «Перезагрузить компьютер в режиме МS- DOS», затем нажимает ОК.
4. Напечатайте следующие команды, нажимая ENTER после каждой из них. (Обратите внимание, что имена SYSTEM.DA0 и USER.DA0 содержат цифру ноль.)
copy system.da0 system.dat
copy user.da0 user.dat
5. Перезагрузите Ваш компьютер.
После этой процедуры Ваш системный реестр восстановит то состояние, при котором Вы в последний раз, успешно загрузили компьютер. Если все это не дало результатов, то на Вашем жестком диске имеется файл по имени SYSTEM.1ST, который был создан, при успешной установке Windows 95, 98. В случае необходимости Вы можете снять атрибуты этого файла: только для чтения и скрытый, чтобы скопировать в C:\WINDOWS\SYSTEM.DAT.
После того, как Вы сохранили Системный реестр, можно для большей сохранности скопировать RBK-файл на гибкий диск. Однако чтобы восстановить его копию, RBK-файл должен находится в каталоге \Windows. Windows 95 сохраняет копии в сжатой форме, которую Вы можете восстановить только тогда, когда используете утилиту CFGBACK.EXE.
Windows NT. В Windows NT Вы может использовать или опцию «Last Known Good», или утилиту RDISK, чтобы восстановить системный реестр к устойчивой рабочей конфигурации.
6.Оптимизация системного реестра
Под оптимизацией системного реестра (а следовательно и Windows) следует понимать:
1. Очистка реестра от мусора (который остаётся после деинсталляций различных программ и других манипуляций с реестром). Разумеется делать это лучше автоматически. Существует ряд утилит способных выполнить эту задачу (в большей или меньшей степени; у каждой утилиты свои критерии очистки). Это: Microsoft RegClean, Norton WinDoctor из пакета Norton Utilities, Norton System Check, входящая в состав Norton CrachGuard DeLuxe, а также утилиты очистки из пакетов Quarterdeck CleanSweep, Norton CleanSweep и другие.
Для начинающих пользователей можно порекомендовать совместное использование пары: Microsoft RegClean и Norton WinDoctor (или Norton System Check).
2. Сжатие реестра. В процессе эксплуатации Windows часто приходится устанавливать и удалять различные программы или изменять их параметры. В результате этих действий (даже после вполне корректной деинсталляции программ) в системном реестре остается много ненужной информации и пробелов между записями, так как Windows не умеет автоматически сжимать реестр. Сжать реестр в Windows 95 OSR2 и в Windows 98 можно несколькими способами:
Загрузите компьютер в режиме командной строки. На всякий случай сделайте резервные копии файлов реестра. (Не забудьте, что в многопользовательском режиме часть реестра лежит в каталогах пользователей).
Запустите из командной строки утилиту REGEDIT:
REGEDIT /E REGTXT.REG
Далее выполните восстановление реестра из этой копии следующей командой:
REGEDIT /C REGTXT.REG
Обычно реестр при этом худеет на несколько сотен килобайт.
Windows реестра для продвинутых пользователей
В этой статье описывается Windows реестр и содержится информация о том, как изменить и создать его обратно.
Применяется к: Windows 10 — все выпуски, Windows Server 2012 R2
Исходный номер КБ: 256986
Описание реестра
Словарь microsoft Computer Dictionary( Пятое издание) определяет реестр как:
Центральная иерархическая база данных, используемая в Windows 98, Windows CE, Windows NT и Windows 2000 г., используется для хранения сведений, необходимых для настройки системы для одного или более пользователей, приложений и аппаратных устройств.
Реестр содержит сведения, Windows постоянно ссылаются во время работы, такие как профили для каждого пользователя, установленные на компьютере приложения и типы документов, которые каждый может создать, параметры листов свойств для папок и значков приложений, оборудование, которое существует в системе, и используемые порты.
Ульй реестра | Поддержка файлов |
---|---|
HKEY_LOCAL_MACHINE\SAM | Sam, Sam.log, Sam.sav |
HKEY_LOCAL_MACHINE\Security | Безопасность, Security.log, Security.sav |
HKEY_LOCAL_MACHINE\Software | Программное обеспечение, Software.log, Software.sav |
HKEY_LOCAL_MACHINE\System | System, System.alt, System.log, System.sav |
HKEY_CURRENT_CONFIG | System, System.alt, System.log, System.sav, Ntuser.dat, Ntuser.dat.log |
HKEY_USERS\DEFAULT | Default, Default.log, Default.sav |
В Windows 98 файлы реестра называются User.dat и System.dat. В Windows Millennium Edition файлы реестра называются Classes.dat, User.dat и System.dat.
Функции безопасности Windows доступ администратора к клавишам реестра.
В следующей таблице перечислены предопределяные ключи, используемые системой. Максимальный размер имени ключа — 255 символов.
В следующей таблице перечислены типы данных, которые в настоящее время определены и используются Windows. Максимальный размер имени значения:
Длинные значения (более 2048 bytes) должны храниться в качестве файлов с именами файлов, хранимыми в реестре. Это помогает реестру работать эффективно. Максимальный размер значения:
Существует ограничение в 64K для общего размера всех значений ключа.
Имя | Тип данных | Описание |
---|---|---|
Двоичное значение | REG_BINARY | Необработанные двоичные данные. Большинство сведений о компонентах оборудования хранятся в виде двоичных данных и отображаются в редакторе реестра в гексадецимальной форме. |
Значение DWORD | REG_DWORD | Данные представляются числом длиной 4 bytes (32-bit integer). Многие параметры для драйверов и служб устройств являются этим типом и отображаются в редакторе реестра в двоичном, hexadecimal или десятичном формате. Соответствующие значения DWORD_LITTLE_ENDIAN (наименее значительный byte находится на самом низком адресе) и REG_DWORD_BIG_ENDIAN (наименее значительный byte находится на самом высоком адресе). |
Расширяемое значение строки | REG_EXPAND_SZ | Строка данных переменной длины. Этот тип данных включает переменные, которые решаются при помощи данных программы или службы. |
Многострочный параметр | REG_MULTI_SZ | Несколько строк. Значения, содержащие списки или несколько значений в форме, которую люди могут прочитать, обычно являются этим типом. Записи разделены пробелами, запятой или другими метками. |
Значение строки | REG_SZ | Текстовая строка фиксированной длины. |
Двоичное значение | REG_RESOURCE_LIST | Серия вложенных массивов, предназначенных для хранения списка ресурсов, который используется драйвером аппаратного устройства или одним из физических устройств, которые он контролирует. Эти данные обнаруживаются и пишутся в дереве \ResourceMap системой и отображаются в редакторе реестра в hexadecimal формате как двоичное значение. |
Двоичное значение | REG_RESOURCE_REQUIREMENTS_LIST | Серия вложенных массивов, предназначенных для хранения списка возможных аппаратных ресурсов драйвера или одного из физических устройств, которые он контролирует. Система записывает подмножество этого списка в дереве \ResourceMap. Эти данные обнаруживаются системой и отображаются в редакторе реестра в hexadecimal формате как двоичное значение. |
Двоичное значение | REG_FULL_RESOURCE_DESCRIPTOR | Серия вложенных массивов, предназначенных для хранения списка ресурсов, используемого физическим аппаратным устройством. Эти данные обнаруживаются и пишутся в дереве \HardwareDescription системой и отображаются в редакторе реестра в hexadecimal формате как двоичное значение. |
Нет | REG_NONE | Данные без определенного типа. Эти данные записаны в реестр системой или приложениями и отображаются в редакторе реестра в hexadecimal формате как двоичное значение |
Ссылка | REG_LINK | Строка Unicode, именуемая символической ссылкой. |
Значение QWORD | REG_QWORD | Данные, представленные числом, которое представляет собой 64-битный набор. Эти данные отображаются в редакторе реестра как двоичное значение и были представлены Windows 2000 году. |
Back up the registry
Перед изменением реестра экспортируйте ключи из реестра, который планируется изменить, или закапируйте весь реестр. Если возникает проблема, вы можете следовать шагам в разделе Восстановление реестра, чтобы восстановить реестр в прежнем состоянии. Чтобы создать резервную копию всего реестра, используйте утилиту Резервное копирование для резервного копирования состояния системы. Состояние системы включает реестр, базу данных регистрации класса COM+ и файлы загрузки. Дополнительные сведения об использовании утилиты Резервного копирования для резервного копирования состояния системы см. в следующих статьях:
Изменение реестра
Чтобы изменить данные реестра, программа должна использовать функции реестра, определенные в функциях реестра.
Администраторы могут изменять реестр с помощью редактора реестра (Regedit.exe или Regedt32.exe), файлов групповой политики, системной политики, реестра (.reg) или запуска сценариев, таких как файлы скриптов VisualBasic.
Использование пользовательского Windows интерфейса
Рекомендуется использовать интерфейс Windows для изменения параметров системы, а не вручную изменять реестр. Однако редактирование реестра иногда может быть оптимальным методом для решения проблемы продукта. Если проблема задокументирована в базе знаний Майкрософт, будет доступна статья с пошагированными инструкциями по редактированию реестра для этой проблемы. Мы рекомендуем выполнять эти инструкции точно.
Использование редактора реестра
При неправильном изменении реестра с использованием редактора реестра или другого способа могут случиться серьезные проблемы. Для решения этих проблем может потребоваться переустановка операционной системы. Компания Microsoft не может гарантировать, что эти проблемы могут быть решены. Вносите изменения в реестр на ваш страх и риск.
Вы можете использовать редактор реестра для следующих действий:
Область навигации редактора реестра отображает папки. Каждая папка представляет предопределяемую клавишу на локальном компьютере. При доступе к реестру удаленного компьютера отображаются только два предопределённых ключа: HKEY_USERS и HKEY_LOCAL_MACHINE.
Использование групповой политики
На консоли управления Майкрософт (MMC) размещены административные средства, которые можно использовать для администрирования сетей, компьютеров, служб и других компонентов системы. Оснастка MMC групповой политики позволяет администраторам определять параметры политики, применяемые к компьютерам или пользователям. Групповую политику можно реализовать на локальных компьютерах с помощью локальной оснастки MMC групповой политики Gpedit.msc. Можно реализовать групповую политику в Active Directory с помощью оснастки пользователей и компьютеров Active Directory MMC. Дополнительные сведения об использовании групповой политики см. в разделе Справка в соответствующей оснастке MMC групповой политики.
Использование файла Записи регистрации (.reg)
Использование Windows скрипта
Хост Windows скриптов позволяет запускать VBScript и JScript непосредственно в операционной системе. Вы можете создать VBScript и JScript, которые используют Windows для удаления, чтения и записи ключей и значений реестра. Дополнительные сведения об этих методах можно получить на следующих веб-сайтах Майкрософт:
Использование Windows инструментов управления
Windows Инструментарий управления (WMI) является компонентом операционной системы Microsoft Windows и является microsoft реализация Web-Based Enterprise управления (WBEM). WBEM — это отраслевая инициатива по разработке стандартной технологии для доступа к сведениям об управлении в корпоративной среде. С помощью WMI можно автоматизировать административные задачи (например, редактирование реестра) в корпоративной среде. WMI можно использовать в языках скриптов, на Windows которые обрабатывают объекты Microsoft ActiveX. Вы также можете использовать утилиту WMI Command-Line (Wmic.exe) для изменения Windows реестра.
Дополнительные сведения о утилите WMI Command-Line см. в описании утилиты командной строки управления Windows (WMI) (Wmic.exe).
Используйте средство реестра консоли для Windows
Для редактирования реестра можно использовать средство реестра консоли Windows (Reg.exe). Для получения помощи с Reg.exe введите в reg /? командной подсказке, а затем нажмите кнопку ОК.
Восстановление реестра
Чтобы восстановить реестр, используйте соответствующий метод.
Метод 1. Восстановление ключей реестра
Чтобы восстановить подкайки реестра, которые вы экспортировали, дважды щелкните файл Registration Entries (.reg), сохраненный в разделе Subkeys реестра экспорта. Или можно восстановить весь реестр из резервного копирования. Дополнительные сведения о восстановлении всего реестра см. в разделе Method 2: Restore the whole registry section later in this article.
Метод 2. Восстановление всего реестра
Чтобы восстановить весь реестр, восстановим состояние системы из резервного копирования. Дополнительные сведения о восстановлении состояния системы из резервного копирования см. в материалах Как использовать резервное копирование для защиты данных и восстановления файлов и папок на компьютере в Windows XP и Windows Vista.
При копировании состояния системы также создаются обновленные копии файлов реестра в %SystemRoot%\Repair папке.
Ссылки
Дополнительные сведения можно получить на следующих веб-сайтах:
Каталог Windows серверов тестовых продуктов — это ссылка на продукты, протестированные на совместимость Windows Server.
Data Protection Manager (DPM) является ключевым членом семейства продуктов microsoft System Center управления и предназначена для того, чтобы помочь ИТ-специалистам управлять своей Windows средой. DPM — это новый стандарт для Windows резервного копирования и восстановления и обеспечивает непрерывную защиту данных для приложений и файлового сервера Майкрософт, которые используют бесшовно интегрированные дисковые и ленточные носитли. Дополнительные сведения о том, как создать реестр и восстановить его, см. в дополнительных сведениях о том, как создать и восстановить реестр в Windows XP и Windows Vista.
LiveInternetLiveInternet
—Метки
—Рубрики
—Поиск по дневнику
—Подписка по e-mail
—Статистика
Содержание и назначение веток реестра ОС Windows
Справочник по ключам реестра
Системные администраторы в своей повседневной работе сталкиваются с задачами огромной сложности, связанными с управлением аппаратными средствами, операционными системами и приложениями, работающими на персональных компьютерах организации.
Довольно часто им приходится выполнять и задачи, связанные с администрированием реестра. В главе 1 приводилось очень краткое описание ключей реестра в Windows NT/2000 и Windows XP. В данной главе, которая призвана послужить своего рода справочником по основным ключам реестра операционных систем Windows NT/2000/XP, мы рассмотрим этот вопрос более подробно. Особо выделим новые ключи, которые были добавлены в Windows XP.
Так же как и многие другие системные компоненты Windows XP, реестр этой операционной системы очень схож с реестром, имеющимся в Windows NT/2000, и имеет существенные отличия от реестра Windows 9x/ME. Это объясняется тем, что система Windows XP создана на основе ядра Windows NT/2000. Однако, в виду того что в Windows XP было представлено много новых функциональных возможностей, а само ядро системы было усовершенствовано, в реестре системы появились новые ключи и элементы. Это не удивительно, т. к. все новые функциональные возможности операционной системы обязательно находят свое отражение в ее реестре.
HKEY_LOCAL_MACHINE представляет собой один из самых важных и интересных корневых ключей реестра. Он содержит конфигурационные данные для локального компьютера. Информация, хранящаяся в составе этого ключа, используется приложениями, драйверами устройств и системой Windows NT/2000/XP для получения данных о конфигурации локального компьютера, вне зависимости от того, какой пользователь зарегистрирован в системе и какое программное обеспечение используется.
HKEY_LOCAL_MACHINE содержит пять вложенных ключей, краткие описания которых приведены в табл. 7.1.
Можно прочесть информацию, содержащуюся в любом из этих ключей, но практический смысл имеет только редактирование данных, хранящихся в составе ключей Software И System.
Таблица 7.1. Вложенные ключи корневого ключа HKEY_LOCAL_MACHINE
Ключ
Содержимое
База данных, описывающая аппаратные средства компьютера, способ взаимодействия драйверов устройств с аппаратными средствами, а также данные, которые связывают драйверы режима ядра с кодом режима пользователя. Все данные этого ключа воссоздаются при каждом запуске системы.
Вложенный ключ DESCRIPTION описывает фактически установленные аппаратные средства компьютера.
Вложенный ключ DEVICEMAP содержит разнообразные данные в форматах, определяемых конкретными классами драйверов.
Вложенный ключ RESOURCEMAP описывает, какие драйверы устройств запрашивают конкретные системные ресурсы (включая порты, адреса DMA, IRQ). Обратите внимание, что во всех операционных системах, созданных на базе Windows NT, включая Windows 2000 и Windows XP, предусмотрен более простой способ просмотра и редактирования содержимого этого ключа. Для этого рекомендуется использовать различные инструментальные средства администрирования. Например, для Windows NT 4.0 это утилита Windows NT Diagnosties (Winmsdp.exe), а в Windows 2000 и Windows XP — консоль ММС или Диспетчер устройств (Device Manager)
База данных сервиса каталога, которая содержит информацию подсистемы безопасности об учетных записях пользователей и групп, а также о доменах сети Windows NT/2000/XP. (SAM — это диспетчер бюджетов безопасности, Security Account Manager.) По умолчанию этот ключ является нечитаемым с помощью редакторов реестра даже для пользователей, которые зарегистрировались в системе от имени администратора. Данные, хранящиеся в составе ключа HKLM\SAM, нигде официально не документированы, а пароли пользователей зашифрованы
Обратите внимание, что в доменах Windows NT база данных SAM также содержит в себе базу данных сервиса каталога. В доменах Windows 2000 база данных сервиса каталога хранится на контроллерах домена, в файле Ntds.dit. Однако база данных SAM продолжает играть важную роль, т. к. в ней хранятся локальные бюджеты (необходимые для локальной регистрации пользователей). Если компьютер под управлением Windows XP, не является участником домена, то база данных SAM служит главным хранилищем учетных записей пользователей и групп
База данных, которая содержит локальную политику безопасности, включая права конкретных пользователей. Этот ключ используется только подсистемой безопасности Windows NT/2000/XP. В качестве примера информации, содержащейся в составе этого ключа, можно привести сведения о наличии у конкретного пользователя права перезагружать локальный компьютер, загружать драйверы устройств, выполнять резервное копирование файлов или получать доступ к локальной системе через сеть. Информация ключа SECURITY также зашифрована. Ключ HKLM\SAM представляет собой ссылку на содержимое ключа HKLM\SECURITY\SAM
База данных программного обеспечения, установленного на компьютере. Этот ключ содержит информацию о программном обеспечении, установленном на локальном компьютере, а также всевозможные конфигурационные данные
База данных, управляющая запуском системы, загрузкой драйверов устройств, сервисами Windows NT/2000/XP и поведением операционной системы
Если под ключом HKEY_CURRENT_USER существуют данные, аналогичные данным, находящимся под ключом HKEY_LOCAL_MACHINE, то в соответствии с принятым соглашением, данные под ключом HKEY_CURRENT_USER имеют приоритет.
Внимательный читатель, конечно, помнит, что параметр Policy, расположенный в составе ключа HKEY_LOCAL_MACHINE, имеет приоритет перед значениями, заданными индивидуально для каждого пользователя, а это имеет место, если вы зарегистрировались в системе под именем Администратор (Administrator) и даете указание использовать установленную опцию по умолчанию (см. главу 5).
Однако значения, находящиеся под этим ключом, могут также расширять (но не замещать) данные, расположенные под ключом HKEY_LOCAL_MACHINE. К тому же, некоторые элементы (например, параметры, управляющие загрузкой драйверов устройств) не имеют смысла вне ключа HKEY_LOCAL_MACHINE.
Ключ HKEY_LOCAL_MACHINE\HARDWARE содержит данные об аппаратных средствах, вычисляемые при запуске системы. В число этих данных входят данные об устройствах на материнской плате, а также о прерываниях, используемых конкретными драйверами устройств.
Ключ HARDWARE содержит важные наборы данных, разбитых на три вложенных ключа: DESCRIPTION, DEVICEMAP и RESOURCEMAP.
Вся информация, которая содержится в ключе HKEY_LOCAL_MACHINE \HARDWARE, является непостоянной (volatile). Это означает, что параметры вычисляются заново при каждом запуске системы и теряются при ее остановке. Приложения и драйверы устройств используют это поддерево для чтения информации о системных компонентах для сохранения данных непосредственно в подключе DEVICEMAP и косвенным образом в подключе RESOURCEMAP (рис. 7.1).
Рис. 7.1. Ключ HREY_LOCAL_MACHINE\HARDWARE
Как отмечалось в главе 5, интегрированная поддержка Plug and Play и управление питанием в Windows 2000/XP осуществляется лишь на компьютерах, оснащенных Advanced Configuration and Power Interface (ACPI) BIOS. При запуске ОС системный загрузчик проверяет, загружен ли BIOS именно такого типа. Если это так, то в операционной системе активизируется ASPI. Если такой BIOS не загружен, то режим ACPI выключен и вместо него используется менее надежная модель — Advanced Power Management (АРМ). Microsoft осуществляет поддержку драйвера ACPI как части операционной системы. В системах, имеющих ACPI BIOS, HAL (Hardware Abstraction Layer, Уровень аппаратных абстракций) обеспечивает загрузку драйвера ACPI в основание дерева устройств (device tree), в котором он выполняет роль интерфейса между операционной системой и BIOS. Драйвер ACPI прозрачен для других драйверов. Если в системе есть ACPI BIOS, в дереве реестра HKEY_LOCAL_MACHINE\HARDWARE будет содержаться вложенный ключ ACPI (рис. 7.1).
Не пытайтесь редактировать данные подключа HKEY_LOCAL_MACHINE \HARDWARE. Большая часть информации хранится в двоичном формате, что затрудняет ее понимание.
Рис. 7.2. Просмотр информации об аппаратных средствах компьютера в Windows XP с помощью утилиты Сведения о системе
Информацию об аппаратных средствах компьютера Windows 2000 можно просмотреть, выполнив команды Программы | Администрирование | Управление компьютером (Programs | Administrative Tools Computer Management) меню Пуск (Start) и развернув дерево консоли ММС. Чтобы просмотреть эту же информацию в Windows XP, нажмите кнопку Пуск (Start), затем выберите команду Все программы | Администрирование | Управление компьютером (All Programs | Accessories | System Tools System Information) для того, чтобы открыть окно Сведения о системе (System Information) (рис. 7.2). Как и в Windows 2000, информация об аппаратных средствах, представленная в удобочитаемом виде, тоже извлекается из реестра.
Вложенный ключ DESCRIPTION
Вложенный ключ DESCRIPTION, расположенный под ключом HKEY_LOCAL_MACHINEXHARDWARE, отображает информацию из базы данных аппаратных устройств. На компьютерах с процессорами Intel эта база данных содержит сведения об устройствах, обнаруженных Ntdetect.com и Ntoskrnl.exe. Ntdetect.com представляет собой стандартную программу, написанную в стиле DOS, которая использует вызовы к системной BIOS для сбора информации об аппаратных средствах компьютера и их конфигурации. Сюда входит информация о дате и времени, хранящаяся в микросхеме CMOS (энергонезависимой памяти), типах шин (например, ISA, PCI, EISA) и идентификаторах устройств на этих шинах, количестве, типах и объеме жестких дисков, имеющихся в системе, количестве и типах параллельных портов и т. д. На базе собранной информации формируются внутренние структуры данных, которые ядро операционной системы (Ntoskrnl.exe) при запуске сохраняет в составе ключа HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION.
Отличие версии Ntdetect.com, входящей в состав Windows 2000 и Windows XP, заключается в том, что ее функции распознавания устройств PnP (Plug and Play) переданы драйверам РnР, в то время как Windows NT 4.0 вследствие ограниченности поддержки РnР распознает аппаратные средства компьютера только с помощью Ntdetect.
Ntdetect.com опознает следующие аппаратные средства:
На этапе запуска не выполняется распознавание плат сетевых адаптеров. Выявление плат сетевых адаптеров производится либо в процессе установки Windows NT/2000/XP, либо при установке на компьютер новой сетевой платы.
Еще несколько вложенных ключей, каждый из которых соответствует конкретным типам контроллеров шины на локальном компьютере, находятся в составе ключа HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\ SystemYMultifunctionAdapter.
Каждый из этих ключей описывает класс (или тип) контроллера, включая контроллеры жестких дисков, дисплея, клавиатуры, параллельных портов, координатных устройств, последовательных портов и устройств SCSI. Путь к вложенному ключу описывает тип компонента. Нумерация физических устройств начинается от 0.
Рис. 7.3. Параметры ключа HKEY_LOCAL_MACHINE\ HARDWARE\DESCRIPTION\ System\MultifunctionAdapter
Для каждого выявленного аппаратного компонента параметры component information и Configuration Data содержат двоичные данные о версии и конфигурации (рис. 7.3). Параметр identifier содержит имя компонента (если оно указано).
Вложенный ключ DEVICEMAP
Ключ HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP содержит набор вложенных ключей, каждый из которых имеет один или несколько параметров, указывающих для обнаруженных устройств путь к информации о драйверах, необходимых этим устройствам. Рассмотрим применение этой информации для поиска драйверов устройств на примере хранения в реестре сведений о драйверах видеоадаптеров. На рис. 7.4 показан пример, иллюстрирующий содержимое вложенного ключа VIDEO, расположенного в составе ключа DEVICEMAP (информация, которую увидите вы, раскрыв этот ключ реестра, будет отличаться от показанной на этой иллюстрации, но, тем не менее, она будет подчиняться ряду общих закономерностей).
Рис. 7.4. Содержимое ключа HKEY_LOCAL_MACHINE\ HARDWARE\DEVICEMAP\VIDEO
Итак, в составе ключа реестра HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP \VIDEO имеется несколько параметров, которые фактически представляют собой указатели на активные в текущий момент устройства. Это параметры с именами \Device\videow, где w— порядковый номер (О, 1, 2 и т. д.). Значения каждого из этих параметров представляют собой строки (тип данных REG_SZ), которые указывают на драйверы соответствующих устройств.
Обратите внимание на формат данных строк-указателей. Например, параметр \Device\video0, представленный на рис. 7.4, имеет значение \Registry\Machine\System\CurrentControlSet\Control\Video\ <С9В3527 9-10E5-4858-9713-1B9D431C37FD>\0000. Это ведь совсем не то обозначение корневых ключей реестра, к которому мы уже привыкли (для сравнения: HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER и т. д.). Что же все это значит? Дело в том, что Windows NT/2000/XP— это объектно-ориентированные операционные системы, работающие с объектами разнообразных типов: устройства (Device), порты (Port), события (Event), каталоги (Directory), символические ссылки (SymbolicLinks) и многие другие. Ключи реестра представляют собой одну из разновидностей объектов, и корневой ключ реестра — это объект типа Key с именем REGISTRY. Именно поэтому в документации по DDK (Device Driver Kit) имена всех ключей реестра начинаются со строки \REGISTRY (например, \REGISTRY\Machine\CurrentControlSet\Services). Таким образом, например, дескриптор ключа HKEY_LOCAL_MACHINE представляет собой ключ с именем \REGiSTRY\Machine, а дескриптор ключа HKEY_USERS —ключ с именем \REGISTRY\User.
Теперь откроем ключ \HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\ Control\Video\<С9В35279-10Е5-4858-9713-1B9D431C37FD>\0000 (рис. 7.5).
Рис. 7.5. Содержимое ключа HKLM\SYSTEM\ CurrentControlSet\Control\Video\
Обратите внимание, что он содержит большое количество элементов, главным образом в двоичном формате.
Однако, среди этих элементов есть значение Device Description (тип данных REG_SZ), которое, как следует из его названия, содержит описание устройства (в нашем примере, NVIDIA RIVA тмт). Кроме того, в нем содержится еще одно значение — installedoispiayDrivers, указывающее драйвер для этого устройства. В нашем случае, оно указывает сервис nv4. Информацию об этом сервисе можно найти в реестре под ключом HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services, в котором должен содержаться вложенный ключ с таким же именем (в нашем примере, nv4). Раскроем ключ HKEY_LOCAL_MACHINE\SYSTEM\Current controiset \services; в нем мы обнаружим вложенный ключ с именем nv4 (рис. 7.6). Он необходим для правильного функционирования устройства.
Рис.7.6. Содержимое ключа HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Services\nv4
Для нахождения ключа следует использовать поисковые возможности программы Regedit.exe. В нашем случае, это самый простой способ.
В составе этого ключа мы в любом случае обнаружим стандартные параметры, задающие режим запуска драйвера: start, Tag, Type, ErrorControl и Group. В зависимости от типа драйвера в составе его ключа могут присутствовать и другие параметры, например, такие, как строковый параметр imagePath, который указывает фактический путь к каталогу, в котором расположен нужный драйвер.
Обратите внимание на то, как задан путь к драйверу. Способ загрузки драйвера, как было указано в предыдущей главе, определяется параметром start, и на момент загрузки драйвера операционная система может еще не назначить дискам буквенные обозначения. Поэтому, если вы укажете путь типа «C:\WINNT\System32\DRIVERS\ «, то ничего хорошего из этого не получится.
В составе ключа HKEY_LOCAL_MACHINE\SYSTEM\ ControlSetflM\Services\ может иметься необязательный параметр DisplayName (тип данных REG_SZ). Значение этого параметра представляет собой текстовую строку, которая будет отображаться административной утилитой Устройства (Devices) из Панели управления (Control Panel) для Windows NT 4.0 и консолью ММС — для Windows 2000 и Windows XP. Если параметр DisplayName отсутствует, то в списке будет отображено имя сервиса или драйвера (в нашем случае — nv4).
В дополнение к перечисленным параметрам, ключ видеодрайвера в составе ключа HKEY_LOCAL_MACHINE\SYSTEM\ControlSetnnn\Services содержит несколько вложенных ключей. Наиболее важным из них является ключ, имя которого совпадает с именем параметра Devicen (в рассматриваемом примере это ключ Device0). Пример содержимого этого ключа показан на рис. 7.7.
В зависимости от реализации видеодрайвера этот ключ может содержать множество разнообразных параметров. Одним из стандартных является параметр VgaCompatibie, который для большинства современных драйверов устанавливается равным FALSE (нуль), из чего следует, что данный драйвер базируется на драйвере минипорта Microsoft VGA.
Параметры (все имеют тип данных REG_BINARY) Hardware-information. ChipType, HardwareInformation.Crc32, Hardwarelnformation.DacType и Hardwarelnformation.MemorySize содержат информацию об устройстве, которую отображают административные утилиты, и присутствуют как в реестре Windows NT 4.0/Windows 2000, так и в реестре Windows XP, только в различных местах.
При загрузке графической оболочки Windows, система выполняет чтение параметров видеорежима, содержащихся в составе следующего ключа реестра (рис. 7.8):
Рис. 7.7. Пример содержимого вложенного ключа Devicen для подключа драйвера устройства, размещенного под ключом HKEY_LOCAL_MACHINE\ SYSTEM\ControlSetrmn\Services
Рис. 7.8. Установки реестра, задающие видеорежим
Выполнив чтение этих параметров, система затем проверяет наличие драйвера дисплея, способного поддерживать указанный режим. Как только подходящий драйвер найден, загрузка продолжается. А что происходит, если ни один из драйверов, перечисленных в составе этого параметра, не поддерживает заданного режима? Ответ очень прост: будет использован стандартный режим VGA (16 цветов).
Итак, мы рассмотрели, как информация вложенных ключей из состава ключа HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP используется для поиска све дений о драйверах конкретных устройств (в нашем примере была рассмотрена видеокарта, но поиск драйверов для любого другого устройства также осуществляется по сходному алгоритму). Подводя итоги обсуждения ключа HKEY_LOCAL_MACHINE\HARDWARE\DEV:CEMAP, скажем, что параметры, содержащиеся в составе его вложенных ключей, описывают или фактическое имя порта, или путь к соответствующему вложенному ключу в составе ключа HKEY_LOCAL_MACHINE\SYSTEM ControlSetrmn\Services, который содержит информацию о драйвере устройства. Именно эта информация может потребоваться системному администратору при устранении неполадок. Стоит еще раз упомянуть о том, что в более удобочитаемом виде эти данные отображаются с помощью утилит администрирования (например, Диспетчера устройств (Device Manager)).
Вложенный ключ RESOURCEMAP
Ключ RESOURCEMAP, расположенный под ключом HKEY_LOCAL_MACHINE\HARDWARE, устанавливает соответствие между драйверами устройств и ресурсами, используемыми этими драйверами. Каждый параметр ключа RESOURCEMAP содержит данные, сообщаемые драйвером устройства об используемых этим драйвером портах ввода/вывода, адресах памяти, прерываниях, каналах DMA и т. д. Все данные, содержащиеся в этом ключе, являются непостоянными (volatile). Это означает, что ключ воссоздается всякий раз при запуске Windows NT/2000/XP.
В реестре Windows 2000/XP вид ключа RESOURCEMAP изменился (рис. 7.9). Теперь функции централизованного управления устройствами возложены на модуль Диспетчер PnP (Plug and Play Manager), и все данные о системных ресурсах хранятся в составе ключа HKEY_LOCAL_MACHINE\HARDWARE\RESOURCEMAP\PnP ManagerXPnpManager.
Рис. 7.9. Ключ RESOURCEMAP в Windows XP
Ключ HKEY_LOCAL_MACHINE\SAM содержит информацию о пользовательских и групповых учетных записях в базе данных службы каталога (которая ранее была известна как база данных SAM) на локальном компьютере. Для компьютеров, работающих под управлением Windows NT Server (Windows 2000 Server), этот ключ содержит также информацию о системе безопасности домена.
Данный ключ проецируется на ключ HKEY_LOCAL_MACHiNE\Security\SAM, поэтому изменения, внесенные в один из указанных ключей реестра, автоматически появятся в другом.
Ключ HKEY_LOCAL_MACHINE\SECURITY содержит информацию о подсистеме безопасности локального компьютера, включая пользовательские права, политику в отношении паролей, а также членство в локальных группах. Вся эта информация задается с помощью административных утилит: User Manager в Windows NT 4.0 Workstation, User Manager for Domains в Windows NT 4.0 Server и с помощью оснастки ММС Управление пользователями (User Management) в Windows 2000/XP.
Ключ HKEY_LOCAL_MACHINE\SECURITY\SAM проецируется на ключ HKEY_LOCAL_MACHINE\SAM, поэтому изменения, внесенные в один из этих ключей, автоматически появляются в другом.
Ключ HKEY_LOCAL_MACHINE\SOFTWARE содержит данные о конфигурации программного обеспечения, установленного на локальном компьютере. Расположенные под этим ключом параметры действительны в отношении любого пользователя, зарегистрировавшегося на данном компьютере, и показывают, какое программное обеспечение на нем установлено.
Ключ HKEY_LOCAL_MACHINE\SOFTWARE\Classes хранит данные, с помощью которых система ассоциирует приложения с типами файлов (различаемых по расширению имен файлов). Кроме того, здесь же хранится информация реестра, ассоциированная с объектами СОМ. Данные, содержащиеся в составе ключа classes, отражаются также в ключе HKEY_CLASSES_ROOT. На рис. 7.10 представлен вид ключа HKEY_LOCAL_MACHINE\SOFTWARE.
Рис. 7.10. Вид ключа HKEY_LOCAL_MACHINE\SOFTWARE
Вложенный ключ Classes
Параметры этого ключа совпадают с параметрами, расположенными под ключом HKEY_CLASSES_ROOT, максимально подробную информацию о котором можно найти в руководстве «OLE Programmer’s Reference», входящем в состав продукта Windows Platform Software Development Kit. Ключ HKEY_LOCAL_MACHINE\SOFTWARE\classes содержит два типа вложенных ключей:
Содержащаяся в реестре информация о компонентной модели объектов (СОМ) должна быть создана приложениями, поддерживающими СОМ. Непосредственное редактирование реестра отнюдь не является наиболее простым методом редактирования этой информации. Чтобы выполнить такую настройку в Windows NT 4.0, воспользуйтесь командой Параметры (Options) меню Вид (View) в Windows NT Explorer и перейдите на вкладку Типы файлов (File Types) диалогового окна Параметры (Options). В Windows 2000 или Windows XP для этой цели вызовите утилиту Свойства папки (Folder Options) из Панели управления (Control Panel) или команду Свойства папки (Folder Options) меню Сервис (Tools) в Проводнике (Windows Explorer) и в открывшемся диалоговом окне Свойства папки (Folder Options) перейдите на вкладку Типы файлов (File Types).
Рис. 7.11. Вкладка Типы файлов диалогового окна Свойства папки
Рис. 7.13. Свойства оболочки для класса AVlFile, хранящиеся под ключом HKEY_LOCAL_MACHINE\SOFTWARE\Classes
Вложенные ключи Description
Вложенные ключи HKEY_LOCAL_MACHINE\SOFTWARE\Description содержат имена и номера версий программного обеспечения, установленного на локальном компьютере. (Данные о конфигурации этих приложений для каждого пользователя хранятся под ключом HKEY_CURRENT_USER.)
Приложения в процессе установки регистрируют эту информацию в форме:
Информация каждого такого ключа добавляется в реестр соответствующим приложением. Не редактируйте значения этих ключей за исключением тех случаев, когда такое указание будет дано поставщиком приложения.
На рис. 7.14 представлен пример, как регистрационная информация приложения (в нашем случае, это антивирусная программа F-Secure) хранится под ключом HKEY_LOCAL_MACHINE\SOFTWARE.
Рис. 7.14. Пример регистрационной информации приложения, хранящейся под ключом HKEY_LOCAL_MACHINE\SOFTWARE
Вложенный ключ Microsoft
Вложенный ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft содержит параметры конфигурации программного обеспечения Microsoft, установленного на данном компьютере.
Особый интерес представляет собой вложенный ключ windows NT \Currentversion, который имеется в составе ключа HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft. Этот ключ содержит информацию о программном обеспечении, которое поддерживает сервисы, встроенные в Windows NT /2000/ХР, а также данные о версии и типе текущей копии Windows NT/2000 /ХР (например, однопроцессорная или многопроцессорная). Разумеется, однопроцессорное ядро Windows NT/2000/XP может работать на многопроцессорном компьютере, но при этом вы не получите никаких преимуществ мультипроцессорной обработки. Чтобы определить, какой тип ядра работает на данном компьютере, просмотрите данные реестра, расположенные В составе ключа HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT \CurrentVersion (рис. 7.15).
Говоря о ключе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \windows NTXCurrentversion просто невозможно не упомянуть о наиболее ценном усовершенствовании Windows XP, повысившем производительность этой операционной системы. Windows XP обеспечивает встроенный пользовательский режим определения потери динамической памяти (heap-leak detection). Проблема заключается в том, что неверно написанное приложение может вызвать так называемую «утечку» динамически распределяемой памяти. Когда такие ситуации возникали в версиях, предшествующих Windows XP, для идентификации причины такой «утечки» требовались специальные инструментальные средства. Для активизации этой возможности установите следующий ключ:
Рис. 7.15. Содержимое ключа реестра HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\Windows NT\CurrentVersion
Вложенный ключ Program Groups
Ключ Program Groups, расположенный под ключом HKEY_LOCAL_MACHINE \SOFTWARE, был переопределен еще в Windows NT 4.0. В предыдущих версиях Windows NT он содержал список программных групп, используемых всеми пользователями локального компьютера. В Windows NT 4.0 и Windows 2000/ХР этот ключ служит только для того, чтобы указать, преобразованы ли все прежние программные группы, существовавшие в предыдущих версиях операционной системы, в новую структуру каталога.
В составе ключа Program Groups имеется единственный параметр — ConvertedToLinks — значение которого указывает, преобразованы ли программные группы. Значение этого параметра, равное 1, указывает, что преобразование завершено.
Если устанавливается новая копия операционной системы Windows XP (в отличие от обновления версии операционной системы до Windows XP), то подключ Program Groups не содержит никаких вложенных ключей. Если на компьютере производилось обновление версий, то ключ Program Groups будет содержать вложенные ключи с двоичными данными, определяющими общие программные группы.
Вложенный ключ Secure
Под вложенным ключом secure приложения могут хранить конфигурационную информацию, изменять которую имеет право только системный администратор.
Вложенный ключ Windows 3.1 Migration Status
Вложенный ключ windows 3.1 Migration status содержит данные, только если на компьютере производилось обновление версии операционной системы с Windows 3.1 до Windows NT 4.0, а затем и до Windows 2000/XP. Параметры, содержащиеся в этом ключе, указывают, был ли осуществлен успешный перевод всех INI-файлов и Reg.dat в формат реестра Windows NT 4.0/2000/ХР. Если этот ключ удалить, то при следующей перезагрузке Windows снова попытается выполнить преобразование формата этих файлов.
Вложенный ключ windows 3.1 Migration status имеется и в составе ключа HKEY_CURRENT_USER. Он отслеживает статус перевода файлов программных групп (с расширением GRP) в формат Проводника (Windows Explorer).
Все данные, относящиеся к процессу запуска, которые должны считываться (а не вычисляться) в процессе запуска, сохраняются в улье SYSTEM. Полная копия этих данных размещается и в файле System.alt. Данные ключа HKEY_LOCAL_MACHINE\SYSTEM, который представляет собой улей System, организованы в наборы управляющих опций (control sets), каждый из которых содержит полный перечень параметров для устройств и сервисов. Время от времени у системного администратора может возникать необходимость в редактировании элементов ключа currenccontrolset.
Подробная информация о содержимом ключа CurrentControlSet была приведена в главе 6.
Вложенные ключи ControlSetnnn, Select и CurrentControlSet
Реестр, и особенно его данные из улья SYSTEM, играют ключевую роль при запуске системы. Чтобы гарантировать запуск системы в любом случае, Windows NT/2000/XP хранит резервную копию, позволяющую отменять любые изменения конфигурации, которые привели к эффекту, отличному от ожидаемого. Данный раздел посвящен рассмотрению этого механизма.
Все данные, необходимые для управления процессом запуска, собраны в подключи реестра, которые называются наборами управляющих опций (control sets). Каждый такой набор опций содержит по четыре вложенных ключа.
Множественные наборы управляющих опций сохраняются в виде вложенных ключей ключа HKEY_LOCAL_MACHINE\SYSTEM под именами от ControlSet001 до controlsetooa. Возможно существование четырех наборов управляющих опций, но обычно их всего два. Фактически, этот механизм аналогичен созданию резервных копий файла Config.sys на компьютерах под управлением MS-DOS (имеется текущий файл, используемый при загрузке, и резервная копия, о которой известно, что с ее использованием процесс загрузки протекал без ошибок). Однако в данном случае вся работа по созданию и поддержке резервных копий выполняется системой автоматически.
Вложенный ключ select, содержимое которого показано на рис. 7.16, содержит четыре параметра, описывающих, каким образом используются наборы управляющих опций.
Рис. 7.16. Содержимое ключа HKEY_LOCAL_MACHINE\SYSTEM\Select
Ключ CurrentcontrolSet представляет собой символическую ссылку на набор управляющих опций, обозначенный параметром current из ключа HKEY_LOCAL_MACHINE\SYSTEM\Select. Это сделано для того, чтобы можно было использовать постоянные пути для ссылки на вложенные ключи используемого на текущий момент набора управляющих опций, даже в том случае, если его имя изменится.
Каждый раз при запуске системы набор управляющих опций, использованный для запуска, сохраняется (под ключом HKEY_LOCAL_MACHINE\SYSTEM\clone, который не отображается редакторами реестра). Если запуск прошел успешно, этот набор управляющих опций считается «хорошим», и система отбрасывает существующий набор LastKnownGood, замещая его содержимым ключа done. Администратор имеет возможность изменить требования к процессу запуска, который должен считаться успешным, однако процесс запуска обычно считается «хорошим», если при запуске сервисов не было серьезных или критических ошибок, и в системе смог зарегистрироваться хотя бы один пользователь.
Конфигурация LastKnownGood используется, когда пользователь в процессе запуска выбирает опцию Загрузка последней удачной конфигурации (Last Known Good Configuration), или если запуск прошел неудачно (в этом случае набор управляющих опций не будет считаться «хорошим»). Если это случается, система создает новый набор управляющих опций, копируя набор LastKnownGood. Значения элементов ключа HKEY_LOCAL_MACHINE \SYSTEM\select изменяются следующим образом:
Данные пользовательских профилей хранятся под другими ключами, и поэтому на них эти изменения не отражаются.
Чтобы определить, какой набор управляющих опций использовался при запуске системы, просмотрите значения ключа select.
Самым простым методом модификации данных, хранимых в этих ключах, является использование административных утилит и опций Панели управления (Control Panel).
При внесении конфигурационных изменений с помощью редактора реестра следует редактировать ключ CurrentControlset.
Вложенные ключи Control в наборах управляющих опций
В составе каждого из наборов управляющих опций имеется вложенный ключ control. Он содержит ста