Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие по ОС.doc
Скачиваний:
38
Добавлен:
21.08.2019
Размер:
574.46 Кб
Скачать

Тема 15 Реестр Windows 2000

До Windows 95, в Windows 3.x, реестр был настолько прост, что никто не рассматривал его всерьез. В нем хранилось очень немного данных — лишь некоторые сопоставления файлов и несколько параметров OLE. Здесь также находилась и некоторая другая информация, но по большей части даже сама Windows игнорировала реестр.

Реестр Windows 2000 содержит (в среднем) 12 и более Мбайт данных. В реестре Windows 2000 находится вся информация обо всем, что нужно знать операционной системе. Реестр хранит параметры установки, личные парамет-ры и данные для удаления приложений и оболочки проводника; системные параметры и разрешения для подключающихся по сети компьютеров; сопос-тавления расширений файлов; описания, состояния и свойства аппаратных компонентов; счетчики производительности и другую низкоуровневую ин-формацию о состоянии системы; и много чего еще.

В дополнение к локальным параметрам реестра вашего компьютера сетевые администраторы могут также использовать системные политики — параметры реестра уровня компании или предприятия. Параметры реестра сетевого уровня автоматически объединяются с параметрами локального реестра при входе в сеть. Только сетевой администратор может изменить эти политики — любые изменения, вносимые в локальный реестр, влияют только на данный компьютер. Более того, системный администратор может выборочно позволить нескольким пользователям изменять отдельные разделы реестра или сделать некоторые разделы доступными только для чтения. Реестр сводит в единое хранилище (и обеспечивает стандартизацию и защиту) всю информацию о конфигурации, которая ранее была разбросана по различным INI-файлам. В реестре содержится информация обо всей сети и о каждом отдельном приложении, пользователе и компьютерной системе (сервере или рабочей станции).

Реестр Windows 2000 также заменяет файлы SYSTEM.INI и WIN.INI, которые имели плохую репутацию в Windows 3.x. WIN.INI хранит параметры среды Windows и отвечает за настройку взаимодействия пользователя с Windows. Файл SYSTEM.INI содержит информацию о конфигурации оборудования и драйверов устройств; он отвечает за самонастройку Windows в процессе запуска. Конечно, различия между этими двумя файлами достаточно условны — файл WIN.INI.

В этих двух плохо организованных и загадочных файлах хранился большой объем информации о конфигурации системы Windows 3.1. Всякий раз, когда пользователь добавлял приложение в Windows 3.1, приложение добавляло в эти файлы один или два своих раздела и некоторые дополнительные записи. С другой стороны, когда пользователь удалял приложение, эти записи оставались в файлах, что приводило к ненужному увеличению их объема. Эти уже ставшие ненужными конфигурационные записи замедляли производительность системы. Из-за некоторых из них появлялись сообщения об ошибках или, в худшем случае, даже о сбое системы. Windows 2000 по-прежнему поддерживает эти архаичные и трудно понимаемые файлы для обратной совместимости со старыми приложениями, которые эти файлы используют. Однако Windows 2000 предпочитает, чтобы приложения пользовались реестром.

По возможности Windows 2000 копирует содержимое файлов SYSTEM.INI и WIN.INI в реестр. Единственная причина, по которой эти файлы сохранены, — необходимость поддержки приложений Windows 3.x. Теоретически Вы можете удалить эти файлы с жесткого диска, если у вас нет старых приложений, которым эти файлы требуются. Но лучше их оставить — они достаточно малы, a WIN.INI к тому же может содержать важные данные даже сейчас.

Реестр — это сложная база данных. Без него Windows 2000 не сможет загрузиться. Любое повреждение этого набора файлов вызовет массу неполадок, даже если Windows 2000 и сможет выполнить загрузку. Невозможность редактировать эту базу данных из командной строки DOS — потенциальная проблема. (С другой стороны, редактором реестра Windows 2000 — программой Regedt32 или Regedit — пользоваться намного легче, чем старой комбинацией файлов. WIN.INI и SYSTEM.INI в Windows 3.x. Чтобы изменить или просмотреть старые INI-файлы, нажмите кнопку Пуск (Start), выберите команду Выполнить (Run) и введите строку sysedit.)

Существуют два редактора реестра: Regedit и Regedt32. Regedt32 — это исходный редактор реестра Windows 2000. Он обладает некоторыми специальными сетевыми возможностями, например средствами аудита и меню «Безопасность». Эти средства позволяют управлять доступом к реестру и его защитой. Вы можете избирательно (или полностью) запретить пользователям изменять реестр. У Regedt32 также есть старый многодокументный интерфейс, подобный интерфейсу редактора файлов настройки (программа «Sysedit»). Кроме того, в то время, как более новый Regedit позволяет вызывать контекстные меню щелчком правой кнопки мыши, Regedt32 такой возможности не имеет.

Появившись впервые в Windows 95, Regedit включен и в состав Windows 2000. Помимо современных элементов пользовательского интерфейса таких, как контекстные меню, Regedit обладает мощными возможностями поиска: Regedt32 может выполнять поиск только разделов; Regedit же позволяет искать все: разделы, параметры и значения.

Работа с реестром

Зачем нужно работать с реестром напрямую? В конце концов, панель управления и отдельные приложения позволяют вносить множество изменений для настройки работы операционной системы и программ. В большинстве случаев действительно лучше найти стандартный способ настраивать некоторые параметры, чем задавать их самостоятельно в реестре.

Умение работать с реестром важно по двум причинам. Во-первых, некоторые полезные изменения параметров работы операционной системы не могут быть выполнены никаким другим способом, кроме непосредственного изменения реестра. Во-вторых, зная принципы устройства реестра, можно лучше понять внутреннее устройство Windows 2000 и найти способы устра-нить возможные неполадки с оборудованием и программным обеспечением.

Знание реестра может быть бесценным, если Вы сами отвечаете за поддержку своего компьютера. Однако если компьютер является частью сети, перед изменением реестра следует проконсультироваться с сетевым администратором. В самом деле, сетевой администратор может запретить вам изменять реестр, пока вам не будут даны особые полномочия или пока Вы не войдете на свой компьютер с учетной записью его администратора. На жестком диске каждого компьютера хранится собственный файл реестра этого компьютера.

Если Вы можете редактировать реестр на своем жестком диске, вы, среди прочего, можете выполнить следующие действия:

  • удалить с рабочего стола значок «Мой компьютер» (My computer) и другие значки;

  • переименовать или удалить «Корзину»;

  • настроить скорость появления раскрывающихся меню;

  • сменить значки проводника для исполняемых файлов, дисков и т. п.

Эти и другие детали работы операционной системы по той или иной причине скрыты от рядового пользователя.

При неосторожной работе с реестром можно уничтожить или повредить информацию, необходимую для загрузки системы, что приведет к сбоям в работе Windows 2000 или даже к невозможности выполнить загрузку вообще. Поэтому, внося изменения в реестр, соблюдайте все меры предосторожности, чтобы не удалить, скажем, целую ветвь или каким-либо иным способом не повредить существенную информацию, содержащуюся в этой базе данных. Не вносите никакие изменения, не создав предварительно резервную копию реестра, как описано в этой главе.

У редактора реестра Regedit есть окно, разделенное на части, а сам он внешне очень похож на проводник. В самом деле, две панели выполняют в обеих этих программах одинаковые функции. В левой части окна программы Regedit Вы видите путь и набор вложенных разделов (аналогично пути и вложенным папкам в проводнике), которые помогают вам находить разделы и значения, хранящиеся в реестре. Щелкнув значок (+) рядом с разделом, Вы раскрываете список его подразделов так же, как щелчок папки в проводнике раскрывает список ее подпапок. Чтобы свернуть этот список, щелкните значок (-). Чтобы просмотреть содержимое раздела, которое будет отображаться на правой панели, щелкните интересующий вас раздел на левой панели.

На правой панели программы Regedit Вы видите аналог имени файла — имя определенного элемента данных. Эти данные называются значениями, хранящимися под данным именем. Подобное раздвоение между именем и данными присуще не только программе Regedit. Оно повсеместно присутствует в программировании и базах данных. Его суть та же, что и в различиях между именем переменной (или поля) и содержимым этой переменной (или поля), или между конкретным адресом в памяти и содержимым этой области памяти. На самом деле, и в повседневной жизни нам на каждом шагу приходится сталкиваться с различиями между символами (именами) объектов и самими объектами.

Организация данных в виде основных (мы называем их категориями) и подчиненных разделов, в которых и содержатся данные параметров реестра, позволяет Windows 2000 быстро находить нужное место в иерархии, чтобы получить требуемую информацию. Этот метод оптимизации баз данных очень важен, так как реестр все растет и растет и становится действительно большой базой данных.

Поиск по всему содержимому реестра, элемент данных за элементом данных (наподобие текстового поиска), серьезно снизил бы производительность Windows 2000. Это выглядело бы так, как если бы пришлось искать файл на жестком диске, не зная, в какой папке он находится. Без определенной организации данных, с помощью древовидной структуры или какого-либо другого способа группировки, управление данными было бы, по меньшей мере, крайне обременительным. Пришлось бы просто проверять каждый элемент обычного списка, вместо того чтобы применять более эффективный метод, использующий пути к категориям данных.

Windows 2000 сохраняет текущие параметры реестра для каждого пользователя в файле NTUSER.DAT, находящемся в папке профиля каждого пользователя. Папка «Default User» содержит стандартные записи реестра, с помощью которых Windows 2000 создает нового пользователя. Так как у каждого пользователя есть своя персонализированная копия реестра, любые ошибки, допущенные при редактировании реестра, скажутся только на текущем пользователе. Ошибку при изменении реестра можно исправить несколькими способами. Можно просто отменить сделанное изменение, не выходя из редактора реестра. Если Вы допустили ошибку и не можете получить доступ к учетной записи пользователя, когда пытаетесь указать ее в диалоговом окне входа в систему, Вы всегда можете зарегистрироваться с учетной записью администратора и скопировать файл реестра похожего пользователя в папку профиля пользователя, реестр которого был поврежден. Также можно удалить пользователя и затем добавить его снова; при этом реестр пользователя по умолчанию (Default User) будет скопирован в папку нового профиля. Однако следует избегать подхода, связанного с удалением и повторным добавлением пользователя. Удаление пользователя влечет за собой серьезные последствия, связанные с владением файлами и папками. Лучшее решение — использовать файл NTUSER.DAT какого-либо другого пользователя. Четвертый вариант — восстановление резервной копии поврежденного файла реестра. На этот случай нужно всегда иметь резервную копию реестра.

Есть один пользователь, файл реестра которого редактировать не надо. Так как почти для всех типов обращений к реестру требуется учетная запись администратора, повреждение файла реестра администратора (\PROFI-LES\ADMINISTRATOR) — основной способ навсегда проститься с системой. Лучше всего всегда заводить на всех компьютерах двух пользователей с полными административными полномочиями: собственно администратора и себя (или своего полномочного представителя). Если Вы не обновляли операционную систему с NT4, а установили чистую систему Windows 2000, то вместо папки \PROFILES на вашем компьютере будет папка \DOCUMENTS AND SETTINGS.

Реестр представляет собой базу данных, состоящую из нескольких файлов. Кроме того, как Вы уже видели, он разделен на несколько разделов (HKEY_CURRENT__CON-FIG, HKEY_LOCAL_MACHINE и так далее). Степень опасности ошибки при редактировании реестра зависит от того, в каком из этих разделов она допущена, Если некорректно изменены какие-либо элементы раздела HKEY_USERS, ущерб будет сравнительно небольшим. В худшем случае пользователь не сможет войти в систему. Обычно, если файл NTUSER.BAT поврежден, Windows 2000 просто отклоняет его и создает новую копию на основе файла NTUSER.DAT пользователя по умолчанию. (Файл в папке «Default User», например C:\WINNT\Profiles\DefauIt User\NTUSER.DAT, содержит стандартные записи реестра, которые Windows 2000 использует для создания нового пользователя.) Но если ошибка допущена при редактировании раздела HKEY_LOGAL_MACHINE, то в результате может быть необратимо повреждена операционная система.

В отличие от Windows 95/98, программа Regedit в Windows 2000 не имеет интерфейса командной строки (то есть DOS). Нельзя редактировать, реестр, не запустив Windows 2000. Кроме того, реестр Windows 95/98 несовместим с реестром Windows 2000. Не пытайтесь, использовать программу Regedit из Windows 95, чтобы редактировать реестр Windows 2000 из командной строки. С помощью редактора реестра Windows 95/98 можно изменять реестр Windows 2000 с удалённого компьютера, используя графический интерфейс, то есть из Windows. Аналогично можно использовать версию программы Regedit из Windows 2000 для внесения изменений в реестр Windows 95.