вівторок, 3 березня 2015 р.

3 опр(ОС)


Режимы загрузки Windows XP

Цель работы: изучить режимы загрузки операционной системы Windows XP.

1. Теоретические сведения.


Загрузка Windows XP

Процессы, происходящие при успешном запуске компьютера, работающего под управлением Windows XP, перечислены ниже.
  •  Самотестирование при включении (Power-On Self-Test, POST) 
  •  Инициализация при запуске (Initial startup process) 
  •  Работа загрузчика (Boot loader process):
    •  выбор операционной системы (при наличии нескольких систем)
    •  опознавание аппаратных средств
    •  выбор конфигурации 
  •  Загрузка ядра
    •  инициализация ядра
  •  Регистрация пользователя


Описанная выше последовательность загрузки действует только применительно к системам, загружающимся после нормального останова. При выходе из режима ожидания (standby) или спящего (hibernate) режима эта последовательность будет другой.
Процесс запуска начинается, когда пользователь выполняет одно из следующих действий:
  •  включает компьютер (который ранее был выключен);
  •  вручную выполняет перезагрузку компьютера, выбрав опцию Restart в окне Shut Down Windows.
К моменту регистрации пользователя в системе компьютер уже завершает загрузку операционной системы и большую часть процесса инициализации. Однако полностью все процессы будут завершены только после успешной регистрации пользователя в системе.

Самотестирование при загрузке

При включении питания или перезагрузке компьютер проходит стадию самотестирования (bootstrapping) аппаратных средств при включении питания (так называемую процедуру POST, Power-On Self-Test). В это время компьютер находится под управлением базовой системы ввода/вывода (Basic Input/Output System, BIOS). При возникновении проблем с аппаратными средствами или настройками уже на стадии POST компьютер сигнализирует об этом серией звуковых сигналов. На этот случай следует иметь под рукой сопроводительную документацию, полученную от поставщика в комплекте с вашим компьютером.

Файлы, необходимые для запуска системы

Успешное завершение процедуры POST свидетельствует о корректной инициализации аппаратных средств компьютера. Теперь для запуска операционной системы требуется присутствие всех нужных файлов. Процедура запуска системы закончится неудачей, если хотя бы один из файлов, необходимых для ее загрузки, не будет найден или окажется поврежденным.
Файлы, необходимые для успешного запуска Windows NT/2000/XP перечислены в табл. 3.1.
Таблица 3.1. Файлы, необходимые для запуска Windows NT/2000/XP

Файлы
Местоположение
Описание
NTLDR
Корневой каталог системного диска
Загрузчик операционной системы
Boot.ini
Корневой каталог системного диска
Файл, задающий пути к каталогам, в которых установлены копии операционных систем. Подробное описание опций файла Boot.ini будет приведено далее в этой главе
Bootsect.dos (только в системах с двойной загрузкой, где в качестве альтернативной операционной системы используются MS-DOS, Windows 3.1 х или Windows 9x/ ME; этот файл необходим для загрузки альтернативной ОС)
Корневой каталог системного диска
Скрытый системный файл, содержащий копию загрузочного сектора, используемого для загрузки альтернативных операционных систем
Ntdetect.com
Корневой каталог системного диска
Распознаватель аппаратной конфигурации. Передает загрузчику (Ntldr) информацию об обнаруженных и распознанных аппаратных средствах
Ntbootdd.sys (только для SCSI)
Корневой каталог системного диска
Драйвер, используемый для доступа к жестким дискам SCSI. Содержимое этого файла зависит от используемого контроллера
Ntoskrnl.exe
%SystemRoot% \system32
Ядро операционной системы
Hal.dll
%SystemRoot% \system32
Уровень аппаратных абстракций — Hardware Abstraction Layer, HAL). Изолирует низкоуровневые подробности функционирования аппаратных устройств от остальной операционной системы и предоставляет API для обращения к однотипным устройствам. Дистрибутивный компакт-диск содержит различные версии HAL. Файл, который будет скопирован на ваш компьютер в процессе инсталляции, зависит от аппаратной конфигурации вашего компьютера
Улей реестра SYSTEM
%SystemRoot% \system32\Config
Ключ реестра HKEY LOCAL
MACHINE\SYSTEM
Драйверы устройств
%SystemRoot% \system32\Drivers
Файлы драйверов устройств, установленных в вашей системе

Инициализация при запуске

После успешного завершения процедуры POST начинается процесс инициализации при запуске: на компьютерах х86 системная BIOS ищет и загружает в память загрузочный сектор (boot sector), инструкции которого затем загружают файл NTLDR.

После завершения тестов POST на компьютере х8б системная BIOS пытается обнаружить загрузочный диск. Порядок поиска загрузочного диска (флоппи-дисководы, жесткие IDE- и SCSI-диски, устройства CD-ROM) задается BIOS. Современные BIOS позволяют пользователю переконфигурировать этот порядок, называемый последовательностью загрузки (boot sequence). Подробную информацию о редактировании последовательности загрузки можно найти в сопроводительной документации к вашему компьютеру. Если при этом дисковод А: включен в последовательность загрузки первым, и в нем находится дискета, BIOS попытается использовать эту дискету в качестве загрузочной. Если дискеты в дисководе нет, BIOS проверяет первый жесткий диск, который к этому времени уже инициализировался. Для запуска огромное значение имеет первый сектор жесткого диска, который содержит главную загрузочную запись (Master Boot Record, MBR) и таблицу разделов (partition table).

В дополнение к дискетам и жестким дискам, BIOS может позволять загрузку операционной системы с других загрузочных носителей, к числу которых относятся компакт-диски, сетевые адаптеры, диски Zip или LS-120.
Если вы с помощью программы BIOS Setup установили последовательность загрузки "CDROM, А, С", то BIOS в первую очередь будет пытаться найти загрузочный носитель в устройстве CD-ROM и флоппи-дисководе. Попытка загрузки с жесткого диска будет предпринята только в том случае, если ни устройство CD-ROM, ни флоппи-дисковод не содержат загрузочного носителя. Когда вы пытаетесь выполнить загрузку с дистрибутивного компакт-диска, программа Setup просматривает жесткий диск и пытается найти уже существующую установленную копию Windows
XP. Если такая копия будет обнаружена, то будет выведено сообщение Press any key to boot from CD-ROM. Если вы в течение 3 секунд не нажмете на любую из клавиш, то программа Setup не запустится, и вы сможете обойти загрузку с компакт-диска. Поэтому, если вы не планируете запускать программу Setup для установки Windows XP или выполнения восстановительных работ, рекомендуется извлечь из устройства CD-ROM все компакт-диски, т. к. это позволит минимизировать время, требующееся для загрузки Windows XP.

Системная BIOS считывает главную загрузочную запись и загружает ее в память, а затем передает ей управление. Код, содержащийся в главной загрузочной записи, сканирует таблицу разделов в поисках системного раздела. Найдя системный раздел, MBR загружает в память его нулевой сектор и исполняет код, содержащийся в этом секторе. Сектор 0 на системном разделе, так называемый загрузочный сектор раздела (partition boot sector), содержит загрузочный код операционной системы. Этот код и осуществляет запуск операционной системы способом, определенным данной операционной системой.

Чтобы успешно выполнить загрузку Windows NT/2000/XP с дискеты, нужно, чтобы ее первым сектором был загрузочный сектор раздела. Кроме того, на этой дискете должны присутствовать все файлы, необходимые для загрузки. Чтобы изготовить такую дискету, отформатируйте ее под управлением Windows NT/2000/XP и затем скопируйте на эту дискету следующие файлы: Ntldr, Ntdetect.com, Boot.ini, Bootsect.dos (если вы имеете мультизагрузочную систему и хотите обеспечить возможность загрузки с этой дискеты всех систем, установленных на компьютере), а также Ntbootdd.sys (в случае использования жестких дисков SCSI).
Если на первом жестком диске нет системного раздела, главная загрузочная запись отобразит одно из следующих сообщений об ошибках:
  •  invalid partition table (Неверная таблица разделов);
  •  Error loading operating system (Ошибка при загрузке операционной системы);
  •  Missing operating system (Отсутствует операционная система).

Как правило, главная загрузочная запись не зависит от конкретной операционной системы. Например, на компьютерах х86 одна и та же главная загрузочная запись служит для запуска Windows NT/2000/XP, продуктов из семейства Windows Server 2003, Windows 9x/ME, а также комбинации MS-DOS/Windows. Что касается загрузочного сектора раздела, то он зависит как от операционной системы, так и от используемой файловой системы. На компьютерах х86 загрузочный сектор раздела систем Windows 2000, Windows ХР и Windows Server 2003 отвечает за выполнение следующих действий.
  •  Распознавание используемой файловой системы и ее применение для поиска загрузчика операционной системы (NTLDR) в корневом каталоге системного раздела. В томах FAT структура данных, называемая загрузочным сектором раздела, действительно имеет длину в 1 сектор физической разметки диска. В томах FAT32 эта структура занимает уже 2 сектора физической разметки диска, поскольку загрузочный код занимает более 512 байт. В томах NTFS загрузочный сектор раздела может занимать до 16 секторов, причем дополнительные секторы могут содержать код файловой системы, необходимой для поиска NTLDR.
  •  Нахождение загрузчика операционной системы NTLDR и его загрузка в память.
  •  Начало исполнения кода самозагрузки.

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

Если в дисководе А: имеется дискета, BIOS загрузит в память первый сектор этой дискеты. Если дискета является системной, то ее первый сектор представляет собой загрузочный сектор раздела (Partition Boot Sector). Если дискета не является загрузочной и отформатирована под управлением MS-DOS или Windows 9x, то вы увидите на экране следующее сообщение об ошибке:

Non-System disk or disk error  Replace and press any key when ready

Если же дискета не загрузочная и отформатирована в Windows NT/2000/XP или в Windows Server 2003, то сообщение будет следующим:

Ntldr is missing Press any key to restart

Работа загрузчика

Загрузчик (boot loader) позволяет выбрать операционную систему, которую требуется запустить, и загружает файлы операционной системы из загрузочного раздела. Общие задачи, выполняемые на данном этапе, сводятся к установке 32-разрядной модели памяти с прямой адресацией (flat addressing), сбору данных об аппаратной конфигурации, построению ее описания в памяти и передаче указателя на это описание в блок загрузчика. После этого NTLDR (для платформ х86) загружает образ ядра, HAL и драйверы для устройств и файловой системы тома, с которого производится загрузка системы. Помимо всего прочего, на данном этапе производится также и загрузка некоторых драйверов, для которых равен нулю параметр реестра start, расположенный под следующим ключом реестра:

HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\ServiceName

Здесь service/feme представляет собой имя сервиса, например:

HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Services\atapi

Важность системного реестра невозможно переоценить, т. к. уже на данном этапе (работа загрузчика) он становится необходимым для загрузки системы. Если улей (hive) System, требующийся в том числе и для загрузки драйверов, не будет обнаружен (или окажется поврежденным), то на экране появится примерно следующее сообщение об ошибке:

Windows could not start because the following file is missing of corrupt: \WINDOWS\SYSTEM32\CONFIG\SYSTEM You can attempt to repair this file by starting Windows Setup using the original Setup CD-ROM. Select 'r' at the first screen to start repair.

Здесь же следует отметить, что улей реестра System в работающей системе пользователи видят в составе дерева HKEY_LOCAL_MACHINE. Этот улей определяет порядок загрузки всех драйверов системы, и доступ к нему получают как загрузчик операционной системы, так и диспетчер ввода/вывода.



Функции загрузчика NTLDR

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

Когда NTLDR начинает выполнение, он очищает экран и выполняет следующие действия.

1. Переключает процессор в режим использования 32-разрядной модели памяти с прямой адресацией. Компьютеры х86 при запуске стартуют в реальном режиме, подобном режиму, в котором стартуют процессоры 8088 и 8086. Поскольку NTLDR представляет собой 32-разрядную программу, для того чтобы загрузчик смог начать выполнять какие бы то ни было действия, процессор необходимо переключить в защищенный режим.

2. Запускает соответствующую мини-файловую систему. Код, предназначенный для доступа к файлам на томах FAT и NTFS, встроен в NTFS. Этот код позволяет загрузчику читать файлы, получать доступ к ним и выполнять их копирование.

3. Читает расположенный в корневом каталоге системного диска файл Boot.ini и отображает на экране соответствующее меню для выбора загружаемой операционной системы. Экран, выводимый на данном этапе загрузки, называется экраном загрузчика (boot loader screen). Если компьютер сконфигурирован для загрузки нескольких систем, и пользователь выбирает операционную систему, отличную от Windows NT/2000/XP или Windows Server 2003, то NTLDR загружает в память файл Bootsect.dos и передает ему управление. Другая операционная система стартует как обычно, поскольку файл Bootsect.dos содержит копию загрузочного сектора раздела, который находился на основном разделе или логическом диске до инсталляции Windows NT/2000/XP или Windows Server 2003.

4. Если выбрана одна из версий Windows NT/2000/XP или Windows Server 2003, то выполняется Ntdetect.com, чтобы собрать информацию о физических устройствах, подключенных на данный момент к компьютеру.

5. Загружает и запускает ядро операционной системы Ntoskrnl.exe и передает ему информацию, собранную программой Ntdetect.com.

Одним из наиболее значимых усовершенствований, впервые введенных в Windows XP и присутствующих в Windows Server 2003, является существенное повышение производительности, в том числе — так называемая ускоренная загрузка (Fast Boot), реализованная за счет повышения производительности загрузчика Ntldr. Новые версии Ntldr, входящие в состав Windows XP и Windows Server 2003, оптимизируют операции чтения с диска и во время первой загрузки кэшируют все данные о дисковой подсистеме, включая метаданные файловой системы. Кэшированные данные используются при последующих перезагрузках для чтения системных файлов параллельно с другими операциями. Теперь в процессе загрузки считывание каждого из системных файлов происходит за одну операцию. Как результат, по сравнению с Windows 2000 производительность загрузчика выросла примерно в 4—5 раз.

Выбор запускаемой операционной системы

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

Please select the operating system to start: Windows XP Professional Windows Server 2003 Windows 2000 Professional Windows NT Server Version 4.0 Windows NT Server Version 4.0(VGA mode) Use the up and down arrow keys to move the highlight to your choice. Press ENTER to choose. Seconds until highlighted choice will be started automatically: 29 For troubleshooting and advanced startup options for Windows, press F8.

Выбор операционной системы, которую требуется запустить, ничем не отличается от аналогичного процесса при работе с предшествующими версиями операционных систем из семейства Windows — Windows NT, Windows 2000 и Windows XP. Операционная система, указанная в приведенном списке первой, выбирается по умолчанию, и изначально курсор установлен на этой строке. Чтобы выбрать для запуска другую операционную систему, воспользуйтесь клавишами перемещения курсора (<t> и <1>), выделите нужную операционную систему и нажмите клавишу <Enter>.

Если вы не выберете ни один из пунктов меню к тому моменту, когда счетчик, указанный в строке:

Seconds until highlighted choice will be started automatically: 29

достигнет нуля, NTLDR загрузит операционную систему, указанную в файле Boot.ini по умолчанию. Программа Setup задает в качестве параметра по умолчанию копию операционной системы, которая была инсталлирована последней. Файл Boot.ini можно отредактировать, указав в качестве загружаемой по умолчанию операционной системы любую из установленных. Подробную информацию о содержимом файла Boot.ini и методах его редактирования см. далее в этой главе.

Если Windows XP или Windows Server 2003 является единственной операционной системой, установленной на компьютере, то меню загрузчика не появится. В этом значение тайм-аута, указанное в файле Boot.ini, будет просто проигнорировано, и операционная система запустится сразу же.

Опции отладочного меню при загрузке Windows XP

Любой пользователь, имеющий хотя бы небольшой опыт работы с предыдущими версиями Windows NT, сразу же заметит одно небольшое, но существенное отличие экрана загрузчика Windows 2000/XP и Windows Server 2003 от экрана загрузчика Windows NT 4.0. Это — следующая строка, расположенная в нижней части экрана:

For troubleshooting and advanced startup options for Windows, press F8

Аналогичная опция — нажатие клавиши <F8> — имелась в системах Windows 95/98/ME. Если загрузка Windows завершается неудачей, возможно, вам помогут опции отладочного меню, выводимого по нажатию клавиши <F8>. Следует отметить, что по сравнению с Windows 2000, в Windows XP и Windows Server 2003 это меню было расширено, и в нем появился целый ряд дополнительных опций.

Итак, если при появлении меню загрузки Windows XP/Windows Server 2003 нажать клавишу <F8>, то на экране появится меню следующего содержания:

Windows Advanced Options Menu Please select an option: Safe Mode Safe Mode with Networking Safe Mode with Command Prompt Enable Boot Logging Enable VGA Mode Last Known Good Configuration (your most recent settings that worked) Directory Services Restore Mode (Windows domain controllers only) Debugging Mode Start Windows Normally** Reboot** Return to OS Choices Menu** Use the up and down arrow keys to move the highlight to your choice. * Опция усовершенствована по сравнению с Windows 2000. ** Новые опции, введенные в Windows XP.

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

При загрузке в безопасном режиме (safe mode) операционная система использует стандартные параметры настройки (монитор VGA, без сетевых средств, с минимальным количеством драйверов — фактически запускаются только драйверы, необходимые для загрузки Windows). Например, если после инсталляции нового программного обеспечения Windows перестала запускаться, то вполне возможно, что загрузка в безопасном режиме позволит выполнить запуск операционной системы с минимальным количеством сервисов и драйверов. После загрузки вы сможете изменить параметры настройки компьютера, не позволяющие осуществить корректную загрузку, или удалить программное обеспечение, вызвавшее эти проблемы. Ниже кратко описаны опции дополнительного меню загрузки. 
  •  Safe Mode (Безопасный режим)
Если пользователь выбирает эту опцию, то при запуске Windows загружаются только базовые файлы и драйверы, абсолютно необходимые для работы (стандартные драйверы мыши и клавиатуры, накопителей, базовый драйвер видеоадаптера VGA и минимальный объем стандартных системных сервисов). Если Windows невозможно загрузить даже с использованием этого режима, то, вероятнее всего, потребуется выполнять процедуру восстановления поврежденной системы. Подробная информация по данному вопросу и пошаговые инструкции по проведению процедуры восстановления приведены в главе 23 "Восстановление системы".
  •  Safe Mode with Networking (Безопасный режим с загрузкой сетевых драйверов)
Если выбрана данная опция, то Windows загружается с использованием только базовых файлов и драйверов (как и в случае с выбором предыдущей опции), но в дополнение делается попытка запуска сетевых служб и восстановления сетевых подключений.
  •  Safe Mode with Command Prompt (Безопасный режим с поддержкой командной строки)
Выбор этой опции приводит к попытке запуска Windows с использованием только базовых файлов и драйверов, и вместо графического интерфейса Windows отображает на экране окно командной строки.
  •  Enable Boot Logging (Включить протоколирование загрузки)
При выборе этой опции Windows Server 2003 будет записывать протокол загрузки в файл %SystemRoot%\Ntbt\og.txL Действие этой опции аналогично включению параметра /BOOTLOG в файле Boot.ini (см. табл. 3.3).
  •  Enable VGA Mode (Включить режим VGA)
После выбора данной опции компьютер загружается с использованием стандартного драйвера VGA. Аналогичный результат дает применение параметра /BASEVIDEO в файле Boot.ini (см. табл. 3.3).
  •  Last Known Good Configuration (your most recent settings that worked) (Загрузка последней удачной конфигурации)
Такая опция существовала и в Windows NT 4.0/Windows 2000. Однако ее использование в более новых версиях операционной системы (Windows ХР и продуктах из семейства Windows Server 2003) имеет различия, которые необходимо рассмотреть более подробно. При выборе данной опции в Windows 2000 операционная система запускается с использованием информации реестра, сохраненной сразу же после успешного запуска (критерием успешного запуска во всех ОС, построенных на основе ядра Windows NT, является успешная регистрация в системе хотя бы одного пользователя). Следует сразу же отметить, что в Windows NT/2000 эта опция позволяет исправить только ошибки конфигурирования системы, да и то не всегда. Использовать ее рекомендуется лишь в тех случаях, когда точно известно о допущенной конфигурационной ошибке. Проблемы, вызванные отсутствием или повреждением системных файлов или драйверов, использование этой опции исправить не поможет. Помимо этого, следует помнить, что все изменения, внесенные после последнего успешного запуска Windows NT/2000, в случае применения этой опции будут потеряны.

С выпуском Windows XP в состав этой опции были введены дополнительные усовершенствования. В отличие от Windows NT/2000, Windows ХР и Windows Server 2003 перед установкой обновленных версий драйверов создают резервные копии драйверов, использующихся на текущий момент. При выборе опции будут восстановлены не только параметры реестра, сохраненные после последней успешной загрузки, но и все драйверы, которые при этом использовались. Таким образом, применение этой опции в Windows ХР и Windows Server 2003 позволит восстановить систему не только после конфигурационных ошибок, но и после установки несовместимых приложений и драйверов, приводящих к нестабильной работе или препятствующих загрузке Windows.
  •  Directory Services Restore Mode (Windows domain controllers only) (Восстановление службы каталогов (только на контроллерах домена Windows))
Если вы пытаетесь исправить проблемы с загрузкой Windows ХР или обычного сервера Windows Server 2003, эту опцию использовать не следует, поскольку она предназначена только для серверов, являющихся контроллерами домена. Как следует из ее названия, данная опция предназначена для восстановления службы каталога.
  •  Debugging Mode (Режим отладки)
Эта опция запускает Windows и устанавливает отладочный режим, при котором отладочная информация пересылается по последовательному кабелю на другой компьютер.
  •  Start Windows Normally (Обычная загрузка Windows)
Как и следует из названия этой опции, она позволяет выполнить запуск Windows XP или Windows Server 2003 в нормальном режиме. Данная опция была впервые введена в Windows XP.
  •  Reboot (Перезагрузка)
Когда пользователь выбирает эту опцию, процесс загрузки повторится с самого начала (с выполнения процедуры POST). Данная опция была впервые введена в Windows XP.
  •  Return to OS Choices Menu (Вернуться к выбору операционной системы)
Возвращает к экрану загрузчика, позволяющему выбрать загружаемую операционную систему. Данная опция была впервые введена в Windows XP.
Как уже было указано, три последние опции впервые появились в Windows XP. Хотя они и не представляют никаких принципиально новых возможностей, они все же делают работу с отладочным меню гораздо более удобной по сравнению с Windows 2000.

Распознавание аппаратных средств

Если в меню загрузчика выбрана одна из версий Windows NT/2000/XP или Windows Server 2003 (или же начала загружаться система по умолчанию, когда истек срок действия таймера), то NTLDR вызывает Ntdetect.com, чтобы собрать информацию о физических устройствах, подключенных на данный момент к компьютеру. Ntdetect.com возвращает полученную информацию загрузчику NTLDR.

Выбор конфигурации

Если для загрузки выбрана операционная система Windows XP или Windows Server 2003, и в ней имеется только один профиль аппаратной конфигурации, то после того, как загрузчик получит информацию об аппаратных средствах компьютера, он продолжит процедуру загрузки, запустив ядро операционной системы Ntoskrnl.exe и передав ему информацию, собранную программой Ntdetect.com.

Если в системе создано несколько профилей аппаратной конфигурации, и загрузчик не может определить, какой из них должен быть загружен, то на экране появится следующая информация:

Hardware Profile/Configuration Recovery Menu This menu allows you to select a hardware profile to be used when Windows is started. If your system is not starting correctly, then you may switch to a previous system configuration, which may overcome startup problems. IMPORTANT: System configuration changes made since the aast successful startup will be discarded. Profile 1 Profile 2 Profile 3 Use the up and down arrow keys to move the highlight to the selection you want. Then press ENTER. To switch to the Last Known Good Configuration, press 'L'. To Exit this menu and restart your computer, press F3. Seconds until highlighted choice will be started automatically: 5

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

Первый аппаратный профиль выделен курсором. Чтобы использовать для загрузки другой аппаратный профиль, клавишами со стрелками переместите курсор к нужной опции и нажмите клавишу <Enter>.

Для настольных компьютеров Windows XP создает один аппаратный профиль по умолчанию, включающий в свой состав все аппаратные компоненты, обнаруженные при установке системы. Для портативных компьютеров Windows XP создает два аппаратных профиля по умолчанию (Docked Profile и Undocked Profile) и выбирает нужный профиль в зависимости от того, используется ли портативный компьютер в качестве dock-станции или независимо. Хотя поддержка Plug and Play в значительной степени исключает необходимость ручного создания и конфигурирования аппаратных профилей, они все же могут быть весьма полезны.

Загрузка ядра

Получив информацию об аппаратных средствах компьютера и выбранном аппаратном профиле, Ntldr загружает в память уровень аппаратных абстракций (Hal.dll) и ядро операционной системы Ntoskrnl.exe. Загрузив и запустив ядро, Ntldr передает ему информацию, собранную программой Ntdetect.com.

Информация о выбранном аппаратном профиле передается загрузчику, когда пользователь нажимает клавишу <Enter> в меню Hardware Profile/ Configuration Recovery. Помимо этого, загрузчик может сделать выбор автоматически по истечении указанного интервала времени (или в случае, если в системе существует только один аппаратный профиль). На данном этапе ядро и уровень аппаратных абстракций еще не инициализированы. Далее загрузчик просматривает реестр и загружает улей HKEY_LOCAL_MACHINE\ SYSTEM из файла %SystemRoot%\system32\Config\System.

В Windows NT/2000 загрузчик на данном этапе извлекал информацию о заданном по умолчанию или определенном пользователем размере реестра (registry quota).

На данном этапе загрузчик активизирует API для работы с реестром и создает набор управляющих параметров (control set), который будет использоваться для инициализации компьютера. Эти задачи являются подготовительными для загрузки драйверов. Значение, заданное в ключе реестра HKEY_LOCAL_MACHiNE\SYSTEM\select (рис. 3.1), определяет, какой набор управляющих параметров из перечисленных в ключе HKEY_LOCAL_MACHINE\SYSTEM должен использоваться при загрузке. По умолчанию загрузчик использует набор управляющих параметров, определяемый значением Default. Если пользователь выбрал последнюю успешно загруженную конфигурацию (LastKnownGood), то загрузчик использует набор управляющих параметров, определяемых значением LastKnownGood. На основании сделанного пользователем выбора и значения ключа Select загрузчик определяет, какой из наборов управляющих параметров (controlSet00x) будет использоваться. После этого загрузчик устанавливает значение Current ключа Select на номер набора управляющих параметров, который он будет использовать.

Рис. 3.1. Ключ реестра HKEY_LOCAL_MACHINE\SYSTEM\Select

Далее загрузчик сканирует все сервисы (службы), определенные ключом реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services, И ищет драйверы устройств, для которых значение start равно 0x0 (такое значение указывает на то, что драйверы должны быть загружены, но не инициализированы). Как правило, драйверы с такими значениями представляют собой низкоуровневые драйверы устройств, например, драйверы дисков. Значение Group для каждого драйвера устройства определяет порядок, в котором загрузчик должен его загружать. Ключ HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Control\ServiceGroupOrder реестра определяет порядок загрузки.

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


Инициализация ядра

В системах Windows 2000, Windows XP и Windows Server 2003. об инициализации ядра сигнализирует появление графической заставки (рис. 3.2). Это — чисто "косметическое" отличие от Windows NT 4.0, которое не меняет принципов загрузки Windows 2000/XP и Windows Server 2003 по сравнению с предыдущей версией системы.


Рис. 3.2. Появление графической заставки сигнализирует о начале инициализации ядра

Хотите убедиться в справедливости сказанного? Нет ничего проще. Добавив ключ /SOS в строку файла Boot.ini, управляющего содержимым меню загрузчика и режимом загрузки операционной системы, перезагрузите компьютер. Использование этой опции позволяет пользователю видеть всю последовательность загрузки драйверов.
Ядро создает ключ HREY_LOCAL_MACHINE\HARDWARE, используя информацию, полученную от загрузчика. Ключ HKEY_LOCAL_MACHINE\HARDWARE содержит данные об аппаратных средствах, распознавание которых осуществляется каждый раз при запуске системы. В состав этих данных входит информация об аппаратных компонентах на системной плате и о прерываниях, используемых конкретными аппаратными устройствами.
Ядро создает набор опций управления Clone, копируя в него опции управления из набора CurrentControlSet. Набор опций управления Clone никогда не модифицируется, т. к. он должен представлять собой полностью идентичную копию данных, которые использовались для конфигурирования компьютера и не должны отражать изменений, внесенных в ходе процесса запуска.

На стадии инициализации ядро выполняет следующие операции:

1. Инициализирует низкоуровневые драйверы устройств, загруженные на предыдущей стадии.

2. Загружает и инициализирует остальные драйверы устройств.

3. Запускает программы, например Chkdsk, которые должны отработать прежде, чем будут загружены какие-либо сервисы.

4. Загружает и инициализирует сервисы.

5. Создает файл подкачки pagefile.sys.

6. Запускает подсистемы, необходимые для работы Windows.

Windows XP и Windows Server 2003, в отличие от Windows NT/2000, выполняют параллельную инициализацию драйверов. Это сделано с целью ускорения процесса загрузки. Вместо того, чтобы ожидать инициализации предыдущего драйвера для того, чтобы начать инициализацию следующего, эти операции теперь выполняются параллельно. Таким образом, определяющее влияние на общее время загрузки оказывает самое медленное устройство.





Регистрация пользователя в системе

Подсистема Win32 автоматически запускает процесс WinLogon.exe, который, в свою очередь, запускает процесс Диспетчера локальной безопасности (Local Security Authority, Lsass.exe). После завершения инициализации ядра необходимо произвести регистрацию пользователя в системе. Процедура регистрации может быть произведена автоматически на основании информации, хранящейся в реестре, или вручную. При ручной регистрации пользователя, в зависимости от выбранного способа регистрации в системе, появляется диалоговое окно Welcome to Windows с текстом Press Ctrl+Alt+Delete to begin. В любом случае, к этому моменту Windows XP/Windows Server 2003, как и Windows 2000, может еще продолжать инициализацию сетевых драйверов, однако пользователю уже разрешается зарегистрироваться в системе.

На данном этапе Service Control Manager выполняет загрузку автоматически стартующих сервисов, для которых значение start, расположенное в ключе реестра HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\DriverWame, установлено равным 0x2. На этом этапе сервисы загружаются с учетом установленных для них зависимостей, поскольку их загрузка осуществляется параллельно. Зависимости описываются значимыми элементами DependOnGroup и DependOnService, расположенными под ключом реестра HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\DriverWame.

Кроме того, одновременно с появлением окна Welcome to Windows или окна Log On to Windows выполняется запуск сервисов, перечисленных в реестре под следующими ключами:

  •  HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion\RunServicesOnce
  •  HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion\RunServices

Как и для предыдущих версий Windows NT/ 2000, загрузка Windows XP/Windows Server 2003 не считается успешной до тех пор, пока в системе не зарегистрируется пользователь. После этого набор управляющих опций clone копируется В LastKnownGood.

После регистрации пользователя в системе происходят следующие процессы.
  •  Обновление наборов управляющих параметров. Набор управляющих параметров, на который ссылается параметр реестра LastKnownGood, заменяется содержимым параметра clone, который создается каждый раз при запуске компьютера.
  •  Входят в силу параметры настройки групповой политики (Group Policy settings). Происходит считывание параметров, задаваемых групповой политикой как в отношении компьютера, так и в отношении пользователя, зарегистрировавшегося в системе.
  •  Происходит запуск программ из группы Startup. Windows запускает регистрационные скрипты (logon scripts), а также программы и сервисы, указанные следующими ключами реестра или находящиеся в перечисленных ниже папках:
    •  HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion \Runonce
    •  HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion\ policies\Explorer\Run
    •  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVerslon\Run
    •  HKEY_CURRENT_USER\SOFTWARE\Microsoft\ Windows\CurrentVersion\Run
    •  systemdrive\Documents and Settings\All Users\Start Menu\Programs \Startup
    •  systemdrive\Documents and Settings\username\Start Menu\Programs \Startup
    •  windir\Profiles\All Users\Start Menu\Programs\Startup
    •  windir\Profiles\username\Start Menu\Programs\Startup

Две папки, перечисленные последними в этом списке, существуют только в системах, установленных как обновление с Windows NT 4.0.

Процесс распознавания устройств Plug and Play запускается параллельно процессу регистрации в системе. Этот процесс использует информацию системной BIOS, а также информацию об аппаратных средствах и драйверах устройств, полученную в процессе запуска системы. Если в систему были добавлены новые устройства Plug and Play, которые были правильно подключены, то на данном этапе система их распознает и выполнит их энумерацию (enumeration), или перечисление. Как правило, обнаружение новых устройств, выделение им аппаратных ресурсов, установка драйверов новых устройств происходят в автоматическом режиме при минимальном вмешательстве пользователя.

Файл boot.ini

При инсталляции Windows NT/2000/XP или Windows Server 2003 на компьютерах х86 программа инсталляции помещает в корневой каталог системного раздела файл Boot.ini. NTLDR использует информацию из этого файла для отображения экрана, позволяющего пользователю выбирать операционную систему для загрузки.
Пример
файла Boot.ini приведен ниже.

[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(2)\WINXP [operating systems] multi(O)disk(O)rdisk(0)partition(1)\WINNT=" Microsoft Windows 2000 Professional" /fastdetect /noguiboot multi"(0)disk(0)rdisk(0)partition(2)\WINXP=" Microsoft Windows XP Professional" /fastdetect multi (0)disk(0)rdisk(0)partition(3)\WINDOWS=" Windows Server 2003, Standard" /fastdetect С:\CMDCONS\BOOTSECT.DAT="Microsoft Windows Recovery Console" /cmdcons C:\="Microsoft Windows"

Файл Boot.ini состоит из разделов [boot loader] и [operating systems], описанных ниже.

Раздел [boot loader]

Параметры, содержащиеся в этом разделе, описаны в табл. 3.2.

Таблица 3.2. Параметры, используемые в разделе [boot loader] файла Boot.ini
Параметр
Описание
timeout
Количество секунд, имеющееся в распоряжении пользователя для того, чтобы выбрать загружаемую операционную систему в меню загрузки, отображенном на экране. Если по истечении этого срока выбор операционной системы не сделан, NTLDR начнет загрузку операционной системы по умолчанию. Если значение параметра timeout равно 0, загрузчик сразу же начинает загрузку операционной системы по умолчанию, не позволяя пользователю сделать выбор. Если значение этого параметра установить на -1, то загрузчик будет ожидать выбора пользователя неограниченно долго. Значение -1 не воспринимается как допустимое в группе параметров System на панели управления, где задается значение timeout; поэтому для того, чтобы установить параметр timeout в —1 , вы должны вручную отредактировать файл Boot.ini
default
Путь к операционной системе, загружаемой по умолчанию

Меню загрузки не появится, если на компьютере установлена только одна копия Windows XP или Windows Server 2003. В этом случае загрузчик будет игнорировать значение параметра timeout и немедленно запустит операционную систему.

Раздел [operating systems]

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

Файл Boot.ini поддерживает загрузку множества версий операционных систем, построенных на основе ядра Windows NT (включая Windows 2000, Windows XP и продукты из семейства Windows Server 2003), а также запуск других операционных систем. В число альтернативных операционных систем, которые можно указать для загрузки в файле Boot.ini, входят Windows 9x, MS-DOS, а также OS/2, Linux и UNIX. Более подробную информацию об организации систем с двойной загрузкой можно найти в главе 1 "Планирование и установка системы".
Записи в разделе [operating systems] файла Boot.ini допускают использование ряда параметров (табл. 3.3). В этих параметрах строчные и заглавные буквы не различаются. Параметры, доступные только в Windows 2000/XP и Windows Server 2003, помечены символом звездочки (*).

Таблица 3.3. Параметры, используемые в разделе [operating systems] файла Boot.ini
Параметр
Описание
/BASEVIDEO
Компьютер загружается с использованием стандартного драйвера VGA. Если вы инсталлируете новый драйвер видеоадаптера, но он работает некорректно, выбор режима загрузки Windows 2000/XP или Windows Server 2003 с этим параметром позволит загрузить компьютер и заменить драйвер
/BAUDRATE
Указывает скорость в бодах, которая будет использоваться для отладки. Если вы не установите скорость в бодах, то по умолчанию будет принята скорость 9600 (если к компьютеру подключен модем), и 19 200 — для нуль-модемного кабеля. Параметр оказывает побочный эффект, устанавливая также параметр /DEBUG вне зависимости от того, используете ли вы /DEBUG или нет
/BOOTLOG*
Если указан этот параметр, то Windows 2000/XP или Windows Server 2003 будет записывать протокол загрузки в файл %SystemRoof%\Ntbtlog.txt. Этот файл указывает, какие драйверы были загружены и какие остались незагруженными
/CRASHDEBUG
Отладчик загружается при запуске Windows 2000/XP или Windows Server 2003, но остается в неактивном состоянии до тех пор, пока не произойдет ошибка ядра. Этот режим особенно полезен, если в процессе вашей работы имеют место редкие непредсказуемые ошибки ядра
/DEBUG
Отладчик загружается при запуске Windows 2000/XP или Windows Server 2003 и может активизироваться в любой момент хостом отладчика, подключенным к компьютеру. Этот режим рекомендуется использовать при отладке регулярно возникающих проблем
/DEBUGPORT= COMx
Указывает СОМ-порт для использования при отладке, где х — номер коммуникационного порта, который вы собираетесь использовать. Как и ключ /BAUDRATE, этот ключ принудительно переводит компьютер в отладочный режим
/FASTDETECT*
Этот параметр был впервые введен с появлением Windows 2000. Если на компьютере установлены ОС Windows NT 4.0, Windows 2000/XP и Windows Server 2003, то в процессе загрузки обеих операционных систем будет использоваться версия Ntdetect.com из более новой версии ОС. На этапе распознавания аппаратных средств в операционных системах, поддерживающих Plug and Play (начиная с Windows 2000), некоторые устройства распознаются драйверами Plug and Play, в то время как Windows NT 4.0, вследствие ограниченности поддержки Plug and Play, выполняет распознавание только с помощью Ntdetect. Если параметр /FASTDETECT указан, то Ntdetect не пытается распознавать такие устройства. Если нет, то Ntdetect будет выполнять энумерацию аппаратных средств в полном объеме. Таким образом, если вы имеете систему с двойной загрузкой, где на одном компьютере установлены Windows NT 4.0 и более поздние версии ОС из этого семейства, данный переключатель должен быть установлен для строк файла Boot.ini, запускающих Windows 2000/XP или Windows Server 2003, и пропущен для строк, осуществляющих запуск Windows NT 4.0
/MAXMEM
Определяет максимальный объем памяти (RAM), доступный для использования Windows. Этот параметр полезен, если вы подозреваете повреждение чипа памяти
/NODEBUG
При использовании этого параметра отладочная информация на экран не выводится
/NOGUIBOOT*
Новый параметр, появившийся в Windows 2000. Если он указан, то драйвер VGA, выполняющий вывод графической заставки в процессе загрузки системы, не инициализируется. Поскольку этот драйвер используется не только для отображения графической заставки, но и для отображения "синего экрана" (BSOD, Blue Screen of Death), то его блокировка приведет также к блокировке этой диагностической возможности
/NOSERIALMICE= [COMx,y, z, . . .]
Блокирует определение последовательной мыши на указанных СОМ-портах. Этот режим рекомендуется использовать, если вы имеете другой компонент (не мышь), подключенный к последовательному порту в процессе запуска. Если использовать параметр /NOSERIALMICE без указания СОМ-порта, то определение последовательной мыши будет блокировано для всех СОМ-портов
/SAFEBOOT*
Новый параметр, появившийся в Windows 2000. Стоит отметить, что практически никогда нет необходимости устанавливать его вручную, т. к. при нажатии клавиши <F8> загрузчик (NTLDR) автоматически использует его для выполнения загрузки в безопасном режиме (safe boot). Чтобы задать одну из опций безопасного режима загрузки, укажите двоеточие после этого параметра и задайте один из трех дополнительных переключателей: MINIMAL (опция Safe Mode), NETWORK (опция Safe Mode with Network) или DSREPAIR (опция Directory Services Repair). Как уже упоминалось ранее в этой главе, загрузка в безопасном режиме представляет собой режим загрузки, при котором Windows загружает только драйверы и сервисы, перечисленные поименно в ключах реестра Minimal и/или Network, расположенных В ключе HKLM\System\CurrentControlSet\ ControlXSafeBoot. Опция DSREPAIR применима только для контроллеров домена под управлением Windows 2000 Server или Windows Server 2003. Ее использование приводит к загрузке контроллера в режиме восстановления Active Directory; сами службы Active Directory при этом не запускаются.
Переключатель /SAFEBOOT имеет еще одну дополнительную опцию— ALTERNATESHELL. Если вы укажете эту опцию, то в качестве графической оболочки Windows будет использовать программу, которая указана в составе ключа HKLM\ SystemXCurrent ControlSet \SafeBoot \Altemate Shell как альтернативная графическая оболочка. По умолчанию применяется стандартная графическая оболочка — Explorer
/SOS
При использовании этого параметра на экране отображаются имена всех загружаемых драйверов. Данный параметр рекомендуется использовать, если Windows 2000, Windows XP или Windows Server 2003 не стартуют, и вы подозреваете отсутствие какого-либо драйвера

Редактирование файла boot.ini

Программа установки операционных систем Windows NT, Windows 2000, Windows XP и Windows Server 2003 помещает в корневой каталог системного раздела файл Boot.ini, формат и опции которого были рассмотрены в предыдущих разделах. Как и в Windows NT 4.0, этот файл получает атрибуты "только для чтения" (Read Only), "системный" (System) и "скрытый" (Hidden). Простейший и наиболее безопасный метод изменения файла Boot.ini — использовать значок System на панели управления. Для этого в меню Start (Пуск) выберите команду Control Panel | System (Панель управления | Система), в раскрывшемся окне перейдите на вкладку Advanced (Дополнительно) и нажмите кнопку Startup and Recovery (Загрузка и восстановление). Раскроется окно Startup and Recovery (рис. 3.3).


Рис. 3.3.Окно Startup and Recovery предоставляет простейший и наиболее безопасный метод изменения файла Boot.ini

В Windows 2000 окно Startup and Recovery позволяло указать операционную систему, запускаемую по умолчанию, а также задать временной интервал, в течение которого на экране будет оставаться меню загрузки, позволяющее пользователю выбрать операционную систему, отличную от указанной по умолчанию. В дополнение к этим возможностям, Windows XP и Windows Server 2003 позволяют также задать временной интервал, в течение которого на экране будут отображаться опции отладочного меню. Наконец, особого внимания заслуживает возможность ручного редактирования файла Boot.ini. Теперь, чтобы открыть файл Boot.ini для ручного редактирования с помощью текстового редактора Notepad, достаточно нажать кнопку Edit в окне Startup and Recovery. Удобство этой опции сложно переоценить, поскольку в Windows NT/2000 для этого требовалось предварительно снимать с файла Boot.ini атрибут защиты от записи, а затем, после сохранения внесенных изменений, восстанавливать этот атрибут.


2. Порядок выполнения работы: изучить теоретические сведения, изучить режимы загрузки ОС Windows XP. Ход выполнения работы и результаты выполнения с выводами отобразить в отчете.

Немає коментарів:

Дописати коментар