Инициализация при запуске
После успешного завершения процедуры POST начинается процесс инициализации загрузки. На компьютерах x86 системная BIOS ищет загрузочный диск и загружает в память загрузочный сектор (boot sector), чей код передает управление файлу NTLDR.
Определение загрузочного диска
После завершения тестов POST BIOS пытается обнаружить загрузочный диск. Порядок поиска носителей (дисковод, жесткий диск, SCSI-устройства, CD-ROM) определяется настройками последовательности загрузки (boot sequence) в BIOS. В современных BIOS пользователь может изменять этот порядок вручную.
Если первым в последовательности указан дисковод A: и в нем находится загрузочная дискета, BIOS попытается загрузить систему с нее. Если дискеты нет, проверяется первый жесткий диск, который к этому моменту уже инициализирован.
Главная загрузочная запись (MBR)
Для загрузки операционной системы критически важен первый сектор жесткого диска, который содержит:
- Главную загрузочную запись (Master Boot Record, MBR).
- Таблицу разделов (Partition Table).
Системная BIOS считывает MBR в память и передает управление содержащемуся в нем коду. Этот код сканирует таблицу разделов в поисках системного раздела. Найденный системный раздел содержит загрузочный сектор (Partition Boot Sector), который загружает операционную систему.
Примечание:
Чтобы успешно загрузить Windows 2000 с дискеты, ее первый сектор должен содержать загрузочный код. Кроме того, на дискете должны присутствовать все файлы, необходимые для запуска системы. Подробную информацию о создании загрузочных дискет можно найти в разделе по восстановлению загрузки.
Ошибки загрузки из-за отсутствия системного раздела
Если на первом жестком диске отсутствует системный раздел, главная загрузочная запись выдаст одно из следующих сообщений об ошибках:
- Invalid partition table (Неверная таблица разделов)
- Error loading operating system (Ошибка загрузки операционной системы)
- Missing operating system (Отсутствует операционная система)
Процедура определения и изменения системного раздела также описана в главе о восстановлении загрузки.
Действия загрузочного сектора раздела
Как правило, главная загрузочная запись (MBR) не зависит от конкретной операционной системы. Например, на компьютерах x86 одна и та же MBR может использоваться для загрузки Windows NT/2000, Windows 9x, а также комбинаций MS-DOS/Windows 3.1x. Однако загрузочный сектор раздела зависит как от операционной системы, так и от файловой системы.
На компьютерах x86 загрузочный сектор раздела Windows 2000 выполняет следующие действия:
- Распознает файловую систему и использует ее для поиска загрузчика NTLDR в корневом каталоге системного раздела.
- В томах FAT загрузочный сектор занимает 1 сектор физической разметки диска.
- В томах FAT32 – 2 сектора, так как загрузочный код превышает 512 байт.
- В томах NTFS загрузочный сектор может занимать до 16 секторов, включая код файловой системы, необходимый для поиска NTLDR.
- Находит загрузчик операционной системы (NTLDR) и загружает его в память.
- Передает управление коду загрузчика, который запускает процесс загрузки Windows 2000.
Расположение системного и загрузочного разделов
На компьютерах x86 системный раздел должен находиться на первом физическом жестком диске. Однако загрузочный раздел, содержащий файлы операционной системы Windows 2000, может совпадать с системным разделом, но также может находиться в другом разделе того же диска или даже на другом физическом накопителе.
Если первый жесткий диск не содержит системного раздела, BIOS не сможет передать управление операционной системе. В этом случае можно отключить диск, чтобы BIOS использовала другой накопитель для загрузки системы.
Ошибки при загрузке с дискеты
Если в дисководе A: находится дискета, BIOS загружает в память ее первый сектор. При этом возможны следующие сценарии:
- Если дискета является загрузочной, ее первый сектор представляет собой загрузочный сектор раздела (Partition Boot Sector), который продолжит процесс загрузки.
- Если дискета не является загрузочной и отформатирована под управлением MS-DOS или Windows 9x, появится сообщение об ошибке:
Non-System disk or disk error Replace and press any key when ready
- Если дискета не является загрузочной и отформатирована в Windows NT/2000, появится следующее сообщение:
Ntldr is missing Press any key to restart
Вывод
Этап инициализации загрузки Windows 2000 играет важную роль в процессе запуска системы. Ошибки на этом этапе могут быть связаны как с аппаратными проблемами (неправильная последовательность загрузки, отсутствие системного раздела), так и с отсутствием или повреждением критически важных файлов. Понимание структуры загрузочных данных позволяет быстро выявить причину сбоя и принять меры по его устранению.
Дополнительные сведения можно найти в разделе Работа загрузчика Windows 2000, где подробно рассматриваются функции NTLDR и механизм загрузки операционной системы.