Загрузчик Windows Server 2003 (NTLDR) отображает на экране меню, из которого можно выбрать запускаемую операционную систему (см. главу 3 "Загрузка операционной системы"). Если при появлении меню загрузки нажать клавишу <F8>, то на экране появится меню опций отладки и дополнительных режимов загрузки, которое будет оставаться на экране до тех пор, пока не будет выбрана одна из опций.
При загрузке в безопасном режиме (safe mode) Windows использует стандартные параметры настройки (монитор VGA, без запуска сетевых средств, с запуском минимального количества драйверов — фактически запускаются только драйверы, минимально необходимые для запуска Windows). Например, если после инсталляции нового программного обеспечения Windows XP или Windows Server 2003 перестали запускаться, то вполне возможно, что загрузка в безопасном режиме позволит выполнить запуск операционной системы с минимальным количеством сервисов и драйверов. После загрузки вы сможете изменить параметры настройки компьютера, не позволяющие выполнить корректную загрузку Windows, или удалить программное обеспечение, вызвавшее эти проблемы.
Если вы имеете некоторый опыт работы с Windows NT 4.0, то наверняка знаете, что в этой системе проблемы с загрузкой чаще всего вызывались некорректно работающими драйверами устройств. Такие несовместимые драйверы могли привести к краху системы либо сразу же после инсталляции, либо даже после некоторого времени, в течение которого их работа на первый взгляд казалась корректной. Причем вторая ситуация, когда драйвер в течение некоторого времени все же работал, не вызывая никаких проблем, всегда была более труднообъяснимой (а в самом деле, что же могло вызвать ошибку?). При этом, хотя на первый взгляд и кажется, что нет причин, которые могли бы хоть как-то объяснить это непредсказуемое поведение, причины этому все же есть. Заключаются они в том, что как программная, так и аппаратная конфигурация компьютера со временем могут меняться, а эти изменения могут спровоцировать ошибки, допущенные при проектировании драйвера и оставшиеся незамеченными. Windows 2000/XP и Windows Server 2003, как и Windows NT 4.0, тоже могут быть выведены из строя установкой несовместимого драйвера. Однако загрузка в безопасном режиме (safe mode), концепция которого была позаимствована из Windows 9x, предоставляет более удобные средства быстрого восстановления системы после подобных ошибок, нежели Windows NT 4.0.
Интерфейс Recovery Console представляет собой полноэкранный интерфейс командной строки (как в MS-DOS). Фактически ориентироваться в работе с Recovery Console вам поможет команда help, которая, как несложно догадаться, выводит список команд, доступных при работе с консолью. Помимо этого, полный список команд Recovery Console можно найти в справочной системе (достаточно выполнить поиск по словам "Recovery Console").
Краткий список команд Recovery Console приведен ниже.
Attrib — изменение атрибутов файла или каталога.
Batch — исполнение команд, содержащихся в указанном текстовом файле.
Bootcfg — конфигурирование и восстановление файла Boot.ini.
choir (CD) — переход в другой каталог.
chkdsk — запуск программы chkdsk с выводом отчета.
cis — очистка экрана.
сору — копирование указанного одиночного файла.
Delete (DEL) — удаление одиночного файла.
Dir — вывод списка содержимого каталога.
Disable — блокировка системного сервиса или драйвера.
Diskpart — управление разделами на жестком диске.
Enable — активизация сервиса или драйвера.
Exit — завершение работы с Recovery Console и перезагрузка компьютера.
Expand — распаковка сжатого файла.
Fixboot — исправление поврежденного загрузочного сектора на системном разделе.
Fixmbr — исправление поврежденной главной загрузочной записи.
Format — форматирование диска.
Help — вывод справочной информации по командам Recovery Console.
Listsvc — вывод списка всех доступных в системе сервисов и драйверов.
Logon — регистрация в системе Windows XP.
мар — отображение списка буквенных обозначений дисков.
MkDir (мо) — создание каталога.
More — вывод текстового файла на экран по частям.
Rename (REN) — переименование файла.
RmDir (RD) — удаление каталога.
set — отображение и установка переменных окружения Recovery Console.
SystemRoot — закрепление за текущим каталогом статуса SystemRoot.
туре — вывод текстового файла на экран.
Чтобы вывести информацию по работе с конкретной командой, используйте следующий синтаксис: HELP command name (например, HELP FIXBOOT) или command name /? (например, LISTSVC /?).
Несмотря на то, что в составе Windows Server 2003 появились новые встроенные средства устранения неполадок с загрузкой, к числу которых относятся так называемый безопасный режим (safe mode) и консоль восстановления (Recovery Console), о которых речь пойдет далее в этой главе, в ряде случаев вам очень пригодится и загрузочная дискета. Разумеется, безопасный режим предоставляет удобное средство для устранения неполадок с загрузкой, например, в таких случаях, когда в системе установлен несовместимый или некорректно работающий драйвер устройства.
Однако в некоторых ситуациях опции безопасного режима не помогут. В частности, эта ситуация возникнет, если получит повреждение один из системных модулей или жизненно важный драйвер устройства, принадлежащий к минимальному набору драйверов, которые должны быть загружены в любом случае. Также подобная проблема возникнет, если повреждена, например, такая важная структура данных, как главная загрузочная запись (MBR). Для таких случаев в состав Windows 2000, Windows XP и Windows Server 2003 включено новое, мощное средство — Recovery Console (RC), которое будет обсуждаться далее в этой главе.
Однако, если опция запуска Recovery Console не включена в меню загрузчика, то для доступа к этому средству вам потребуется так или иначе запустить программу установки операционной системы (наиболее простым способом ее запуска является загрузка компьютера с дистрибутивного компакт-диска). Эти методы запуска Recovery Console являются "штатными" и официально рекомендуемыми. Однако, если имеющееся устройство CD-ROM не является загрузочным, в вашем распоряжении останется только загрузка компьютера с загрузочной дискеты с последующим запуском программы winnt32.exe.
В Windows 2000 в распоряжении пользователей имелся еще один метод запуска Recovery Console — загрузка компьютера с помощью четырех загрузочных дискет Windows 2000. Однако загрузка с помощью установочных дискет занимает довольно много времени. По этой причине предлагаемый метод, пригодный как в Windows 2000, так и в Windows XP/Windows Server 2003, является предпочтительным.
Консоль восстановления (Recovery Console) впервые появилась в Windows 2000, и многие администраторы и специалисты из групп технической поддержки сразу же оценили это исключительно полезное нововведение. Разумеется, консоль восстановления присутствует и в Windows XP, а также в продуктах из семейства Windows Server 2003.
Recovery Console представляет собой консоль с интерфейсом командной строки, предоставляющую администраторам и пользователям с административными правами необходимый минимум средств, позволяющих выполнить восстановительные процедуры в системе, имеющей проблемы с загрузкой. Используя Recovery Console, можно запускать и останавливать сервисы, форматировать диски, выполнять чтение и запись данных на локальные жесткие диски (включая и те, которые отформатированы для использования файловой системы NTFS), устранять проблемы с поврежденной главной загрузочной записью (MBR) и поврежденными загрузочными секторами, а также выполнять другие административные задачи.
Особенно полезной Recovery Console может оказаться в том случае, если для восстановления системы требуется скопировать на жесткий диск один или несколько системных файлов (с дискеты или компакт-диска) или же переконфигурировать сервис или драйвер, некорректная конфигурация которого мешает выполнить загрузку Windows 2000 или Windows XP/ Windows Server 2003.
Для применения Recovery Console необходимо зарегистрироваться в выбранной операционной системе от имени администратора (пользователь Administrator).
Если процедура POST завершилась успешно, то аппаратные средства компьютера инициализировались корректно. Если при этом в процессе загрузки Windows Server 2003 все же происходит сбой, возможно, что проблема вызвана одной из следующих причин:
проблемы с жестким диском, на котором находится системный раздел (загрузочный раздел может находиться на другом диске);
повреждение главной загрузочной записи (Master Boot Record, MBR) или загрузочного сектора на системном разделе;
отсутствие или повреждение одного из файлов, необходимых для загрузки операционной системы.
В составе Windows Server 2003 имеется целый арсенал средств, позволяющих выполнить восстановление поврежденной системы. Основные из средств обеспечения отказоустойчивости и предотвращения сбоев перечислены ниже.
Средства защиты системных файлов цифровой подписью. С появлением Windows 2000 в составе операционной системы появился набор средств, позволяющих гарантировать защиту системных файлов и драйверов устройств от их случайной замены при установке дополнительного программного обеспечения. Во всех предыдущих версиях Windows системные файлы, в том числе динамически загружаемые библиотеки (*.dll) и исполняемые файлы (*.ехе), не имели такой защиты. При их замене некорректно работающей или несовместимой версией были возможны самые разнообразные последствия — от снижения общей производительности системы до ее катастрофического сбоя. Набор средств защиты файлов цифровой подписью включает в свой состав такие средства, как зашита системных файлов (Windows File Protection, WFP), проверка системных файлов (System File Checker, SFC) и верификация цифровой подписи файлов (File Signature Verification, FSV). В Windows XP эти функциональные возможности были расширены за счет включения еще одного чрезвычайно полезного и удобного средства — возможности отката драйверов (Driver Rollback). Теперь, если после установки обновленного драйвера устройства операционная система станет работать нестабильно, пользователю будет предоставлена возможность вернуть ее в исходное состояние путем замены драйвера на предыдущую версию.
При разработке Windows XP и Windows Server 2003 особое внимание уделялось обеспечению отказоустойчивости системы и безопасности данных. Многие средства и утилиты были радикально переработаны, и встроенная утилита Backup не является исключением из этого правила. Так, помимо традиционных функциональных возможностей по резервному копированию и 'восстановлению данных, версия программы Backup, входящая в состав Windows XP и Windows Server 2003, включает и новую функцию подготовки к автоматическому восстановлению системы (Automated System Recovery, ASR). Автоматическое восстановление системы представляет собой двухступенчатый процесс, который позволяет пользователю восстановить поврежденную копию Windows XP/Windows Server 2003, используя для этой цели резервную копию конфигурационных данных операционной системы и информацию о дисковой конфигурации, сохраненную на дискете.
Большинство опытных пользователей Windows NT/2000 помнят возможности по восстановлению системы с помощью диска аварийного восстановления (Emergency Repair Disk, ERD). В Windows NT для изготовления диска аварийного восстановления применялась специальная утилита — Rdisk.exe. В Windows 2000 эта же задача выполнялась уже с помощью утилиты Backup. Что касается Windows XP и Windows Server 2003, то в этой операционной системе на смену ERD пришел процесс автоматического восстановления системы (ASR).
Для подготовки к автоматическому восстановлению системы, выполните следующие операции:
1. Если на компьютере установлено ленточное устройство, приготовьте носитель для выполнения резервного копирования. Если такого устройства у вас нет, то вы будете ограничены возможностью выполнения резервного копирования в файл на жестком диске. В этом случае следует освободить достаточный объем свободного дискового пространства. Кроме того, в любом случае вам потребуется пустая отформатированная дискета.
2. Запустите утилиту Backup в режиме Advanced Mode. Нажмите кнопку Automated System Recovery Wizard (Мастер автоматического восстановления системы) на вкладке Welcome или выберите команду ASR wizard из меню Tools. В первом окне программы-мастера подготовки к автоматическому восстановлению системы нажмите кнопку Next.
Как и в предыдущих версиях Windows NT/2000, официально рекомендуемым методом резервного копирования и восстановления данных в Windows XP и Windows Server 2003 является использование встроенной утилиты Backup.
Однако, если в Windows NT 4.0 эта программа имела ряд весьма существенных ограничений, к числу которых относились необходимость наличия в локальной системе совместимого с Windows NT ленточного устройства и весьма ограниченный список таких устройств, то в версии программы Backup, входящей в состав Windows 2000, эти недостатки были устранены. Новая версия программы обеспечивает поддержку различных видов носителей резервной копии, что позволяет выполнять резервное копирование на любое устройство хранения информации, поддерживаемое операционной системой. К числу таких устройств относятся любые гибкие или жесткие диски, магнитооптические накопители и другие устройства, а не только стримеры.
Windows XP и Windows Server 2003, как и следовало ожидать, вводят технологические усовершенствования и в этой области. К числу таких усовершенствований относится и технология моментальных снимков тома (volume shadow сору), которая позволяет создать "моментальный снимок" жесткого диска на момент начала резервного копирования. В процессе резервного копирования будет использоваться этот "моментальный снимок" (остающийся неизменным), а не фактическое содержимое жесткого диска (которое в ходе резервного копирования может изменяться). Эта технология предоставляет особые преимущества тем пользователям, которым необходимо продолжать работу в ходе выполнения резервного копирования, т. к. она позволяет существенно сократить время, требующееся на завершение процесса резервного копирования. При этом приложение Backup может выполнять резервное копирование открытых файлов, с которыми на данный момент работает пользователь. Обратите внимание, что в Windows 2000 файлы, открытые на момент выполнения резервного копирования, исключались из резервной копии.
Чтобы вызвать программу Backup в Windows XP или Windows Server 2003, выберите из меню Start команды All Programs | Accessories | System Tools | Backup (разумеется, в случае частого использования этой программы для нее можно создать ярлык на рабочем столе). Помимо этого традиционного способа, вызов программы Backup можно осуществить и через контекстное меню, выводимое по нажатию правой кнопки мыши. Для этого в окнах Windows Explorer или My Computer укажите курсором на диск, для которого требуется выполнить резервное копирование, выполните щелчок правой кнопкой мыши и выберите из раскрывшегося меню команду Properties. В появившемся диалоговом окне перейдите на вкладку Tools и нажмите кнопку Backup Now (рис. 23.10).
В состав Windows 2000, Windows XP и Windows Server 2003 включено средство проверки системных файлов — System File Checker (Sfc.exe), которое представляет собой утилиту командной строки. Данная утилита сканирует все установленные системные файлы и выполняет проверку их версий. Если эта утилита обнаружит, что один из защищаемых системных файлов был замещен, она найдет корректную версию этого файла в каталоге %SystemRoot%\systern32\dllcache и запишет ее вместо измененного файла.
Эта утилита командной строки имеет следующий синтаксис: SFC [/SCANNOW] [/SCANONCE] [/SCANBOOT] [/REVERT] [/PURGECACHE] [/CACHESIZE=X]
где:
/SCANNOW — параметр, при использовании которого выполняется немедленное сканирование всех защищаемых системных файлов;
/SCANONCE — параметр, указывающий на необходимость однократного сканирования всех защищаемых системных файлов;
/SCANBOOT — параметр, задающий опцию сканирования всех защищаемых системных файлов при каждой перезагрузке;
/REVERT — установить для параметров сканирования значения, принятые по умолчанию;
/PURGECACHE — очищает файловый кэш System File Protection;
/CACHESIZE=X — устанавливает размер файлового кэша Windows File Protection (в мегабайтах). С помощью этой опции можно уменьшать или увеличивать объем дискового пространства, выделяемый для хранения кэшированных версий защищаемых системных файлов в папке %SystemRoot%\system32\dllcache.
Чтобы иметь возможность работы с утилитой sfc.exe, необходимо зарегистрироваться на компьютере как администратор или как пользователь, являющийся членом группы Administrators.
Если содержимое папки %SysfemRoot%\system32\dllcache окажется поврежденным, то вы сможете восстановить его, запустив команду sfc /scannow, sfc /scanonce или sfc /scanboot.
Регулярное выполнение плановых профилактических процедур позволит предотвратить возможные проблемы или свести к минимуму их последствия. Наиболее общие рекомендации по их выполнению приведены ниже.
Довольно часто причиной некорректной работы системы или даже проблем с ее загрузкой может быть перезапись системного файла или же несовместимый драйвер. Обычно это происходит во время установки дополнительного программного обеспечения, несовместимого с операционной системой. Эта проблема существовала в Windows NT 4.0 и во всех более ранних версиях Windows NT. С выходом Windows 2000 были введены дополнительные средства защиты системных файлов и драйверов с помощью цифровой подписи, которая гарантирует их совместимость с операционной системой и корректную работу. В Windows XP и Windows Server 2003, в дополнение к существующим средствам защиты драйверов и системных файлов, появились новые функциональные возможности, такие как Driver Rollback. Во избежание возникновения проблем рекомендуется пользоваться этими средствами, которые будут подробно описаны далее в этой главе.
Выполнение резервного копирования системных конфигурационных файлов, в том числе и реестра перед каждым внесением серьезных конфигурационных изменений в систему (включая установку новых устройств или нового программного обеспечения), должно быть привычкой каждого пользователя. Весьма желательно также иметь работоспособную резервную копию всех важных данных. Подробные инструкции по выполнению этих операций будут приведены далее.
Рекомендуется ежедневно просматривать журналы системных событий (как минимум, журналы system и application). В особенности обращайте внимание на ошибки, генерируемые драйвером Ftdisk и драйверами жестких дисков, т. к. они могут указывать на возможные повреждения файловой системы. Если эта рекомендация не выполняется, то ошибки файловой системы могут остаться незамеченными до тех пор, пока программа Chkdsk не укажет на их существование. Стоит отметить, что при этом возможна даже такая ситуация, когда поврежденные данные попадут и на резервную копию, поскольку программы резервного копирования (в том числе и встроенная программа Backup, включенная в состав Windows 2000, Windows XP и Windows Server 2003) не могут распознавать ошибки и повреждения в пользовательских данных.
Регулярно выполняйте проверку дисков для своевременного обнаружения ошибок файловой системы. Кроме того, рекомендуется регулярно проводить и дефрагментацию дисков, что позволит избежать проблем с низкой производительностью. Стоит дать отдельное предупреждение о том, что для дефрагментации следует применять только встроенные средства операционной системы или утилиты сторонних производителей, имеющие статус "designed for Windows". Информацию о программном обеспечении, тестировавшемся на совместимость с Windows XP и Windows Server 2003, в том числе и об утилитах дефрагментации дисков, можно найти по адресу http://www.microsoft.com.
Помимо множества новых и чрезвычайно удобных функций программа Backup позволяет выполнить процедуру резервного копирования всех системных файлов. Чтобы упростить процедуру восстановления после сбоев, резервное копирование рекомендуется выполнять регулярно. Сделать это можно двумя различными способами. Первый способ заключается в использовании мастера Backup wizard (Мастер резервного копирования), который можно вызвать, выбрав переключатель Back up files and settings во втором окне программы Backup, работающей в режиме мастера, или выбрав команду Backup Wizard из меню Tools. Пользоваться этим методом рекомендуется начинающим пользователям, не имеющим достаточного опыта в работе с системой.
Помимо использования мастера, процедуру резервного копирования можно выполнить и вручную. Для этого вызовите программу Backup в расширенном режиме (Advanced Mode), перейдите на вкладку Backup и вручную выберите из списка дисков, файлов и папок, подлежащих резервному копированию, опцию System State (Состояние системы) (рис. 23.11).
Рис. 23.11. Чтобы системные конфигурационные файлы были включены в состав резервной копии, установите флажок System State; данный пример иллюстрирует сохранение состояния системы для контроллера домена
Обратите внимание на то, что программа Backup не позволяет выполнить выборочное резервное копирование отдельных компонентов набора System State.
В списке Backup destination выберите ленточное устройство (если оно установлено на компьютере, и резервное копирование должно быть выполнено на ленту, вставленную в это устройство) или выберите опцию File (если резервное копирование должно выполняться в файл). Если компьютер не оснащен ленточным устройством, то опция File всегда будет выбрана по умолчанию. Если резервное копирование будет выполняться в файл, то в поле Backup media or file name укажите путь к файлу, в который будет выполняться резервное копирование (файлы резервных копий всегда имеют расширение bkf), или нажмите кнопку Browse, чтобы найти нужный файл. Если резервное копирование должно выполняться на ленту, выберите ленту, на которую будет выполняться резервное копирование. Дополнительные опции резервного копирования можно задать, выбрав команду Options из меню Tools. Чтобы начать процедуру резервного копирования, нажмите кнопку Start Backup (Начать копирование).
Существуют следующие способы запуска Recovery Console.
Если вы не можете выполнить загрузку Windows XP/Windows Server 2003 с жесткого диска, запустите Recovery Console с дистрибутивного компакт-диска (если на вашем компьютере установлено устройство CD-ROM, с которого можно выполнять загрузку операционной системы). Если загрузка с компакт-диска невозможна, загрузите компьютер с загрузочной дискеты и запустите программу Setup из командной строки (необходимую информацию по данному вопросу можно найти в главе 1 "Планирование и установка системы").
Recovery Console можно установить на жестком диске вашего компьютера и включить ее как одну из доступных опций в меню загрузки.
Если требуется удалить Recovery Console из списка опций, доступных в меню загрузки, выполните следующие операции:
1. Из корневого каталога системного раздела удалите папку \cmdcons и файл cmldr.
Папка \cmdcons и файл cmldr имеют атрибуты Hidden и System, а это значит, что они принадлежат к числу файлов, защищаемых операционной системой, и по умолчанию не отображаются графической оболочкой Windows. Поэтому не забудьте настроить опции отображения папок с помощью значка Folder Options на панели управления.
2. Откройте для редактирования файл Boot.ini, найдите в его составе строку, соответствующую опции запуска Recovery Console, и удалите ее. Пример, иллюстрирующий, как может выглядеть такая строка, приведен ниже.
С:\CMDCONS\BOOTSECT.DAT="Microsoft Windows Recovery Console" /cmdcons
Чтобы установить Recovery Console на жесткий диск и указывать ее в качестве одной из опций меню загрузки, выполните следующие операции:
1. Зарегистрируйтесь в Windows Server 2003 как администратор или пользователь, принадлежащий к группе Administrators.
2. Вставьте дистрибутивный компакт-диск в устройство CD-ROM.
3. В режиме командной строки перейдите на дистрибутивный диск и введите команду \I386\winnt32.exe /cmdcons
4. Следуйте инструкциям, появляющимся на экране.
Как уже упоминалось, аварийные ситуации необходимо предвидеть, и на случай их возникновения жизненно важно иметь точную и достоверную информацию об аппаратной конфигурации компьютера и установленном на нем программном обеспечении. Администраторам сетей, в чьи обязанности входит обеспечение работоспособности всех подключенных к сети компьютеров, рекомендуется завести специальный журнал, в котором будет фиксироваться вся информация об аппаратной и программной конфигурации каждого из компьютеров.
Сопроводительную документацию, полученную от поставщика в комплекте с вашим компьютером, храните таким образом, чтобы в нужный момент она всегда была под рукой. Эта документация может оказаться неоценимым подспорьем при устранении проблем, возникающих уже на стадии самотестирования при включении (POST).
В отношении программной конфигурации Microsoft официально рекомендует регистрировать следующую информацию:
сведения о конфигурации жестких дисков, в том числе расположении и размерах каждого раздела и каждого логического диска;
информацию обо всех установленных на компьютере операционных системах и разделах, на которых они установлены;
информацию о дополнительном программном обеспечении, установленном на компьютере.
Как уже говорилось, в некоторых случаях установка нового программного обеспечения приводит к замещению системных файлов некорректными или несовместимыми версиями (которые, естественно, не имеют цифровой подписи). Такая замена, как уже неоднократно упоминалось, как раз и может послужить источником возможных проблем с нестабильностью системы (в том числе ошибок типа "синий экран" и проблем с загрузкой Windows XP/ Windows Server 2003).
Во избежание такого рода проблем все системные файлы, устанавливаемые в процессе инсталляции Windows XP или Windows Server 2003, снабжены цифровой подписью Microsoft. Если системный файл имеет такую подпись, это может служить гарантией его совместимости с операционной системой и указывает на то, что данный файл либо представляет собой оригинальную версию, разработанную Microsoft, либо прошел тестирование и признан пригодным для использования с Windows XP/Windows Sewer 2003. Использование средства верификации цифровой подписи файлов позволяет идентифицировать все установленные на проверяемом компьютере файлы, не имеющие цифровой подписи, и получить об этих файлах следующую информацию:
имя файла и точный путь к нему;
дату модификации файла;
тип файла и точный номер его версии.
Чтобы запустить средство верификации цифровых подписей файлов, нажмите кнопку Start, из раскрывшегося меню выберите команду Run и введите команду sigverif.
Максимальную практическую пользу при устранении проблем, связанных с заменой системных файлов некорректными версиями, можно получить, регистрируя информацию, собранную программой Sigverif, в файле журнала. Для этой цели проделайте следующее:
1. Запустите программу Sigverif, и в появившемся на экране окне File Signature Verification (Верификация подписи файлов) (рис. 23.5) нажмите кнопку Advanced (Дополнительно).
2. В раскрывшемся диалоговом окне Advanced File Signature Verification Settings (Дополнительные параметры верификации подписей файлов) перейдите на вкладку Logging (Журнал) (рис. 23.6) и установите флажок Save the file signature verification results to a log file (Сохранять результаты проверки в файле журнала).
В заключение обсуждения процесса ASR давайте рассмотрим одну неприятную, но весьма вероятную ситуацию. Предположим, что вам необходимо выполнить процедуру ASR, и вы вдруг обнаруживаете, что потеряли дискету ASR. Значит ли это, что все потеряно? Нет, ничего еще не потеряно, поскольку если ваш носитель с резервной копией ASR пригоден к использованию, то вы имеете возможность воссоздать недостающую дискету ASR.
Если вы изготовили хотя бы одну дискету ASR, то практически наверняка поинтересовались, какие же файлы на нее сохраняются (а файлы asr.sif, asrpnp.sif и setup.log представляют собой текстовые файлы формата ASCII, которые можно просмотреть с помощью любого текстового редактора, например, Notepad.exe). И, наконец, самая хорошая новость заключается в том, что эти файлы не только копируются на дискету ASR, но и включаются в состав резервной копии ASR, откуда их без особого труда можно извлечь с помощью все той же программы Backup (причем для этой цели годится не только версия Backup, входящая в состав Windows XP или Windows Server 2003, но и программа Backup, поставляемая в составе Windows 2000).
Итак, для воссоздания отсутствующей дискеты ASR проделайте следующее:
1. Отформатируйте дискету емкостью 1,44 Мбайт и вставьте ее в дисковод любого компьютера, работающего под управлением одной из перечисленных выше систем.
2. Запустите программу Backup и перейдите на вкладку Restore and Manage Media (Windows XP/Windows Server 2003) или на вкладку Restore (Windows 2000). Вставьте свой носитель с резервной копией ASR в устройство резервного копирования и выберите команду Catalog a backup file из меню Tools. В следующем окне укажите путь к резервной копии (при необходимости можно нажать кнопку Browse).
3. Выберите носитель, содержащий копию ASR и в левой части окна программы Backup разверните архив, соответствующий диску ASR, который требуется воссоздать.
4. Разверните папку %SystemRoot%\Kpair и пометьте для восстановления следующие файлы: asr.sif, asrpnp.sif и setup.log (рис. 23.18). В списке Restore files to выберите опцию Alternate location, а в поле Alternate location укажите путь к корневому каталогу дискеты ("А:\").
5. Нажмите кнопку Start Restore. Выбранные файлы будут скопированы на дискету. Извлеките дискету из дисковода и используйте ее в ходе восстановления ASR.
Рис. 23.18. Воссоздание отсутствующей дискеты ASR
Если все ваши попытки восстановить поврежденную систему завершатся неудачей, и не останется другого выхода кроме переинсталляции, работеспособная копия системных конфигурационных данных вам очень и очень пригодится.
Чтобы восстановить системные конфигурационные данные (System State data), вызовите программу Backup в режиме Advanced Mode, перейдите на вкладку Restore and Manage Media (Восстановление и управление носителями) и в окне Expand the desired media item, then check the box for the items to restore (Разверните узел нужного носителя, затем установите флажки около тех объектов, которые требуется восстановить) установите флажок System State. Затем нажмите кнопку Start Restore, и через некоторое время будут восстановлены системные файлы, а также любые другие запрошенные данные.
Если при выполнении процедуры восстановления системных данных не указан альтернативный каталог для их восстановления, то программа Backup удалит все системные данные, используемые на текущий момент, и заменит их данными с резервной копии. Вследствие взаимозависимости всех компонентов, образующих системные конфигурационные данные, они включаются в процедуры резервного копирования и восстановления только как единое целое.
Тем не менее, восстановление компонентов системных данных можно выполнять в другой (альтернативный) каталог, и в этом случае текущее состояние (том SYSVOL, файлы базы данных кластера и файлы, необходимые для загрузки системы, база данных Active Directory, база данных сервера сертификатов и информация классов СОМ+) останется неизменным.
Кроме того, выполняя восстановление системных конфигурационных данных, необходимо помнить о следующих факторах:
для выполнения восстановления системных конфигурационных данных необходимо иметь в локальной системе права администратора или оператора резервного копирования;
если восстановление системных конфигурационных данных выполняется на контроллере домена, то пользователь, осуществляющий процедуру восстановления, должен будет выбрать режим выполнения этой операции. По умолчанию программа Backup выполняет восстановление данных о конфигурации системы в так называемом непринудительном (nonauthoritative) режиме, при использовании которого все реплицируемые данные (например, базы данных Active Directory или содержимое тома SYSVOL) после восстановления с резервной копии будут обновляться данными, поступающими с других контроллеров домена. Если требуется изменить это положение вещей, необходимо выполнять восстановление в так называемом принудительном (authoritative) режиме, с обязательным использованием системной утилиты Ntdsutil, которую следует запускать сразу же после восстановления данных, но до перезагрузки контроллера домена. Утилита Ntdsutil позволяет помечать объекты для принудительного восстановления, что гарантирует их правильную репликацию после восстановления данных;
перед выполнением восстановления системных конфигурационных данных на контроллере домена необходимо выполнить загрузку компьютера в режиме, называемом режимом восстановления службы каталогов (directory services restore mode), который представляет собой одну из опций меню режима безопасной загрузки. Этот режим позволит восстановить том SYSVOL и базу данных Active Directory;
восстановление системных конфигурационных данных можно произвести только на локальном компьютере. Как и резервное копирование, эта операция не может производиться на удаленных компьютерах.
Несмотря на то, что Windows Server 2003 по надежности и отказоустойчивости превосходит все предшествующие версии Windows, давайте посмотрим на веши реально: поскольку проблемы с загрузкой возможны при работе с любой операционной системой, то и Windows Server 2003 не является исключением из общего правила. Несмотря на новое название, эта операционная система является логическим продолжением семейства операционных систем Windows NT/2000/XP, и по этой причине в процессе загрузки Windows Server 2003 могут возникать некоторые проблемы, с которыми сталкивались пользователи этих операционных систем. В частности, возникновение проблем может быть вызвано:
сбоями в работе жесткого диска или ошибками в работе контроллера жесткого диска;
сбоями в подаче электропитания;
некорректно работающими приложениями и плохо написанными драйверами устройств;
вирусной атакой;
ошибками пользователей (человеческий фактор никогда не следует сбрасывать со счетов).
Поэтому, несмотря на существенное повышение надежности системы и ее отказоустойчивости, проблемы все равно возможны, и к их устранению надо быть готовым.
В этой главе описываются превентивные меры, которые любой опытный пользователь должен предпринимать в целях устранения неполадок в работе Windows Server 2003, рассматриваются встроенные средства операционной системы по обеспечению ее надежности и отказоустойчивости, а также приводятся инструкции по восстановлению системы и данных в случае возникновения проблем с загрузкой и других неполадок.
В дополнение к средствам обеспечения отказоустойчивости, появившимся в Windows 2000, системы Windows XP и Windows Server 2003 предлагают еще одно удобное новшество — возможности отката драйверов (Driver Rollback). Довольно часто такие проблемы, как аппаратные конфликты, нестабильное поведение системы, неправильная работа устройств и даже ошибки STOP бывают вызваны некорректным драйвером. Стоит ли говорить, что в такой ситуации весьма желательно было бы иметь возможность быстрой замены проблемного драйвера на предыдущую версию без переустановки системы.
Функция Driver RollBack оказывается просто незаменимой при устранении неполадок, а также при отладке бета-версий драйверов. Например, если после установки обновленного драйвера при загрузке появляется сообщение STOP, вы имеете возможность попытаться загрузить систему в безопасном режиме и произвести откат драйвера.
Чтобы воспользоваться функцией отката драйверов, проделайте следующее:
1. Вызовите опцию System на панели управления, перейдите на вкладку Hardware и нажмите кнопку Device Manager (Менеджер устройств).
2. Выполните щелчок правой кнопкой мыши, указав на устройство, обновленный драйвер которого вызывает проблему, и выберите из контекстного меню команду Properties.
3. В раскрывшемся диалоговом окне свойств выбранного устройства перейдите на вкладку Driver (Драйвер) (рис. 23.8). Нажмите кнопку Roll Back Driver (Откат драйвера).
Рис. 23.8. Вкладка Driver диалогового окна свойств аппаратного устройства (на примере сетевого адаптера)
Рис. 23.9. Уведомление о невозможности отката драйвера
4. Менеджер устройств предложит вам подтвердить намерение выполнить откат драйвера. Нажмите кнопку Yes. Если старая версия драйвера недоступна, функция Driver Roll Back выведет окно с уведомлением (рис. 23.9) и предложит воспользоваться другими средствами устранения неполадок.
Процесс аварийного восстановления поврежденной системы с использованием процедуры ASR запускается из программы установки операционной системы — Windows Server 2003 Setup. Таким образом, для его выполнения вам, помимо резервной копии ASR и дискеты ASR, потребуется также дистрибутивный компакт-диск. Фактически этот процесс очень похож на процедуру автоматической установки операционной системы. Процедура ASR восстановит вашу конфигурацию дисковой подсистемы с использованием данных, сохраненных на дискету ASR, переформатирует раздел %SystemDrive% (тот, на котором установлена копия ОС, подлежащая восстановлению), затем переустановит на этот раздел Windows Server 2003 и восстановит конфигурационную информацию системы с резервной копии.
Следует понимать, что подготовка к ASR не является заменой регулярных процедур резервного копирования. Так, она не исключает риска потери данных, поскольку не выполняет резервного копирования файлов приложений и пользовательских данных. Как уже было сказано, в ходе выполнения процесса восстановления поврежденной системы процедура ASR выполняет переформатирование раздела %SystemDrive%, не восстанавливая при этом файлов приложений и пользовательских данных, которые могут находиться на этом диске (например, в папке Program Files). Таким образом, если вы устанавливаете на этот диск приложения и храните на нем пользовательские данные, то после выполнения процедуры ASR вся эта информация будет уничтожена. Следовательно, прежде, чем прибегать к такому радикальному средству восстановления, как ASR, необходимо попытаться использовать другие опции восстановления, например, System Restore или Recovery Console (установка, запуск и использование Recovery Console будут подробно описаны далее в этой главе).
Чтобы провести процесс аварийного восстановления с помощью ASR, выполните следующую последовательность шагов:
1. Подготовьте все необходимое для процесса ASR, в том числе:
дискету ASR с конфигурационной информацией, соответствующей конфигурации вашего компьютера на тот момент, когда вы в последний раз выполняли процедуру подготовки ASR;
Как уже говорилось, Recovery Console можно запустить из программы Windows Server 2003 Setup. Разумеется, для этой цели вам потребуется загрузочное устройство CD-ROM или загрузочная дискета и доступ к дистрибутивным файлам для запуска программы Setup. Независимо от того, каким образом будет запущена программа Setup, в этом случае ^ам придется затратить некоторое время на ожидание (ждать придется до [тех пор, пока не завершится процесс начального копирования базовых драйверов). При появлении экрана, где программа Setup предлагает на выбор установить Windows Server 2003, восстановить поврежденную копию ОС или завершить программу установки, нажмите клавишу <R> (рис. 23.19).
После этого программа Setup выполнит просмотр жестких дисков компьютера в поисках существующих копий Windows, которые могут нуждаться в восстановлении. Обнаружив несколько таких копий, Setup предложит вам выбрать ту, которую вы собираетесь восстанавливать, а затем — ввести пароль пользователя Administrator. Успешно зарегистрировавшись в выбранной системе Windows, вы получите в свое распоряжение мощный набор административных средств восстановления, предоставляющий вам самые широкие возможности.
Рис. 23.19. При появлении экрана, где программа Setup предлагает на выбор опции установки Windows, восстановления поврежденной копии Windows или завершения программы установки, нажмите клавишу <R>
При восстановлении контроллера домена Recovery Console требует для регистрации не обычный пароль администратора, а пароль, указанный для восстановления Active Directory (Directory Services Restore Mode Administrator Password). Этот пароль задается в процессе повышения роли сервера (promotion) до контроллера домена.
В частности, Recovery Console позволяет выполнять следующие операции:
форматировать разделы;
запускать и останавливать сервисы;
выполнять чтение и запись файлов;
восстанавливать поврежденные главные загрузочные записи (MBR).
Все системные файлы и драйверы в Windows XP и Windows Server 2003 защищены с помощью цифровой подписи. Это сделано, чтобы гарантировать их совместимость с операционной системой. Цифровая подпись Microsoft гарантирует, что файл, подписанный ею, тестировался на совместимость с Windows XP или Windows Server 2003 в лабораториях WHQL (Windows Hardware Quality Labs) и не был модифицирован или переписан во время установки дополнительного программного обеспечения.
Windows XP и Windows Server 2003 выполняют проверку наличия цифровой подписи для драйверов следующих типов устройств:
клавиатуры
сетевых адаптеров
контроллеров жестких дисков
принтеров
модемов
адаптеров SCSI
мыши
устройств чтения смарт-карт
мультимедийных устройств
видеоадаптеров
В зависимости от установленных опций настройки, Windows может либо игнорировать драйверы, не имеющие цифровой подписи, либо выводить предупреждение при обнаружении таких драйверов (эта опция используется по умолчанию), или же просто не допускать их установки. Чтобы установить опции защиты системных файлов в Windows XP и продуктах из семейства Windows Server 2003, проделайте следующее:
1. Вызовите опцию System на панели управления и в раскрывшемся диалоговом окне System Properties перейдите на вкладку Hardware (рис. 23.1).
2. Нажмите кнопку Driver Signing. На экране появится диалоговое окно Driver Signing Options (Опции подписанных драйверов), показанное на рис. 23.2. В этом окне имеется группа переключателей What action do you want Windows to take? (Какие действия в отношении неподписанных драйверов должна предпринимать Windows?), позволяющая установить следующие опции:
если установлен переключатель Ignore - Install the software anyway and don't ask for my approval (Игнорировать — устанавливать программное обеспечение, не запрашивая подтверждения), то система даст возможность устанавливать любые драйверы и системные файлы, игнорируя наличие или отсутствие у них цифровой подписи. Как уже упоминалось, отсутствие у драйвера или системного файла цифровой подписи указывает на то, что его совместимость с Windows XP/Windows Server 2003 официально не подтверждена, и он, возможно, станет источником проблемы;
Все версии Windows, предшествовавшие Windows 2000, имели один общий недостаток — при установке дополнительного программного обеспечения практически любые совместно используемые системные файлы, в том числе *.dll и *.ехе, могли быть изменены. Последствия замены этих файлов некорректными или несовместимыми версиями могли быть непредсказуемыми: от снижения производительности операционной системы до некорректного поведения остальных приложений, периодического появления ошибок STOP и даже проблем с загрузкой.
В Windows 2000 впервые за всю историю Windows была сделана попытка исправления этой ситуации. Разумеется, эта же функциональная возможность присутствует и в Windows ХР, а также в продуктах из семейства Windows Server 2003. Функция защиты системных файлов Windows (Windows File Protection, WFP) включает в свой состав следующие два компонента:
сервис защиты системных файлов (Windows File Protection service);
утилиту командной строки System File Checker (Sfc.exe).
Сервис Windows File Protection (WFP) работает по принципу определения цифровых подписей защищенных системных файлов (в их число входят файлы с расширениями sys, dll, ocx, ttf, fon и ехе), не позволяя произвольно модифицировать и замещать эти файлы. Сервис Windows File Protection работает в фоновом режиме и защищает все системные файлы, установленные программой Setup при инсталляции операционной системы. Выявив попытку изменения или перемещения защищенного файла, WFP проверяет измененный файл на наличие у него цифровой подписи. В случаях, когда версия, предназначенная на замену, не является корректной, Windows File Protection замещает этот файл резервной копией из папки %SystemRoot% \system32\dllcache и регистрирует попытку замещения файла в журнале системных событий.
Папка %SystemRoot%\System32\Dllcache может быть достаточно объемной и занимать до 300 Мбайт дискового пространства. По этой причине некоторые пользователи, в целях освобождения дополнительного дискового пространства, удаляют эту папку вместе со всем ее содержимым. Если дополнительный объем дискового пространства для вас актуален, вы тоже можете поступить таким образом. Однако при этом следует иметь в виду, что если сервис WFP не сможет обнаружить надлежащей версии файла в папке %SystemRoot%\system32\dllcache, то вам будет предложено вставить дистрибутивный компакт-диск в устройство CD-ROM или указать путь к каталогу, из которого такая версия может быть скопирована.
По умолчанию функция WFP всегда активизирована и позволяет выполнять замену системных файлов только в случае установки следующих видов программного обеспечения:
сервисных пакетов Windows 2000/XP и Windows Server 2003 (с использованием программы Update.exe);
дистрибутивных пакетов типа Hotfix (с использованием Hotfix.exe);
обновлений версии операционной системы (с помощью Winnt32.exe);
программного обеспечения с сайта Windows Update.
Непосредственное редактирование реестра, даже в тех случаях, когда оно необходимо, при условии неумелого выполнения может привести к большим неприятностям. Поэтому, если вы чувствуете себя неуверенно или просто не можете позволить себе затратить значительное время для проведения восстановительных работ, не ставьте смелых экспериментов над реестром своей операционной системы (будь то Windows NT 4.0/Windows 2000, Windows XP или Windows Server 2003). Вполне возможно, что единственная ошибка приведет к необходимости переустановки операционной системы.
Для выполнения задач по конфигурированию системы, по мере возможности, рекомендуется использовать административные утилиты, т. к. их применение всегда предпочтительнее непосредственного редактирования реестра. Этот метод намного безопаснее, поскольку административные средства не позволяют сохранять в реестре некорректные значения. Если в процессе редактирования реестра будет допущена ошибка, то некорректное значение будет сохранено без предупреждения.
В Windows NT/2000/XP и Windows Server 2003 элементы реестра хранятся в виде атомарной структуры. Реестр подразделяется на составные части, которые разработчики этой операционной системы назвали ульями (hives) по аналогии с ячеистой структурой пчелиного улья. Улей представляет собой дискретную совокупность ключей, вложенных ключей и параметров, берущую начало в вершине иерархии реестра. Отличие ульев от других групп ключей состоит в том, что они являются постоянными компонентами реестра. Ульи не создаются динамически при загрузке операционной системы и не удаляются при ее остановке. Таким образом, ключ HKEY_LOCAL_MACHiNE\Hardware, который строится динамически распознавателем аппаратных средств при запуске операционной системы, ульем не является.
Данные ульев реестра хранятся в файлах, которые находятся в каталогах %SystemRoot%\system32\Config и %SystemRoot'%\Profiles\%Username% (Windows NT 4.0) и %SystemRoot%\system32\Config, и %SystemDrive%\ Documents and Settings\%Username% (Windows 2000, Windows XP и Windows Server 2003).
Каждый улей реестра ассоциирован с набором стандартных файлов. В табл. 24.3 перечислены стандартные ульи реестра Windows NT/2000/XP и Windows Server 2003 и поддерживающие их файлы.
Таблица 24.3. Стандартные файлы, обеспечивающие поддержку ульев реестра Windows NT/2000/XP и Windows Server 2003
Ветвь реестра | Имена файлов | ||
НКЕ Y_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.log, Userdifr***, Userdifr.log*** | ||
HKEY_CURRENT_USER | Ntuser.dat, Ntuser.dat.log |
* Файлы, появляющиеся в системе лишь при определенных обстоятельствах.
Тип файла |
Описание |
Без расширения имени файла |
Содержит копию улья |
ALT* |
Содержит резервную копию жизненно важного улья HKEY LOCAL MACHlNE\System. Только ключ System имеет соответствующий файл с расширением alt. Файлы ульев с таким расширением существуют только в Windows NT/2000. В Windows XP и Windows Server 2003 они больше не используются вследствие того, что в этой операционной системе для хранения и доступа к реестру применяются усовершенствованные алгоритмы |
LOG |
Содержит журнал транзакций, в котором регистрируются все изменения, внесенные в ключи и значимые элементы улья |
SAV |
Содержит копии файлов улья в том виде, который они имели на момент завершения текстовой фазы процесса установки. Файлы с расширением sav появляются для ключей Software, System, SAM, Security И Default. Подобно Windows NT/2000/XP, Windows Server 2003 выполняет резервное копирование содержимого ульев в процессе инсталляции. Процедура инсталляции состоит из двух стадий: стадии текстового режима и стадии графического режима. Когда установка в текстовом режиме завершается, выполняется копирование ульев в файлы с расширением sav. Это делается для того, чтобы защитить ульи от ошибок, которые могут произойти в случае сбоя на графической стадии установки. Если процедура установки даст сбой на графической стадии, то после перезагрузки компьютера будет производиться повтор только графической стадии установки. SAV-файлы используются для перестройки ульев реестра |
Окно редактора реестра Regedit.exe состоит из четырех основных областей (рис. 24.3).
Строка меню. В этой строке содержатся основные пункты меню: File, Edit, View, Favorites (этот пункт меню впервые был введен в Windows 2000) и Help.
Левая панель (левое подокно). Отображает иерархию реестра, организованную в виде ключей (в литературе они часто обозначаются термином "разделы") и вложенных ключей (другие часто встречающиеся термины — "подключи" или "подразделы").
Правая панель (правое подокно). Показывает текущие параметры выбранного ключа реестра, известные также как значимые элементы (value entires). Каждый параметр реестра характеризуется именем, отображаемым в столбце Name правой панели, типом данных, отображаемым в столбце Туре (на тип данных указывает и небольшой значок, расположенный чуть левее имени), и значением, отображаемым в столбце Data.
Строка состояния. Строка состояния указывает путь к выбранному элементу реестра. Она нужна, чтобы отображать полный путь к ключу реестра, в составе которого содержится выделенный параметр.
Рис. 24.3. Окно редактора реестра Regedit.exe с обозначением основных областей
В окне редактора реестра Registry Editor отображаются ключи только верхнего уровня иерархии реестра, ответвляющиеся от значка My Computer. Это — имена корневых ключей, базовая информация о которых была приведена в начале этой главы.
Если выполнить щелчок мышью, указав курсором на значок [+], расположенный левее значка любой из папок, то развернется соответствующий ключ, в котором отобразится иерархия содержащихся в его составе вложенных ключей. Эта операция разворачивает дерево ключа реестра до следующего уровня вложенности и во многом напоминает аналогичную операцию раскрытия папок и вложенных папок в Explorer.
Если в составе вложенных ключей имеются другие вложенные ключи, то слева от них тоже будут находиться значки [+], которые можно в свою очередь развернуть для просмотра следующего уровня иерархии. Этот послойный метод организации реестра известен под названием вложения (nesting) и допускает множество уровней.
Клавиша |
Действие |
<+> |
Разворачивает выбранный ключ на один уровень, показывая вложенные подключи |
<- > |
Сворачивает выбранный ключ на один уровень |
вверх |
Перемещает вверх к следующему ключу |
вниз |
Перемещает вниз к следующему ключу |
<- >> |
Разворачивает выделенный ключ на один уровень, показывая его подключи; если подключен нет, то перемещает вниз к следующему ключу |
<<-> |
Сворачивает выделенный ключ, если он был развернут; в противном случае перемещает вверх к следующему ключу |
<Таb> |
Перемещает в другое подокно окна Registry Editor |
Тип данных |
Описание |
Большинство операционных систем Windows имеет в своем составе утилиты, предназначенные для просмотра и редактирования реестра, так называемые редакторы реестра. В Windows NT/2000 существует два таких редактора. Традиционная программа редактирования реестра Windows NT носит название Regedt32.exe. Эта программа наследуется от предыдущих версий Windows NT и позволяет редактировать реестр Windows NT/2000 с помощью методов, которые не поддерживаются в Windows 9x/ME. Более новая программа, Regedit.exe, была первоначально написана для Windows 95. Она обладает многими из возможностей Regedt32.exe и снабжена интерфейсом Windows Explorer. Версия Regedit.exe, которая имеется в составе Windows NT/2000, почти полностью идентична аналогичному приложению, имеющемуся в составе Windows 9x/ME. По сравнению с Windows NT/2000, Windows XP и продукты из семейства Windows Server 2003 и в этой области предлагают усовершенствование. Теперь все задачи по редактированию реестра могут выполняться только с помощью редактора реестра Regedit.exe, который в дополнение к своим традиционным возможностям предоставляет и все функции, которые ранее были доступны только через редактор Regedt32.exe (установка разрешений на доступ к ключам реестра, импорт и экспорт поддеревьев реестра и др.).
Стоит, правда, отметить и то, что Regedit.exe в Windows XP и Windows Server 2003 не реализует одной, но очень важной функции, которая была присуща Regedt.32.exe. Речь идет о возможности использования редактора реестра в режиме "только для чтения". Этот режим позволяет защитить реестр от случайных непреднамеренных изменений в процессе его просмотра и знакомства с его структурой. Именно наличие команды Read Only Mode в меню Options и делало Regedt32.exe предпочтительным средством, с помощью которого новички могли безбоязненно начинать знакомство со структурой реестра.
Команда Modify (Изменить) используется для изменения данных, содержащихся в составе параметров реестра. Эта опция будет доступна только в том случае, если выбрать один из параметров, перечисленных в правой панели окна Registry Editor. Команда Modify Binary Data (Изменить двоичные данные) позволяет редактировать любые данные (в том числе и данные других форматов) в окне двоичного редактора. Эта команда также будет доступна только в том случае, если выбран один из параметров реестра, перечисленных в правой панели окна редактора реестра.
Команда New (Создать) позволяет добавлять в реестр новые ключи и параметры строковых типов, двоичные параметры и параметры типа REG_DWORD (рис. 24.5). Выбирать тип параметра можно в подменю New в контекстном меню, раскрывающемся по нажатию правой кнопки мыши на выбранном ключе.
Рис. 24.5. Команда New позволяет добавлять в реестр новые ключи, а также строковые и двоичные параметры
Опции Rename (Переименовать) и Delete (Удалить) меню Edit позволяют, соответственно, переименовать или удалить значимый элемент реестра. Удалить значимый элемент можно и другим способом: выделите нужный элемент, выполнив на нем щелчок мышью, а затем нажмите клавишу <Del>. Аналогичным образом, для быстрого переименования значимого элемента можно указать на него курсором, выполнить щелчок правой кнопкой мыши, выбрать из контекстного меню команду Rename и ввести новое имя.
Удаление параметров и ключей реестра с помощью утилиты Regedit — это необратимая операция. Regedit не имеет команды Undo, поэтому при удалении параметров и ключей следует соблюдать осторожность.
Команда Copy Key Name (Копировать имя раздела) позволяет скопировать в буфер обмена имя ключа, выделенного на текущий момент. Впоследствии скопированное имя можно вставить в любой текст с помощью команды Paste (Вставить), имеющейся в любом текстовом редакторе. Поскольку реестр представляет собой сложную иерархическую базу данных, пути к нужному элементу могут оказаться очень длинными и сложными для запоминания. Поэтому многие по достоинству оценили удобство этой функции. Команду Copy Key Name очень удобно использовать в сочетании с командами Find и Find Next.
Тип доступа |
Описание |
Read |
Позволяет пользователям, внесенным в список Permissions, просматривать содержимое ключа реестра, не позволяя сохранять изменения |
Full Control |
Позволяет пользователям, внесенным в список Permissions, получать доступ к ключу, редактировать его содержимое и изменять к нему уровень прав доступа |
Special Permissions |
Предоставляет пользователям, внесенным в список Permissions, индивидуально назначаемые комбинации прав доступа и редактирования к избранному ключу. Подробное описание типов и комбинаций Special Permissions можно найти далее в этой главе |
Флажок |
Назначаемые права |
Query Value |
Дает право чтения значимых элементов из ключа реестра |
Set Value |
Дает право установить значимый элемент в ключе реестра |
Create Subkey |
Дает право создавать подключи в выбранном ключе реестра |
Enumerate Subkey |
Дает право идентифицировать подключи выбранного ключа реестра |
Notify |
Дает право установить аудит на ключи реестра |
Create Link |
Дает право создавать символические ссылки в конкретном подключе реестра |
Delete |
Дает право удаления выделенного ключа |
Write DAC |
Дает право получать доступ к ключу и создавать/модифицировать для него список контроля доступа (Access Control List, ACL) |
Write Owner |
Дает право присвоения прав владельца данного ключа |
Read Control |
Дает право просматривать параметры безопасности, установленные для данного ключа |
Команда Import (Импорт) позволяет импортировать в реестр предварительно экспортированные REG-файлы и файлы ульев реестра.
Команда Export (Экспорт) позволяет сохранить весь реестр или его часть в виде REG-файла или файла другого типа, например, файла улья реестра или текстового файла формата ASCII.
Чтобы экспортировать ветвь реестра, выполните следующие действия:
1. Выделите ветвь реестра, затем выберите в меню File (Файл) команду Export.
2. В поле File name открывшегося диалогового окна Export Registry File (рис. 24.4) введите имя файла. По умолчанию файлу будет присвоено расширение reg. Чтобы сохранить экспортируемый файл в другом формате, выберите нужную опцию из списка Save as type, расположенного непосредственно под полем File name. Обратите внимание, что, несмотря на все внешнее сходство, утилиты Regedit.exe, поставляемые в составе Windows 9x, Windows NT 4.0, Windows 2000, Windows XP и Windows Server 2003, представляют собой разные версии этого приложения. Поэтому версия Regedit.exe из Windows XP или Windows Server 2003 позволяет сохранять экспортированные файлы реестра как в формате Windows XP/ Windows Server 2003 (для этой цели служит опция Registration Files (*.reg)), так и в формате файлов реестра Windows 9x/NT 4 (для этой цели служит опция Win9x/NT 4 Registration Files (*.reg)).
Рис. 24.4. Диалоговое окно Export Registry File
3. Если требуется сохранить часть реестра, выбирайте опцию сохранения только выделенной ветви реестра. Для этого установите переключатель Selected branch из группы Export range. Однако, если вы часто модифицируете реестр, то экспорт всего реестра целиком — неплохая идея. Это даст вам дополнительные гарантии восстановления в случае ошибки.
4. Нажмите кнопку Save.
Сохраненный файл можно просмотреть в текстовом редакторе, чтобы убедиться в правильности сохранения. Экспортированные файлы реестра содержат текст ASCII без каких-либо символов форматирования.
Нужно помнить, что файлы с расширением гед по умолчанию ассоциированы с приложением Regedit.exe. По умолчанию над такими файлами выполняется операция merge (слияние), которая импортирует содержимое данного файла в реестр. Чтобы избежать случайного импорта в реестр экспортированного файла, будьте внимательны и осторожны при обращении с такого рода файлами.
Команда Status Bar (Строка состояния) меню View (Вид) позволяет при желании отключить строку состояния. Поскольку строка состояния помогает быстрее ориентироваться в реестре, отображая путь к текущему ключу, ее рекомендуется постоянно держать включенной.
Опция Split (Разделить) перемещает курсор мыши на разделитель левой и правой частей окна Registry Editor, после чего остается только переместить мышь влево или вправо, чтобы найти удобную позицию для разделителя, и выполнить щелчок левой кнопкой мыши.
Команда Display Binary Data (Вывод двоичных данных) из меню View, впервые появившаяся в Windows XP, становится доступной только после того, как вы выберете один из параметров реестра, отображаемых в правой панели окна Registry Editor. Эта команда позволяет вам просматривать значение параметра, используя один из следующих трех форматов: Byte, Word или Dword (рис. 24.9). Обратите внимание, что эта команда не позволяет вам выполнять редактирование данных (если вам требуется выполнить именно эту операцию, следует выбрать команду Modify Binary Data из меню Edit).
В меню View имеется еще одна команда — Refresh (Обновить). При внесении изменений в реестр не все они могут отображаться в окне редактора реестра немедленно после внесения модификации. Обновить окно Registry Editor можно с помощью команды Refresh или нажатием клавиши <F5>.
Как правило, в Windows NT 4.0 многие изменения (в том числе и внесенные путем редактирования реестра) входят в силу только после перезагрузки системы. В Windows 2000 впервые (для операционных систем Windows NT) была введена полноценная поддержка Plug and Play, которая была расширена и усе-
вершенствована в Windows XP и Windows Server 2003. Поэтому перезагрузок потребуется меньше. Тем не менее, ряд модификаций все же входят в силу только после перезагрузки операционной системы.
Рис. 24.9. Окно Binary Data позволяет просматривать значение выбранного параметра реестра в одном из трех возможных форматов — Byte, Word или Dword
Одним из полезных новшеств, впервые появившихся в Windows 2000, является то, что пункт меню Favorites (Избранное) присутствует теперь повсюду, и редактор реестра Regedit.exe — не исключение (рис. 24.10).
Все, кто часто выполняет поиск ключей и значимых элементов в реестре, а также интенсивно занимается его редактированием, по достоинству оценят эту удобную функциональную возможность. С помощью меню Favorites можно создать список наиболее часто редактируемых ключей реестра (и не повторять затем громоздкую процедуру поиска).
Чтобы добавить ключ реестра в список Favorites, проделайте следующее:
1. Выделите ключ реестра, который требуется добавить в список Favorites.
2. В меню Favorites выберите команду Add to Favorites (Добавить в избранное).
3. В раскрывшемся диалоговом окне Add to Favorites (рис. 24.11) согласитесь с именем ключа, предложенным по умолчанию, или введите новое имя в поле Favorite name. Нажмите кнопку ОК, и ключ появится в списке Favorites.
Теперь вы в любой момент сможете быстро перейти к нужному ключу, выбрав его имя из списка Favorites. Удалить ключ реестра из списка Favorites очень просто — для этого достаточно выбрать в меню Favorites команду Remove Favorite (Удалить из избранного), а затем в раскрывшемся диалоговом окне выделить ключ, который требуется удалить из списка Favorites, и нажать кнопку ОК.
Рис. 24.10. С выходом Windows 2000 в Regedit появился пункт меню Favorites
Рис. 24.11. Диалоговое окно Add to Favorites
Реестр пришел на смену конфигурационным файлам (INI-файлам) и призван был снять неудобства и ограничения, связанные с их использованием. В виде, более или менее напоминающем его нынешнюю структуру, реестр появился в Windows NT 3.5 (тогда он имел 4 корневых ключа: HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT и HKEY_USERS). Новый компонент операционной системы был предназначен для того, чтобы заменить собой многочисленные инициализационные и установочные файлы, разбросанные по различным каталогам на жестком диске и сетевом сервере. Эти файлы требовались для обеспечения корректной работы операционной системы, приложений и аппаратных устройств, но управление ими было задачей сложной, трудоемкой и неудобной. Реестр как централизованная база данных представляет собой источник конфигурационной информации, где все параметры сведены воедино, что обеспечивает возможность эффективного управления операционной системой.
Перечисление компонентов Windows Server 2003, использующих реестр, и краткое описание их взаимодействия с этой базой данных приведено ниже.
Программы установки (Setup). Каждый раз при запуске программы Setup или других установочных программ (для аппаратных и программных средств) происходит добавление в реестр новых конфигурационных данных. Начиная свою работу, все грамотно разработанные программы уста-новки считывают информацию реестра, чтобы определить, присутствуют ли в системе компоненты, обязательные для успешного завершения установки. Наконец, централизованный реестр позволяет приложениям совместно использовать конфигурационную информацию и предоставляет им больше возможностей взаимодействия между собой. Чтобы приложение могло получить статус "Designed for Windows", оно должно активно и правильно использовать реестр, а также содержать утилиту, позволяющую корректно выполнить удаление этого приложения (uninstall utility), не удаляя компонентов, которые могут использоваться другими программами (.dll, .ocx и т. д.). Эта утилита использует информацию, хранящуюся в реестре.
Теперь, после рассмотрения общих концепций реестра и его усовершенствований, введенных с выходом Windows XP и Windows Server 2003, средств и методов его редактирования, резервного копирования и восстановления, рассмотрим пару примеров настройки и конфигурирования Windows, а также решения проблем и устранения неполадок с помощью редактирования реестра. Цель этих примеров — продемонстрировать на практике методы модификации системного реестра, рассмотренные в предыдущих разделах данной главы.
Стоит также отметить, что некоторые из приведенных методов специфичны для Windows Server 2003, в то время как некоторые другие применимы также и к Windows NT/2000.
Утилита Add/Remove Programs на панели управления предназначена для установки, удаления или модификации приложений, установленных в Windows. В Windows XP и Windows Server 2003 эта программа-мастер обладает существенно улучшенным и интуитивно понятным пользовательским интерфейсом (рис. 24.12).
Рис. 24.12.Окно Add or Remove Programs
Однако, несмотря на все улучшения, в работе этого мастера могут возникать неполадки, вызванные некорректно или не полностью удаленными приложениями. В частности, если одно из приложений удалено некорректно, то ссылка на него по-прежнему будет фигурировать в списке Currently installed programs. При этом любая попытка воспользоваться мастером установки и удаления приложений (путем нажатия на кнопку Change/Remove) будет приводить к появлению сообщений об ошибке, информирующих пользователя об отсутствии файлов, требующихся для корректного удаления приложения и невозможности завершить процедуру удаления. Несуществующие приложения по-прежнему останутся в списке. Возникновение данной проблемы возможно как в Windows 9x/ME, так и в Windows NT/2000/XP и Windows Server 2003.
Чтобы устранить эту проблему и удалить несуществующие приложения из списка установленных программ, проделайте следующее:
1. Запустите редактор реестра (Regedit.exe) и раскройте ключ HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows\CurrentVersion\Uninstall.
2. В составе этого ключа найдите вложенный ключ, соответствующий приложению, которое требуется удалить из списка установленных программ. Если наименование программы не следует с очевидностью из имени вложенного ключа, просмотрите содержимое всех вложенных ключей списка. В составе каждого из вложенных ключей имеется параметр DispiayName, значение которого представляет собой строки, отображаемые мастером установки и удаления программ.
3. Обнаружив ключ, в составе которого имеется параметр DispiayName, задающий имя приложения, которое должно быть удалено из списка установленных программ, удалите этот ключ вместе со всем его содержимым.
Никогда не удаляйте ключ Uninstall целиком!
4. Закройте редактор реестра и убедитесь в том, что мастер установки и удаления программ больше не отображает несуществующего приложения.
Действуя в соответствии с этой рекомендацией, вы удалите из реестра только ссылку на несуществующее приложение, отображаемую мастером установки и удаления программ. Несмотря на это, существует вероятность того, что некоторые из файлов некорректно удаленного приложения все же останутся в системе. Чтобы полностью удалить такое приложение, вам необходимо удалить из системы все его файлы и все параметры реестра, относящиеся к этому приложению.
Сразу же следует сказать, что в Windows XP и Windows Server 2003 появление "Синего экрана смерти" (Blue Screen of Death, BSOD) стало гораздо более редким событием, нежели в Windows NT/2000. Как правило, теперь Windows корректно обрабатывает многие ситуации, которые в предыдущих версиях могли вызвать такого рода сбой.
Однако, если вы хотите в ознакомительных целях посмотреть, что же представляет собой пресловутый "Синий экран" (который более подробно будет рассмотрен в следующей главе), вы можете это сделать путем несложного редактирования реестра. Данный совет применим как к Windows 2000/XP, так и к операционным системам из семейства Windows Server 2003. Дело в том, что все перечисленные операционные системы имеют возможность искусственной генерации ошибки ядра (сообщения STOP) с последующим созданием аварийного дампа памяти (Memory.dmp). Экран сообщения STOP, который при этом появится, будет содержать следующее сообщение:
*** STOP: 0x000000E2 (0x00000000,0x00000000,0x00000000,0x00000000)
The end-user manually generated the crashdump.
По умолчанию эта функция блокирована. Для ее активизации следует открыть реестр, найти ключ HKEY_LOCAL_MACHINE \SYSTEM\CurrentcontrolSet\ Services\i8042prt\Parameters, добавить В его состав параметр CrashOnCtrlScroll(тип данных REG_DWORD) и установить его равным 1.
После перезагрузки вы сможете вручную создать аварийный дамп и посмотреть на "синий экран". Для этого нажмите правую клавишу <Ctrl> и, удерживая ее в этом состоянии, дважды нажмите клавишу <Scroll Lock>
Если вы регулярно выполняете резервное копирование вашей системы, то уже наверняка заметили, что встроенная программа Backup, имеющаяся в составе Windows 2000, Windows XP и Windows Server 2003, исключает из резервного копирования целый ряд файлов. Чтобы просмотреть список этих файлов, запустите программу Backup, затем выберите команду Options из меню Tools и перейдите на вкладку Exclude Files (Исключить файлы) (рис. 24.13).
В обычных условиях, вероятнее всего, эти файлы действительно должны быть исключены из процессов резервного копирования и восстановления. Однако возможны и такие ситуации, когда системный администратор захочет включить эти файлы в процедуры резервного копирования и восстановления системы.
Все файлы, которые по умолчанию исключаются из процедур резервного копирования и восстановления, перечислены под следующим ключом реестра: HKLM\SYSTEM\CurrentControlSet\Control\ BackupRestore\FilesNotToBackup (рис. 24.14).
Несмотря на то, что на вкладке Exclude Files окна Options программы Backup пользователю предоставляется возможность редактирования списка файлов, исключаемых из процессов резервного копирования и восстановления, внесенные изменения будут действовать только применительно к тому пользователю, от имени которого вы зарегистрировались в системе (т. е. они будут записаны в реестре под ключом HKEY_CURRENTJJSER).
Рис. 24.13. Вкладка Exclude Files окна Options встроенной программы Backup
Рис. 24.14. Содержимое ключа HKLM\SYSTEM\CurrentControlSet\Control\ BackupRestore\FilesNotToBackup
Таким образом, если вам требуется отредактировать этот список файлов таким образом, чтобы изменения действовали в масштабах всей системы, вам не избежать ручного редактирования реестра.
Параметры, которые по умолчанию находятся в составе ключа FilesNotToBackup (все они имеют тип данных REG_MULTI_SZ), перечислены в табл. 24.9.
Таблица 24.9. Список параметров реестра ключа FilesNotToBackup
Параметр | Значение | ||
ASR error file* | %SystemRoot%\repair\asr.err | ||
ASR log file* | %SystemRootf%\repair\asr.log | ||
Catalog database* | %SystemRoot%\sysiem32\CatRoot2\ * /s | ||
Client Side Cache | %SystemRoot%\csc\* /s | ||
ComPlus | %SystemRoot/%\Registration\*.crrnlog /s | ||
Digital Rights Management (DRM) folder* | %SystemDrive%\Documer\te and SettingsW/ l/sers\DRM\* /s | ||
Internet Explorer | %UserProfile%\mdex.dai /s | ||
Memory Page File | \Pagefile.sys | ||
Microsoft Writer (Bootable state)* | %SystemRoot%\Registration\*.clb \ *. crmlog /s | ||
Microsoft Writer (Service state)* | %SystemRoot%\system32\NtmsData\* | ||
MS Distributed Transaction | %SystemRoot%\system32\DTCLog\MSDTC.LOG | ||
Netlogon* | %SystemRoot%\netlogon.chg | ||
NTDS** | %SystemRoot%\NTDS\* | ||
NtFrs | %SystemRoot%\ntf rs\jet\* /s %SystemRoot%\debug\NtFrs* %SystemRoot%\sysvol\domain \DO_NOT_REMOVE_NtFrs_Prelnstall_Directory\*/s %SystemRoot%\sysvol\domain \NtFrs_PreExisting __ See_EventLog\* /s %SystemRoot%\sysvol\staging\domain\NTFRS_* | ||
Power Management | \hiberfil.sys | ||
Registry Writer** | %SystemRoot%\system32\NtmsData\* | ||
Task Scheduler** | %SystemRoot%\Jasks\sc hed Ig u . txt | ||
Temporary Files | %TEMP%\* /s | ||
VSS Default Provider* | \System Volume lnformation\*{3808876B-C176-4e48-B7AE-04046E6CC752} /s | ||
VSS Service Alternate DB** | \System Volume lnformation\*.{7cc467ef-6865-4831-853f-2a4817fd1bca}ALT | ||
VSS Service DB** | \System Volume lnformation\*.{7cc467ef-6865-4831-853f-2a4817fd1bca}DB | ||
Winlogon debug** | %W//VD/R%\debug\* |
Параметр |
Значение |
Active Directory Restore |
CurrentControlSet\Services\NTDS\Restore In Progress \CurrentControlSet\Services\NTDS\Parameters \New Database QUID |
ASR Information |
CurrentControlSet\Control\ASR\ |
Fault Tolerance |
Disk\ |
Installed Services |
CurrentControlSet\Services\* |
LDM Boot Information |
CurrentControlSet\Services\dmio\boot info\ |
LDM Boot Information (dmboot) |
CurrentControlSet\Services\dmboot\ |
Mount Manager |
Мои nted Devices\ |
NtFrs |
CurrentControlSet\Services\NtFrs\Parameters\Backup/Re store\Process at Startup\ |
Pending Rename Operations |
CurrentControlSet\Control\Session Man-ager\PendingFileRenameOperations |
Plug and Play |
CurrentControlSet\Enum\CurrentControlSet \Control\CriticalDeviceDatabase\ |
Removable Storage Manager |
CurrenlControlSet\Control\NTMS\lrnporlDatabase |
Session Manager |
CurrentControlSet\Control\Session |
Windows Setup |
Setup\SystemPartition |
Большинство опытных пользователей и администраторов оценили новую весьма полезную возможность квотирования дискового пространства, появившуюся впервые в составе Windows 2000 и, безусловно, присутствующую в Windows XP и Windows Server 2003. События, связанные с квотированием дискового пространства, могут регистрироваться в системном журнале, и вкладка Quota (Квота) окна свойств диска NTFS предоставляет простейшие опции для конфигурирования режима регистрации этих событий (рис. 24.17).
По умолчанию регистрация событий, связанных с квотированием дискового пространства, происходит асинхронно (один раз в час). Если вы хотите, чтобы система регистрировала такие события немедленно после того, как пользователь превысит пороговое значение, раскройте редактор реестра, найдите ключ HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ Filesystem и создайте параметр NtfsQuotaNotifyRate (тип данных REG_DWORD). Задайте для этого параметра значение, соответствующее требуемой частоте регистрации событий квотирования в системном журнале (временной интервал в секундах).
Рис. 24.17. Вкладка Quota окна свойств раздела NTFS
Большинство вирусов, "червей" и "троянских коней" регистрируют свою информацию в системном реестре с тем, чтобы автоматически стартовать при загрузке операционной системы. Список излюбленных ключей, которые чаще всего используются в этих целях, приведен ниже:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\Run
HKEY__LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\RunServicesOnce
HKEYJJSERS\DEFAULT\SOFTWARE\Microsoft\ Windows\CurrentVersion\Run
HKEY_CURRENT_USER\SOFTWARE\Microsoft\ Windows\CurrentVersion\Run
HKEY_CURRENT_USER\SOFTWARE\Microsoft\ Windows\CurrentVersion\RunServices
HKEY_CURRENT_USER\SOFTWARE\Microsoft\ Windows\CurrentVersion\RunOnce
HKEY_CURRENT_USER\SOFTWARE\Microsoft\ Windows\CurrentVersion\RunServicesOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\RunOnceEx
Поэтому, если вы подозреваете такого рода атаку на свой компьютер, эти ключи реестра необходимо проверить в первую очередь. Более того, список таких ключей реестра постоянно пополняется. За последнее время, помимо традиционного списка ключей, приведенного выше, в него были включены и следующие ключи реестра:
HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths
HKLM\Software\Microsoft\Windows\CurrentVersion\Controls Folder
HKLM\Software\Microsoft\Windows\CurrentVersion\DeleteFiles
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer
HKLM\Software\Microsoft\Windows\CurrentVersion\Extensions
HKLM\Software\Microsoft\Windows\CurrentVersion\ExtShellViews
HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings
НКM\Software\Microsoft\Windows\CurrentVersion\ModuleUsage
HKLM\Software\Microsoft\Windows\CurrentVersion\RenameFiles
HKLM\Software\Microsoft\Windows\CurrentVersion\Setup
Атаки типа "отказ в обслуживании" (Denial of Service, DoS-attacks) и особенно распределенные атаки (Distributed Denial of Service, DDoS) за последние несколько лет начали представлять собой одну из наиболее серьезных угроз безопасности сетей любого масштаба. При этом количество таких атак с каждым годом растет, и теперь уже практически никто не может считать себя полностью от них застрахованным. Подобно рекомендациям, рассмотренным в предыдущем разделе, советы, приведенные здесь, не дадут полной гарантии защиты от атак сервера DNS. Однако они послужат хорошим дополнением к принимаемым вами мерам защиты.
Перед тем как вносить описанные ниже изменения в конфигурацию сервера, используемого в производственном процессе, рекомендуется испытать их в лабораторных условиях.
Все параметры реестра, описанные в данном разделе, находятся под ключом реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\ Parameters (рис. 24.18).
Краткие описания этих параметров и рекомендуемые значения приведены ниже.
EnableDeadcwDetect (тип данных REG_DWORD). Значение по умолчанию позволяет TCP/IP переключаться на дополнительный шлюз в том случае, когда большое количество соединений начинает испытывать проблемы. Такое поведение нежелательно в случае DoS-атак, поскольку в этом случае трафик может быть перенаправлен на шлюз, который не является объектом постоянного мониторинга. Поэтому установите для данного параметра значение 0.
Рис. 24.18. Ключ реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
EnablePMTUDiscovery (тип данных REG_DWORD). Значение, по умолчанию устанавливаемое для данного параметра, позволяет TCP/IP определять максимальный размер передаваемого фрагмента (maximum transmission unit, MTU), который может быть передан системе. В принципе, это опасно, поскольку дает возможность обойти систему защиты или вывести ее из строя путем передачи фрагментированного трафика (например, многие системы обнаружения атак не умеют правильно восстанавливать фрагментированные IP-пакеты). Если для этого параметра установить значение 0, то MTU всегда будет установлено на значение 576 байт.
Некоторые программы могут временно хранить пароли и другую конфиденциальную информацию в памяти в незашифрованном виде. Поскольку Windows периодически сбрасывает эту информацию на диск, она может присутствовать в файле подкачки (Pagefile.sys), что представляет собой потенциальную угрозу безопасности системы. Таким образом, пользователи, обеспокоенные безопасностью системы, наверняка захотят сконфигурировать ее таким образом, чтобы при останове происходила очистка файла подкачки.
Эта рекомендация универсальна и применима ко всем версиям Windows NT (начиная с NT 3.51 и заканчивая продуктами из семейства Windows Server 2003). Обратите внимание на то, что очистка файла подкачки при останове системы не является заменой физической безопасности компьютера. Однако она поможет обезопасить вашу конфиденциальную информацию, когда операционная система не загружена (например, компьютер загружен под управлением альтернативной ОС).
Чтобы сконфигурировать Windows для очистки файла подкачки при останове, проделайте следующее:
1. Для Windows XP и Windows Server 2003 запустите редактор реестра Regedit.exe. Для выполнения той же задачи в Windows NT/2000, запустите Regedt32.exe.
2. Найдите ключ реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ Session Manager\Memory Management
3. Создайте параметр ClearPageFileAtshutdown (тип данных — REG_DWORD) и установите его значение равным 1.
Чтобы внесенное изменение вошло в силу, перезагрузите компьютер.
В ряде случаев во время останова системы вы можете столкнуться с ситуацией, когда одно из приложений перестает реагировать на системные сообщения (рис. 24.19). Что еще хуже, если такая ситуация возникает постоянно, она будет препятствовать нормальному и корректному останову системы. Причина проблемы заключается в том, что при останове Windows каждому из работающих процессов отводится определенный интервал времени, в течение которого он должен корректно завершить свою работу. Если процесс этого сделать не успевает, на экране появляется приведенное на иллюстрации диалоговое окно.
Рис. 24.19. Процесс, не укладывающийся в отведенный временной интервал, препятствует корректному останову Windows
Чтобы устранить эту проблему, следует модифицировать значение параметра WaitToKillAppTimeout под следующим ключом реестра: HKEY_CURRENT_USER\Control Panel\Desktop
Значение указывается в миллисекундах. Увеличьте этот интервал (в разумных пределах) и перезагрузите систему, чтобы внесенное изменение вошло в силу.
Как правило, этот интервал не рекомендуется увеличивать слишком сильно, поскольку в случае сбоя в подаче питания UPS может оказаться не в состоянии подавать резервное питание достаточно долго для того, чтобы обеспечить корректный останов ОС.
Одним из основных недостатков INI-файлов, использовавшихся для управления конфигурацией системы и приложений до введения реестра, являлась проблема, вызванная ограничением по размеру файла Win.ini, использовавшегося в ранних версиях Windows для хранения параметров настройки всех установленных в системе приложений. Каждое вновь устанавливаемое приложение вносило свои параметры в этот файл, вследствие чего он очень быстро рос. Когда размер файла Win.ini превышал установленное ограничение (не более 64 Кбайт), добавление новых записей в его состав создавало проблему, поскольку все дальнейшие изменения, вносимые в последние разделы этого файла (за пределами инициализационной границы), игнорировались.
Казалось, что с введением концепции реестра эта проблема была решена. Однако реестр, при всей своей прогрессивности, все же остался ограниченным по объему (на практике, его размер ограничивался до 80% от объема нерезидентного пула памяти). Поэтому проблема снова начала возникать с появлением приложений, интенсивно использующих реестр (к их числу относятся, например, СОМ и терминальные сервисы). При установке в системе таких приложений значительный объем нерезидентного пула поглощался реестром, оставляя слишком малый объем адресного пространства для других приложений, работающих в режиме ядра. В Windows NT/2000 для решения этой проблемы применяется ограничение по размеру реестра, т. е. существует возможность установить ограничение на размер, до которого может разрастаться реестр.
В отличие от Windows NT/2000, в Windows XP и Windows Server 2003 ограничение по размеру реестра практически снято. Код реестра был переработан таким образом, чтобы переместить реестр из нерезидентного пула и передать управление им диспетчеру кэша. Эта новая реализация позволяет реестру разрастаться до существенно больших размеров, нежели в предыдущих версиях, и фактически ограничивает его размеры только объемом доступного дискового пространства. Таким образом, ни в Windows XP, ни в Windows Server 2003 вы больше не найдете опции, позволяющей задать ограничение по размеру реестра.
Как и в предыдущих версиях операционных систем из семейства Windows (включая Windows 9x/ME и Windows NT/2000/XP), реестр Windows Server 2003 представляет собой централизованную базу данных параметров настройки системы и работающих в ней приложений. В этом смысле реестр аналогичен разнообразным INI-файлам, а также файлам autoexec.bat и config.sys, которые использовались ранее. Реестр содержит информацию обо всех аппаратных средствах, программном обеспечении, операционной системе и сетевых параметрах компьютера. Эта сложная иерархическая база данных принимает участие во всех аспектах работы Windows. Хорошее понимание принципов работы реестра, выполняемых им задач, а также умение манипулировать реестром необходимо всем: системным и сетевым администраторам, специалистам из групп технической поддержки, а также опытным пользователям из числа программистов. Кроме того, для системных администраторов особенно важны вопросы администрирования и защиты реестра, а также его резервного копирования и восстановления.
Как и в предыдущих системах, в Windows Server 2003 реестр также играет ключевую роль в управлении системной конфигурацией и представляет собой централизованное хранилище всей информации об аппаратных средствах, операционной системе и установленных приложениях, а также данных, управляющих пользовательской средой. Реестр по-прежнему хранится на диске в виде файлов ульев, в состав которых внесены лишь незначительные изменения. Однако в код реестра Windows XP/Windows Server 2003 были внесены изменения, направленные на повышение производительности системы за счет ускорения доступа к реестру и на снятие ограничений по размеру реестра, существовавших во всех предыдущих версиях, включая Windows 2000. Усовершенствования, внесенные в реестр, будут подчеркиваться далее по ходу изложения материала данной главы.
Как было показано в главе 3 "Загрузка операционной системы", реестр становится необходимым уже на начальных этапах загрузки Windows. Проблемы при загрузке могут быть вызваны, в том числе, и повреждением реестра. Например, многие пользователи Windows NT/2000 испытывали этот шок, когда в процессе загрузки получали сообщение примерно следующего содержания:
Прежде чем завершить эту главу примерами, позволяющими на практике освоить методы редактирования реестра, необходимо напомнить, что реестр является жизненно важным компонентом системы, и единственная ошибка в его редактировании может привести к проблемам в работе с системой, включая и проблемы с загрузкой. Если реестр окажется поврежденным, а в вашем распоряжении не найдется работоспособной и пригодной к использованию резервной копии, то весьма высока вероятность того, что единственным методом решения возникшей проблемы будет переустановка операционной системы.
Таким образом, прежде чем начинать редактирование реестра, необходимо выполнить его резервное копирование. Windows XP и Windows Server 2003 предоставляют множество методов резервного копирования реестра, в том числе перечисленные ниже.
Экспорт ключа реестра, который вы собираетесь редактировать. Это простейший метод резервного копирования реестра, который рекомендуется выполнять в любом случае. Если внесенные вами изменения приведут к нежелательным эффектам, вы сможете быстро восстановить первоначальное состояние путем импорта этого файла в реестр.
System Restore — функция System Restore создает точки восстановления, фактически представляющие собой "моментальные снимки" системной конфигурации, которая включает в себя и данные реестра. Перед внесением любых серьезных изменений в конфигурацию системы (включая и непосредственное редактирование реестра) рекомендуется вручную создать точку восстановления, которая позволит выполнить быстрое восстановление системы в случае возникновения неполадок и проблем с загрузкой. Что особенно важно, System Restore может применяться как при нормальном режиме загрузки, так и в безопасном режиме (safe mode). Следует, однако, отметить, что данная функция имеется только в Windows XP.
Процедура автоматического восстановления поврежденной системы (Automated System Recovery, ASR). Никогда не пренебрегайте подготовкой к процедуре ASR перед внесением серьезных изменений в конфигурацию системы. Процедуры подготовки и выполнения ASR были подробно рассмотрены в главе 23 "Восстановление системы".
Как и реестры систем Windows NT/2000/XP, реестр Windows Server 2003 состоит из пяти так называемых корневых ключей (root keys):
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_CURRENT_CONFIG
Каждый отдельный ключ может содержать элементы данных, которые называются параметрами (value entries), а также дополнительные вложенные ключи (subkeys). Для понимания этой концепции можно провести аналогию с файловой системой. Ключи в структуре реестра аналогичны каталогам, а значимые элементы — файлам. Рис. 24.1 иллюстрирует иерархическую структуру реестра.
Рис. 24.1. Реестр имеет иерархическую структуру, и его ключи могут содержать вложенные ключи и параметры
Все имена корневых ключей начинаются со строки HKEY_, что указывает разработчикам программного обеспечения на то, что это — дескриптор, который может использоваться программой. Дескриптор (handle) — это значение, используемое для уникального описания ресурса, к которому программа может получить доступ. Описания корневых ключей реестра Windows NT/2000/XP и Windows Server 2003 приведены в табл. 24.1.
Таблица 24.1. Корневые ключи реестра
Имя корневого ключа | Описание | ||
HKEY_LOCAL_MACHINE | Содержит глобальную информацию о компьютерной системе, включая такие данные об аппаратных средствах и операционной системе, как: тип шины, системная память, драйверы устройств и управляющие данные, используемые при запуске системы. Информация, содержащаяся в этом ключе, действует применительно ко всем пользователям, регистрирующимся в системе. На верхнем уровне иерархии реестра для этого ключа имеются три псевдонима: HKEY_CLASSES_ROOT, HKEY CURRENT_CONFIG И HKEY_DYN_DATA | ||
HKEY_ CLASSES_ ROOT | Содержит ассоциации между приложениями и типами файлов (по расширениям имени файла). Кроме того, этот ключ содержит информацию OLE (Object Linking and Embedding), ассоциированную с объектами СОМ, а также данные по ассоциациям файлов и классов (эквивалент реестра ранних версий Windows, служивших настройкой над MS-DOS). Параметры этого ключа совпадают с параметрами, расположенными под ключом HKEY_LOCAL_MACHINE \ Sof tware\Classes. Подробную информацию о ключе HKEY_CLASSES_ROOT можно найти в руководстве OLE Programmer's Reference, входящем в состав продукта Windows Platform Software Development Kit (SDK) | ||
HKEY_CURRENT_ CONFIG | Содержит конфигурационные данные для текущего аппаратного профиля. Аппаратные профили (hardware profiles) представляют собой наборы изменений, внесенных в стандартную конфигурацию сервисов и устройств, установленную данными ключей Software И System корневого ключа HKEY LOCAL_MACHINE. В ключе HKEY_CURRENT_CONFIG отражаются только изменения. Кроме того, параметры этого ключа появляются также под ключом HKEY_LOCAL_MACHINE\System \CurrentControlSet\HardwareProfiles\Current | ||
HKEY_CURRENT USER | Содержит пользовательский профиль пользователя, на данный момент зарегистрировавшегося в системе, включая переменные окружения, настройку рабочего стола, параметры настройки сети, принтеров и приложений. Этот ключ представляет собой ссылку на ключ HKEY_USERS \user SID, где user SID— идентификатор безопасности (Security ID, SID) пользователя, зарегистрировавшегося в системе на текущий момент | ||
HKEY_USERS | Содержит все активно загруженные пользовательские профили, включая HKEY_CURRENT_USER, а также профиль по умолчанию. Пользователи, получающие удаленный доступ к серверу, не имеют профилей, содержащихся под этим ключом; их профили загружаются в реестры на их собственных компьютерах. Операционная система требует наличия учетных записей для каждого пользователя, регистрирующегося в системе. Ключ HKEY_USERS содержит вложенный ключ \Default, а также другие ключи, определяемые идентификатором безопасности (Security ID) каждого пользователя |
Тип данных |
Описание |
REG_BINARY |
Двоичные данные. Большинство аппаратных компонентов используют информацию, которая хранится в виде двоичных данных. Редакторы реестра отображают эту информацию в шестнадцатеричном формате |
REG_DWORD |
Данные представлены в виде значения, длина которого составляет 4 байта. Этот тип данных используют многие параметры драйверов устройств и сервисов. Редакторы реестра могут отображать эти данные в двоичном, шестнадцатеричном и десятичном формате |
REG_EXPAND_SZ |
Расширяемая строка данных. Эта строка представляет собой текст, содержащий переменную, которая может быть заменена при вызове со стороны приложения |
REGJMULTI_SZ |
Многострочное поле. Значения, которые фактически представляют собой списки текстовых строк в формате, удобном для восприятия человеком, обычно имеют этот тип данных. Строки разделены символом NULL |
REG_SZ |
Текстовая строка в формате, удобном для восприятия человеком. Значениям, представляющим собой описания компонентов, обычно присваивается именно этот тип данных |
REG_DWORD_ LITTLE_ENDIAN |
32-разрядное число в формате "остроконечников" (little-endian). Представляет собой эквивалент REG DWORD. При использовании метода "остроконечников" самый младший байт ("little end") хранится в памяти первым в числе. Например, шестнадцатеричное число A02Bh по методу "остроконечников" сохраняется как 2ВАО. Метод "остроконечников" используется в микропроцессорах Intel |
REG_DWORD_BIG_ ENDIAN |
32-разрядное число в формате "тупоконечников" (big-endian). В противоположность методу "остроконечников", при использовании метода "тупоконечников" самый старший байт ("big end") оказывается первым байтом числа |
REG_LINK |
Символическая ссылка Unicode. Этот тип данных предназначен для внутреннего использования. Тип данных REG LINK особенно интересен тем, что он позволяет одному элементу реестра ссылаться на другой ключ или параметр. Например, если элемент реестра \Rootl\Link имеет параметр типа REG LINK со значением \Root2\RegKey, а ключ RegKey содержит параметр RegValue, то этот параметр идентифицируется двумя путями: \Rootl\Link\RegValue И \Root2 \ RegKey \RegValue. Windows NT/2000/XP и Windows Server 2003 активно использует этот метод — некоторые из корневых ключей реестра, перечисленных в табл. 24.1, являются ссылками на вложенные ключи других корневых ключей |
REG_NONE |
Параметр не имеет определенного типа данных |
REG_QWORD |
64-разрядное число |
REG_QWORD_LITTLE_ ENDIAN |
64-разрядное число в формате "остроконечников". Эквивалент REG QWORD |
REG_RESOURCE_LIST |
Список аппаратных ресурсов, применяется только в ветви HKEY_LOCAL_MACHINEXHARDWARE |
REG_FULL_RESOURCE_ DESCRIPTOR |
Дескриптор (описатель) аппаратного ресурса. Применяется только в ветви HKEY_LOCAL_MACHINE\HARDWARE |
REG_RESOUECE_ REQUIREMENTS_LIST |
Список необходимых аппаратных ресурсов. Применяется только в ветви HKEY_LOCAL_MACHINE\HARDWARE |
Новый подход к реализации реестра позволил также существенно повысить производительность системы за счет усовершенствований, перечисленных ниже.
Ускоренная обработка обращений к реестру. В Windows NT/2000 на производительность реестра влияла его фрагментация. Взаимосвязанные ячейки были разбросаны по всему файлу улья, вследствие чего попытки доступа к такой информации (например, поиск атрибутов ключа) могли приводить к генерации большого количества страничных прерываний и существенно снижали общую производительность системы. В Windows XP и Windows Server 2003 при выделении памяти для ячеек реестра применяется улучшенный алгоритм, при котором взаимосвязанным ячейкам реестра выделяется пространство в пределах одной и той же или близких страниц памяти, что снимает эту проблему.
Улучшенные механизмы для работы с данными большого объема. Во всех версиях, предшествующих Windows XP, неэффективно работающее приложение могло создавать разреженные файлы реестра большого объема за счет постоянного увеличения значения параметра реестра малыми приращениями. В Windows XP и Windows Server 2003 эта проблема решена за счет реализации разбиения крупных ячеек на цепочки ячеек размером по 16 Кбайт.
По умолчанию утилита Regedit.exe в процессе установки операционной системы копируется в каталог %SystemRoot% (например, C:\Windows). Обычно редактор реестра запускается с помощью команды Run (Выполнить) меню Start (Пуск).
Редактор реестра можно также запустить из командной строки с ключом /s. В этом случае Regedit.exe не будет предоставлять графического пользовательского интерфейса и не будет запрашивать подтверждения пользователя на выполнение указанной ему операции. Эта опция позволяет использовать редактор реестра в командных файлах. Например, чтобы выполнить импорт файла реестра MyRegSettings.reg в состав реестра без запроса подтверждения, дайте следующую команду: Regedit /s MyRegSettings.reg