ММРК им. И.И.Месяцева
РЕФЕРАТ
По дисциплине: ”Операционные системы и Среды ”
На тему: “Реестр ОС Windows 2000”
Выполнил: Студент
экономического отделения
группы ПОВ-21
Суслов Михаил
Проверил: Перов М.А.
Дата сдачи: 04.04.2005г.
Оценка:___________
Мурманск 2005г.
Содержание:
Обзорная информация по реестру Windows 2000
Назначение реестра
Структура реестра
Хранение данных реестра
Программа Regedit в Windows 2000
Использование Regedt32
Модификация разделов и параметров
Обзорная информация по реестру Windows 2000
Реестр становится необходимым уже на начальных этапах загрузки Windows 2000. Проблемы при загрузке могут быть вызваны, в том числе, и с повреждением реестра. Например, многие пользователи Windows 2000 могли испытать шок, получив в процессе загрузки сообщение следующего вида:
Windows 2000 could not start because the following file is missing or corrupt:
\WINNT\SYSTEM32\CONFIG\SYSTEM
You can attempt to repair this file by Starting Windows NT Setup using the original Setup floppy disk or CD-ROM. Select 'r' at the first screen to repair.
Появление такого сообщения свидетельствует об отсутствии или повреждении важной части реестра Windows 2000 ? файла куста (hive) разделов реестра SYSTEM . Приведенный пример убедительно демонстрирует, что единственная ошибка в системном реестре может не только повлиять на всю конфигурацию, но и сделать невозможным запуск операционной системы. Помимо этого, добиться корректной работы некоторых приложений можно также лишь через редактирование реестра. Таким образом, важность навыка редактирования реестра нельзя недооценивать.
Назначение реестра
Реестр пришел на смену конфигурационным файлам (INI-файлам) и призван был снять неудобства и ограничения, связанные с их использованием. В виде, более или менее напоминающем его нынешнюю структуру, реестр появился в Windows NT 3.5 (тогда он имел 4 корневых раздела: HKEY_ LOCAL_MACHINE, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT и HKEY_USERS). Новый компонент операционной системы был предназначен для того, чтобы заменить собой многочисленные инициализационные и установочные файлы, разбросанные по" различным каталогам на жестком диске и сетевом сервере. Эти файлы требовались для обеспечения корректной работы операционной системы, приложений и аппаратных устройств, но управление ими было задачей сложной, трудоемкой и неудобной. Реестр как централизованная база данных представляет собой источник конфигурационной информации, где все параметры сведены воедино, что обеспечивает возможность эффективного управления средой Windows 2000. Перечисление компонентов системы Windows 2000, использующих реестр, и краткое описание их взаимодействия с этой базой данных приведено ниже:
|
Программы установки (Setup). Каждый раз при запуске программы установки Windows 2000 или других установочных программ (для аппаратных и программных средств) программа. Setup добавляет в реестр новые конфигурационные данные. Начиная свою работу, все грамотно разработанные программы установки считывают информацию реестра, чтобы определить, присутствуют ли в системе компоненты, обязательные для успешного завершения установки. Наконец, централизованный реестр позволяет приложениям совместно использовать конфигурационную информацию и предоставляет им больше возможностей взаимодействия между собой. Чтобы приложение могло получить статус "Designed for Windows 2000", оно должно активно и правильно использовать реестр, а также содержать утилиту, позволяющую корректно выполнить удаление этого приложения (uninstall utility), не удаляя компонентов, которые могут использоваться другими программами (.DLL, .OCX, и т. д.). Эта утилита использует информацию, хранящуюся в реестре. |
|
Распознаватель (Recognizer). Каждый раз при запуске компьютера под управлением Windows 2000 распознаватель аппаратных средств (Hardware Recognizer) помещает в реестр список обнаруженных им устройств. На компьютерах с процессорами Intel распознавание аппаратных средств осуществляется программой Ntdetect.com и ядром Windows 2000 (Ntoskrnl.exe). |
|
Ядро Windows 2000 (Windows 2000 Kernel). При старте системы ядро Windows 2000 извлекает из реестра сведения о загружаемых драйверах устройств и порядке их загрузки. Кроме того, программа Ntoskrnl.exe передает в реестр информацию о себе (примером такой информации может служить, например, номер версии). |
|
Драйверы устройств. Драйверы устройств обмениваются с реестром параметрами загрузки и конфигурационными данными. Эти данные аналогичны строкам device=, которые можно найти в файле Config.sys для запуска компьютера под управлением MS-DOS. Драйвер устройства должен сообщить об используемых им системных ресурсах, включая аппаратные прерывания и каналы DMA, чтобы система могла включить эти данные в реестр. Приложения и драйверы устройств могут считывать эту информацию реестра, предоставляя пользователям интеллектуальные программы инсталляции и конфигурирования. |
|
Административные средства Windows 2000. Административные средства Windows 2000, в том числе утилиты панели управления и оснастки, собранные в группу Администрирование (Administrative Tools), представляют собой наиболее удобные и безопасные средства модификации реестра. Редакторы реестра также полезны для его просмотра и, время от времени, для внесения изменений в конфигурацию системы. |
|
Пользовательские профили (user profiles). Windows 2000 обеспечивает возможность создания множества пользовательских профилей. Вся информация, относящаяся к конкретному пользовательскому имени и ассоциированным с ним правам, хранится в реестре. пользовательский профиль определяет индивидуальные параметры настройки дисплея, параметры сетевых соединений, принтеры и многое другое. Пользовательские профили бывают следующих типов: локальные (local user profile), создаваемые автоматически при первой регистрации пользователя на локальном компьютере, перемещаемые (roaming user profile), создаваемые администратором и хранящиеся на сервере, и обязательные (mandatory user profile)'? перемещаемые профили, обязательные для применения. Информация о пользовательских профилях также хранится в реестре. |
|
Аппаратные профили (hardware profiles). Реестр, в отличие от INI-файлов, позволяет хранить множественные аппаратные конфигурации. Так, например, можно создать профили для док-станций (что актуально для пользователей портативных компьютеров), а также профили для съемных устройств. Аппаратный профиль представляет собой набор инструкций, с помощью которого можно указать операционной системе, драйверы каких устройств должны загружаться при запуске компьютера. В процессе установки Windows 2000 создается стандартный аппаратный профиль, который содержит информацию обо всех аппаратных средствах, обнаруженных на компьютере на момент инсталляции. |
Структура реестра
Реестр Windows 2000 состоит из пяти так называемых корневых разделов (root keys): HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_ MACHINE, HKEY_USERS и HKEY_CURRENT_CONFIG.
Каждый раздел может содержать элементы данных, которые называются параметрами (value entries), а также вложенные разделы (subkeys). Для понимания этой концепции можно провести аналогию с файловой системой. Разделы в структуре реестра аналогичны каталогам, а значимые элементы ? файлам. Рис. 14.1 иллюстрирует иерархическую структуру реестра Windows 2000. Все имена корневых разделов начинаются со строки HKEY_, что указывает разработчикам программного обеспечения на то, что это ? дескриптор, который может использоваться программой. Дескриптор (handle) ? это значение, используемое для уникального описания ресурса, к которому программа может получить доступ. Описания корневых разделов реестра Windows 2000 приведены в табл. 1.4.1.
Таблица 14.1. Корневые разделы реестра
Имя корневого раздела |
Описание |
HKEY_LOCAL_MACHINE |
Содержит глобальную информацию о компьютерной системе, включая такие данные об аппаратных средствах и операционной системе, в том числе: тип шины, системная память, драйверы устройств и управляющие данные, используемые при запуске системы. Информация, содержащаяся в этом разделе, действует применительно ко веем пользователям, регистрирующимся в системе Windows 2000. На верхнем уровне иерархии реестра для этого раздела имеются три псевдонима: HKEY CLASSES ROOT, HKEY CURRENT CONFIG и HKEY_DYN_DATA
|
HKEY_CLASSES_ROOT |
В данном разделе определяются все допустимые файловые расширения и к каждому из них назначаются один или несколько обработчиков. Обработчик – это специально назначенная программа, которая предназначается для работы с тем или иным типом данных. В случае если одному файлу соответствует равноправных обработчиков, один из них загружается по умолчанию. |
HKEY_CURRENT_CONFIG |
Содержит конфигурационные данные для текущего аппаратного профиля. Аппаратные профили представляют собой наборы изменений, внесенных в стандартную конфигурацию сервисов и устройств, установленную данными разделов Software и System корневого раздела HKEY_LOCAL_MACHINE. В разделе HKEY_CURRENT_ CONFIG отражаются только изменения. Кроме того, параметры этого раздела появляются также в разделе HKEY_LOCAL_MACHINE\System \CurentControlSet\HardwareProfites\CuiTent |
HKEY_CURRENT_USER |
Содержит, профиль пользователя, на данный момент . зарегистрировавшегося в системе, включая переменные окружения, настройку рабочего стола, параметры настройки сети, принтеров и приложений. Этот раздел представляет собой ссылку на раздел HKEY USERS\username, где username ? имя пользователя, зарегистрировавшегося в системе на текущий момент |
HKEY_USERS |
Содержит все активно загруженные пользовательские профили, включая HKEY_CURRENT_USER, а также профиль по умолчанию. Пользователи, получающие удаленный доступ к серверу, не имеют профилей, содержащихся в этом разделе; их профили загружаются в реестры на их собственных компьютерах. Windows 2000 требует наличия учетных записей для каждого пользователя, регистрирующегося в системе. Раздел HKEY_USERS содержит вложенный раздел \Default, а также другие разделы, определяемые идентификатором безопасности (Security ID) каждого пользователя
|
Рис.
14.1. Реестр
имеет иерархическую
структуру,
и
его реестры
могут содержать
вложенные
разделы и параметры
Данные реестра хранятся в виде параметров, расположенных в разделах реестра. Каждый параметр характеризуется именем, типом данных и собственно значением. Три части параметра реестра всегда располагаются в следующем порядке:
В табл. 14.2перечислены, типы данных, определенные и используемые в системе.
Таблица 14.2. Типы данных для параметров реестра
Тип данных |
Описание |
REG_BINARY |
Двоичные данные. Большинство аппаратных компонентов используют информацию, которая хранится в виде двоичных данных. Редакторы реестра отображают эту информацию в шестнадцатеричном формате |
REG_DWORD |
Данные представлены в виде значения, длина которого составляет 4 байта. Этот тип данных используют многие параметры драйверов устройств и сервисов. Редакторы реестра могут отображать эти данные в двоичном, шестнадцатеричном и десятичном формате |
REG_EXPAND_SZ |
Расширяемая строка данных. Эта строка представляет собой текст, содержащий переменную, которая может быть заменена при вызове со стороны приложения |
REG_MULTI_SZ |
Многострочное поле. Значения, которые фактически представляют собой списки текстовых строк в формате, удобном для восприятия человеком, обычно имеют этот тип данных. Строки разделены символом NULL |
REG.SZ |
Текстовая строка в формате, удобном для восприятия человеком. Значениям, представляющим собой описания компонентов, обычно присваивается именно этот тип данных |
Хранение данных реестра
В Windows 2000 элементы реестра хранятся в виде атомарной структуры. Реестр подразделяется на составные части, которые разработчики этой операционной системы назвали кустами, или ульями (hives) по аналогии с ячеистой структурой пчелиного улья. Куст представляет собой дискретную совокупность разделов, вложенных разделов и параметров, берущую начало в вершине иерархии реестра. Отличие кустов от других групп разделов состоит в том, что они являются постоянными компонентами реестра. Кусты не создаются динамически при загрузке операционной системы и не удаляются при ее остановке. Таким образом, раздел HKEY_LOCAL_MACHINE \Hardware, который строится динамически распознавателем аппаратных средств при запуске Windows 2000, кустом не является. Данные кустов реестра хранятся в файлах, находящихся в каталогах %SystemRoot%\System32\Cohue и %SystemDrive%\Documents and Settings\Username (Windows 2000).
Каждый куст реестра Windows 2000 ассоциирован с набором стандартных файлов, В табл. 14.3 перечислены стандартные кусты реестра Windows 2000 и поддерживающие их файлы.
Таблица 14.3. Стандартные файлы, обеспечивающие поддержку кустов реестра Windows 2000
Ветвь реестра |
Имена файлов |
HKEY_LOCAL_MACHINE\SAM |
Sam, Sam. log, Sam.sav |
HKEY_LOCAL_MACHINE\Security |
Security, Security.log, Security.sav |
HKEY_LOCAL_MACHINE\Software |
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 |
HKEY_USERS\.DEFAULT |
Default, Default.log, Default.sav |
(Файлы, не ассоциированные, с разделами) |
Userdiff, Userdiff.bg |
HKEY_CURRENT_USER |
Ntuser.dat, Ntuser.dat.log |
Все файлы кустов реестра, за исключением HKEY_CURRENT_USER, находятся в подкаталоге %SystemRoot%\System32\Conug.
Поддержку куста HKEY_CURRENT_USER выполняют файлы Ntuser.dat и Ntuser.dat.log. В файлах Ntuser.dat хранятся пользовательские профили; файл Ntuser.dat.log отслеживает изменения, которые вносились в файл Ntuser.dat. В Windows 2000 эти файлы располагаются в каталогах % SystemDrive%\Documents and\Settings \%Usemame%.
Файлы Ntuser и Userdiff были впервые введены в Windows NT 4.0:
|
файл Ntuser.dat, в котором хранится пользовательский профиль, заменил собой файлы usemamexxx и adminxxx из предыдущих версий Windows NT; |
|
файл Ntuser.dat из каталога %SystemRoot%\Proules\Defa.u\t\Jser заменил собой файл Userdef из предыдущих версий Windows NT. Этот профиль используется для построения куста HKEY_CURRENT_USER, когда новый пользователь впервые регистрируется в системе; |
|
файлы Userdiff, которые находятся только в каталоге %SystemRoot% \System32\Config, не ассоциируются ни с одним кустом. Они служат для обновления существующих профилей пользователей, использовавшихся в предыдущих версиях Windows NT, таким образом, чтобы эти профили могли применяться в Windows NT 4.6 и последующих версиях (Windows 2000). |
С кустами ассоциируются файлы четырех типов. Все эти типы файлов (с соответствующими расширениями имен файлов) перечислены в табл. 14.4.
Таблица 14.4. Типы файлов, ассоциированных с кустами реестра Windows 2000
Тип файла |
Описание |
Без расширения имени файла |
Содержит копию куста |
alt |
Содержит резервную копию жизненно важного куста HKEY_LOCAL_MACHINE\System. Только раздел System имеет соответствующий файл с расширением alt |
log |
Содержит журнал транзакций, в котором регистрируются все изменения, внесенные в разделы и значимые элементы куста |
sav |
Содержит копии файлов куста в том виде, который они имели на момент завершения текстовой фазы процесса установки. Файлы с расширением sav имеются для разделов Software, System, SAM, Security и Default. Windows 2000 выполняет резервное копирование содержимого кустов в процессе инсталляции. Процедура инсталляции состоит из двух стадий: стадии текстового режима и стадии графического режима. Когда установка в текстовом режиме завершается, выполняется копирование кустов в файлы с расширением sav. Это делается для того, чтобы защитить кусты от ошибок, которые могут произойти в случае сбоя на графической стадии установки. Если процедура установки даст сбой на графической стадии, то после перезагрузки компьютера будет производиться повтор только графической стадии установки. Sav-файлы используются для перестройки кустов реестра |
Программа Regedit в Windows 2000
Как уже упоминалось, программа Regedit.exe, имеющаяся в составе Windows 2000, почти ничем не отличается от аналогичных программ из состава Windows 95/98 и Windows NT 4.0. Именно поэтому авторы и возьмут на себя смелость отослать читателей, заинтересованных в описании интерфейса этой программы, к специальной литературе, посвященной реестру Windows 95/98 или Windows NT 4.0 (как правило, в любом издании о реестре имеется целая глава, подробно описывающая интерфейс редактора реестра Regedit). Исключение будет сделано только для новой функции Regedit ? меню Избранное (Favorites).
Меню Избранное. Хотя программа Regedit в Windows 2000 и очень похожа на свои предыдущие версии, в ней появилось полезное новшество. В Windows 2000 меню Избранное присутствует во многих системных программах, и редактор реестра Regedit ? не исключение (рис. 14.3).
Все, кто часто выполняет поиск разделов и значимых элементов в реестре, а также интенсивно занимается его редактированием, по достоинству оценят эту удобную функциональную возможность. С помощью меню Избранное можно создать список наиболее часто редактируемых разделов реестра (и не повторять затем громоздкую процедуру поиска).Чтобы добавить раздел реестра в список Избранное, проделайте следующее:
1. |
Выделите раздел реестра, который требуется добавить в список Избранное. |
2. |
В меню Избранное выберите команду Добавить в избранное (Add to Favorites). |
3. |
В раскрывшемся диалоговом окне Добавить в избранное согласитесь с именем раздела, предложенным по умолчанию, или введите новое имя в поле Имя для избранного раздела (Favorite name). Нажмите кнопку ОК, и раздел появится в списке Избранное. |
Рис. 14.3. В новой версии Regedit появился пункт меню Избранное (Favorites)
Использование Regedt32
Редактор реестра Regedt32, который существует в Windows 2000, имеет интерфейс, абсолютно отличный от интерфейса Regedit. Для каждого из корневых разделов реестра этот редактор открывает отдельное окно (рис. 14.4).
Каждое из окон Regedt32 содержит две панели, но новые возможности, заложенные в Regedit, включая контекстное меню, выводимое по нажатию правой кнопки мыши, отсутствуют. Тем не менее, несмотря на не столь удобный интерфейс и отсутствие некоторых возможностей, делающих Regedit более удобным в использовании, Regedt32 обладает и рядом преимуществ. Так, хотя доступ к опциям может осуществляться только через меню, сам набор опций является существенно более широким, нежели доступный в Regedit. Одним из преимуществ Regedt32 можно назвать возможность использования этой программы в режиме "только для чтения". Этот режим позволяет защитить реестр от случайных непреднамеренных изменений в процессе его просмотра и знакомства с его структурой. Чтобы перейти в данный режим, выберите опцию Только чтение (Read Only Mode) из меню Параметры (Options). Наличие этой опции делает Regedt32 предпочтительным средством, с помощью которого новички могут знакомиться со структурой реестра.
Рис. 14.4. В отличий от интерфейса Regedit, разработанного по образу и подобию интерфейса Explorer, интерфейс Regedt32 напоминает интерфейс Windows 3.x File Manager
Модификация разделов и параметров
Меню Правка (Edit) программы Regedt32 содержит команды, позволяющие добавлять, модифицировать и удалять разделы и значимые элементы реестра.
Для добавления нового раздела в любой куст реестра следует выбрать команду Добавить раздел (Add Key) меню Правка. При выполнении этой команды вам предлагается ввести имя раздела и класс (класс в данном случае относится к типу данных). Диалоговое окно для ввода этой информации показано на рис. 14.5. Списка, из которого можно выбрать тип данных, в этом диалоговом окне не приводится, но предоставляется возможность создать раздел, а тип данных определить при вводе нового параметра в состав созданного раздела.
|
Рис.
14.5. Диалоговое
окно Добавление
раздела (Add
Key), |
Команда Добавить раздел используется для добавления значимых элементов в состав разделов реестра. Раскрывающееся при выполнении этой команды диалоговое окно (рис. 14.6) содержит список, позволяющий выбрать тип данных для значимого элемента: строковые значения (REG_SZ, REG_ MULTI_SZ и REG_EXPAND_SZ) или двоичные значения (REG_DWORD или REG_BINARY).
|
Рис.
14.6. Диалоговое
окно Добавление
параметра
(Add
Value) |
Чтобы удалить из реестра раздел или значимый элемент, выделите объект (раздел или значимый элемент), намеченный для удаления, и выберите команду Удалить (Delete) меню Правка. Вам будет предложено подтвердить свое намерение удалить выбранный раздел или значимый элемент
Помимо команд удаления элементов реестра и добавления в его состав новых разделов и параметров, в меню Правка редактора Regedt32 имеется набор команд для редактирования существующих элементов реестра (и следует отметить, что этот набор опций гораздо шире, нежели тот, который предоставляется более новой программой Regedit). Меню Правка редактора реестра Regedt32 содержит команды Двоичные данные (Binary), Строка (String), Двойное слово (DWORD) и Многострочные (Multi String). Выбор каждой из команд запускает редактор значений соответствующего типа ? например, выбор команды Двоичные данные запускает редактор двоичных значений ? Binary Editor, выбор команды Двойное слово ? редактор значений типа DWORD, а выбор команд Строка и Многострочные вызывает соответствую щие редакторы строковых и многострочных значений. Обратите внимание, что таких широких возможностей в редакторе Regedit просто нет.