Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6.3 Начальная загрузка операционной системы.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
152.58 Кб
Скачать

Начальная загрузка операционной системы

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

2. работа загрузчика,

  1. загрузка ядра,

  2. регистрация.

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

Реестр, загрузка системы и предотвращение сбоев

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

Примечание 

Как уже отмечалось, процесс загрузки Windows XP очень напоминает загрузку Windows NT/2000. И это неудивительно, поскольку система Windows XP была создана на основе ядра Windows NT/2000. Однако в этой области имеется несколько усовершенствований, которые будут отмечены в этой главе. К ним относятся использование логического упреждения (logical prefetching) для ускорения загрузки, модернизация загрузчика, а также усовершенствование процесса загрузки системы в целом.

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

Windows Could not start because the following file is missing or corrupt:

\WINNT\SYSTEM32\CONFIG\SYSTEM

You can attempt to repair this file by Starting Windows 2000 Setup using the original Setup floppy disk of CD-ROM. Select 'r' at the first screen to repair.

Улей реестра \SYSTEM в работающей системе видим для пользователей в составе дерева HKEY_LOCAL_MACHINE. Этот улей определяет порядок загрузки всех драйверов системы, и доступ к нему получают как загрузчик операционной системы (NTLDR), так и Диспетчер ввода/вывода (I/O Manager).

Каждый драйвер, существующий в системе, имеет свой ключ в составе ключа реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services. Любой из таких ключей, в свою очередь, имеет в своем составе параметр start. Значение, присвоенное параметру start, имеющемуся в составе ключа каждого конкретного драйвера, определяет, на каком этапе загрузки системы производятся загрузка и инициализация данного драйвера.

 Реестр и загрузка системы

Процессы, имеющие место при успешном запуске компьютера, работающего под управлением Windows NT/2000/XP, перечислены ниже:

  •  самотестирование при включении (Power On Self Test, POST);

  •  инициализация при запуске (Initial startup process);

  •  работа загрузчика (Boot loader process);

  •  выбор операционной системы (при наличии нескольких систем);

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

  •  выбор конфигурации;

  •  загрузка ядра;

  •  инициализация ядра;

  •  регистрация пользователя.

 Примечание

Процесс запуска начинается, когда пользователь выполняет одно из следующих действий:

  •  включает компьютер (который ранее был выключен);

  •  выполняет перезагрузку компьютера, выбрав опцию Завершение работы (Shutdown) в диалоговом окне Вход в Windows (Enter Password) или опцию Перезагрузка (Restart) в диалоговом окне Завершение работы Windows (Shut Down Windows).

Однако, эта последовательность не применима к возобновлению работы после спящего (hibernate) и ждущего режимов (standby).

Для Windows XP можно выделить следующие этапы загрузки:

  •  фаза самотестирования при включении питания (Power-on self test, POST);

  •  фаза инициализации при запуске; О фаза загрузки ядра;

  •  фаза инициализации драйверов устройств Windows XP и инициализация сервисов;

  •  фаза регистрации пользователя в системе Windows XP.

К тому моменту, когда производится регистрация пользователя в системе, компьютер уже завершает загрузку Windows NT/2000/XP и большую часть процесса инициализации. Однако полностью все процессы будут завершены только после успешной регистрации пользователя в системе.

Для начала успешной загрузки Windows NT/2000/XP необходимо соблюдение следующих условий:

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

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

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

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

Файлы, необходимые для успешного запуска Windows NT/2000/XP на компьютерах х86, перечислены в табл.1.

Таблица 1. Файлы, необходимые для запуска Windows NT/2000/XP

Файлы

Местоположение

NTLDR

Корневой каталог системного раздела

Boot.ini

Корневой каталог системного раздела

Bootsect.dos*

Корневой каталог системного раздела

Ntdetect.com

Корневой каталог системного раздела

Ntbootdd.sys (только для SCSI)

Корневой каталог системного раздела

Ntoskrnl.exe

%SystemRoot%%\System32

Hal.dll

%SystemRoot%\Sysiem32

Улей реестра \SYSTEM

%SystemRoot%\System32\Config

Драйверы устройств

%SystemRoot%Sysiem32\Dr\vers

* Только в системах с двойной загрузкой, где в качестве альтернативной операционной системы используются MS-DOS, Windows 3.1.x или Windows 9x. Этот файл необходим для загрузки альтернативной операционной системы. Для построения мультизагрузочной системы, где в качестве альтернативных ОС используются UNIX и Linux, можно скопировать первый сектор раздела, на котором установлена эта операционная система, в файл на системном разделе NT/2000, и назвать этот файл, например, C:\Bootsect.inx или C:\Bootsect.bsd (по аналогии с C:\Bootsect.dos), а затем отредактировать файл Boot.ini, добавив в раздел [operating systems] строки типа

С:\BOOTSECT.LNX="Linux" 

С:\BOOTSECT.BSD="FreeBSD"

Примечание

Ввиду отличий между системами на базе Itanium и системами х86, некоторые файлы, которые необходимы для запуска систем х86, для систем на базе Itanium не нужны. К этим файлам относятся: Boot.ini, Ntdetect.com и NTLDR.

Файл Boot.ini не требуется, поскольку информация, которая раньше хранилась в нем, теперь хранится в NVRAM. Необходимость в файле Ntdetect.com также отпала, поскольку в отличие от систем х86, системы Itanium являются полностью совместимыми со спецификацией ACPI, и поэтому нет необходимости в определении основного аппаратного обеспечения. Все аппаратное обеспечение определяется и инициализируется операционной системой Windows XP в соответствии с требованиями спецификации ACPI. Файл NTLDR представляет собой загрузчик для систем х86. Он не нужен, т. к. в системе на базе Itanium используется другой загрузчик— IA64ldr.efi.

Файлы, необходимые для запуска Windows XP, перечислены в табл.2. Они размещены в системном разделе EFI — первом разделе загрузочного диска.

Таблица 2. Файлы, необходимые для запуска Windows XP

Имена файлов и папок

Местоположение

Описание

FPSWA.efi

Корневой каталог системного раздела EFI

Поддерживает операции с плавающей точкой EFI

MSUtil (папка)

Находится в корневом каталоге системного раздела EFI

Содержит инструментальные средства EFI

IA64ldr.efi

Папка EFI\Microsoft\WinNT50.x в ESP

Загрузчик операционной системы. Указанный путь зависит от количества инсталлированных операционных систем

Ntoskrnl.exe

%SystemRoot% System32

Ядро (kernel) операционной системы Windows XP. Программный код операционной системы, являющийся частью ядра, выполняется в специальном привилегированном процессорном режиме, с прямым доступом к системным данным и аппаратным средствам

Hal.dll

%SystemRoot% System32

Файл динамически загружаемой библиотеки уровня аппаратных абстракций (Hardware Abstraction Layer, HAL). HAL обеспечивает изолирование или абстрагирование операционной системы от низкоуровневой аппаратной ее части и предоставляет общий программный интерфейс для однотипных устройств (например, видеоадаптеров)

Файл реестра System

%SystemRoot%\ System32\Config\System

Ключ реестра

HKEY_LOCAL_MACHINE \SYSTEM

Драйверы устройств

%SystemRoo1°A System32\Drivers

Файлы драйверов для различных устройств

 Примечание

В Windows NT, Windows 2000 и Windows XP, в отличие от других операционных систем, такие понятия как "системный раздел" (system partition) и "загрузочный раздел" (boot partition) различаются. Это очень важно знать. В системном разделе находятся файлы, которые необходимы для запуска Windows NT/2000/XP. Загрузочный раздел, в котором содержатся каталоги %SystemRoot% и %Sysfemf?oof%\System32, может располагаться на этом же или другом физическом диске. %SystemRoot% является переменной окружения.

 Процесс инициализации при запуске

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

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

Примечание

Для успешной загрузки Windows NT/2000/XP с дискеты требуется, чтобы ее первым сектором был загрузочный сектор раздела. Кроме того, на этой дискете должны присутствовать все файлы, необходимые для загрузки Windows NT/2000/XP.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]