Процессы, происходящие при успешном запуске компьютера, работающего под управлением Windows Server 2003, перечислены ниже.
Самотестирование при включении (Power-On Self-Test, POST)
Инициализация при запуске (Initial startup process)
Работа загрузчика (Boot loader process):
выбор операционной системы (при наличии нескольких систем)
опознавание аппаратных средств
выбор конфигурации
Загрузка ядра
инициализация ядра
Регистрация пользователя
Как видно из приведенного выше списка, процесс загрузки Windows Server 2003 имеет очень близкое сходство с процессом загрузки Windows 2000/XP. Это неудивительно, если вспомнить, что новое семейство серверных продуктов Windows Server 2003 построено на базе ядра Windows 2000/XP. Тем не менее, и в этой области внесены некоторые усовершенствования, которые будут особо отмечены в ходе дальнейшего изложения.
Описанная выше последовательность загрузки действует только применительно к системам, загружающимся после нормального останова. При выходе из режима ожидания (standby) или спящего (hibernate) режима эта последовательность будет другой.
Процесс запуска начинается, когда пользователь выполняет одно из следующих действий:
включает компьютер (который ранее был выключен);
вручную выполняет перезагрузку компьютера, выбрав опцию Restart в окне Shut Down Windows.
К моменту регистрации пользователя в системе компьютер уже завершает загрузку операционной системы и большую часть процесса инициализации. Однако полностью все процессы будут завершены только после успешной регистрации пользователя в системе.
При включении питания или перезагрузке компьютер проходит стадию самотестирования (bootstrapping) аппаратных средств при включении питания (так называемую процедуру POST, Power-On Self-Test). В это время компьютер находится под управлением базовой системы ввода/вывода (Basic Input/Output System, BIOS). При возникновении проблем с аппаратными средствами или настройками уже на стадии POST компьютер сигнализирует об этом серией звуковых сигналов. На этот случай следует иметь под рукой сопроводительную документацию, полученную от поставщика в комплекте с вашим компьютером.
Загрузчик (boot loader) позволяет выбрать операционную систему, которую требуется запустить, и загружает файлы операционной системы из загрузочного раздела. Общие задачи, выполняемые на данном этапе, сводятся к установке 32-разрядной модели памяти с прямой адресацией (flat addressing), сбору данных об аппаратной конфигурации, построению ее описания в памяти и передаче указателя на это описание в блок загрузчика. После этого NTLDR (для платформ х86) загружает образ ядра, HAL и драйверы для устройств и файловой системы тома, с которого производится загрузка системы. Помимо всего прочего, на данном этапе производится также и загрузка некоторых драйверов, для которых равен нулю параметр реестра start, расположенный под следующим ключом реестра:
Важность системного реестра невозможно переоценить, т. к. уже на данном этапе (работа загрузчика) он становится необходимым для загрузки системы. Если улей (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. Этот улей определяет порядок загрузки всех драйверов системы, и доступ к нему получают как загрузчик операционной системы, так и диспетчер ввода/вывода.