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




Лабораторная работа № 1

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

 

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

 

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

Загрузка 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. Этот улей определяет порядок загрузки всех драйверов системы, и доступ к нему получают как загрузчик операционной системы, так и диспетчер ввода/вывода.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-02 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: