Работа загрузчика
Загрузчик (boot loader) позволяет выбрать операционную систему, которую требуется запустить, и загружает файлы операционной системы из загрузочного раздела. В системах на базе процессоров х86 и системах на базе RISC-процессоров загрузчик работает по-разному.
Общие задачи, выполняемые на данном этапе, сводятся к установке 32-разрядной модели памяти с прямой адресацией (flat addressing), сбору данных об аппаратной конфигурации, построению ее описания в памяти и передаче указателя на это описание в блок загрузчика. После этого NTLDR (для платформ х86) или OSLOADER (для платформ RISC) загружает образ ядра, HAL и драйверы для устройств и файловой системы тома, с которого производится загрузка системы.
Помимо всего прочего, на данном этапе производится также и загрузка некоторых драйверов, для которых равен нулю параметр реестра Start, расположенный в следующем разделе реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName
Здесь ServiceName представляет собой имя сервиса, например:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\atapi
Примечание
Важность системного реестра невозможно переоценить, т. к. уже на данном этапе (работа загрузчика) он становится необходимым для загрузки системы. Если раздел (hive) System, необходимый в том числе и для загрузки драйверов, не будет обнаружен (или окажется поврежденным), то на экране появится примерно такое сообщение об ошибке:
Не удается запустить Windows 2000 из-за испорченного или отсутствующего файла: \WINNT\SYSTEM32\CONFIG\SYSTEM
Можно попробовать восстановить этот файл, запустив программу установки Windows 2000 с оригинальной установочной дискеты или CD-ROM. Выберите 'r' в первом диалоговом экране для запуска процедуры восстановления.
Подробную информацию о системном реестре, а также процедурах его резервного копирования и восстановления можно найти в главе 14 данной книги. Здесь же следует отметить, что раздел System в работающей системе пользователи видят в составе дерева HKEY_LOCAL_MACHINE. Этот раздел определяет порядок загрузки всех драйверов системы, и доступ к нему получают как загрузчики операционной системы (NTLDR или OSLOADER), так и Диспетчер ввода/вывода.