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

После получения информации об аппаратных средствах и выбранном профиле конфигурации, загрузчик передает управление ядру Windows 2000 Ntoskrnl.exe и передает ему данные, собранные программой Ntdetect.com.

Определение аппаратного профиля

Информация о выбранном профиле передается загрузчику в момент нажатия клавиши ENTER в меню выбора конфигурации оборудования (Hardware Profile/Configuration Recovery). Если пользователь не выбирает профиль вручную, загрузчик автоматически использует профиль по умолчанию после истечения таймера или в случае, если в системе существует только один профиль.

Процесс загрузки ядра

На экране во время загрузки появляются точки-индикаторы, которые отражают процесс загрузки в память ядра Windows 2000 (Ntoskrnl.exe) и библиотеки аппаратной абстракции (HAL.dll). На этом этапе модули загружены, но еще не инициализированы.

После этого загрузчик:

Использование управляющих параметров

На данном этапе загрузчик активирует API для работы с реестром и создает набор управляющих параметров (Control Set), который будет использоваться для инициализации системы.

Значение, заданное в разделе реестра:

HKEY_LOCAL_MACHINE\SYSTEM\Select

определяет, какой из доступных наборов управляющих параметров (например, ControlSet001, ControlSet002) будет использоваться при загрузке Windows 2000.

Раздел реестра HKEY_LOCAL_MACHINE\SYSTEM\Select

Рис. 2.1. Раздел реестра HKEY_LOCAL_MACHINE\SYSTEM\Select

Загрузчик определяет используемый набор параметров следующим образом:

На основании сделанного выбора загрузчик устанавливает значение Current в разделе HKEY_LOCAL_MACHINE\SYSTEM\Select, указывая, какой набор параметров будет использоваться.

Загрузка драйверов

Загрузчик просматривает реестр, анализируя список всех служб в разделе:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Он ищет драйверы, у которых параметр Start имеет значение 0x0, что указывает на необходимость загрузки этих драйверов, но без их немедленной инициализации.

Обычно такими драйверами являются низкоуровневые компоненты, например драйверы дисков. Порядок их загрузки определяется значением параметра Group, а приоритет загрузки задается в разделе реестра:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder

Завершение загрузки ядра

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

Дополнительная информация

Более подробную информацию о загрузке драйверов можно найти в разделе Загрузка и инициализация драйверов устройств.