Функции загрузчика NTLDR
NTLDR управляет процессами выбора операционной системы и распознавания аппаратных средств перед инициализацией ядра Windows 2000. Загрузчик NTLDR должен находиться в корневом каталоге системного диска. Помимо этого в системном разделе должны присутствовать файлы, перечисленные в табл. 2.1.
Когда NTLDR начинает работу, он очищает экран и выполняет следующие действия:
- Переключает процессор в режим использования 32-разрядной модели памяти с прямой адресацией. Компьютеры х86 при запуске стартуют в реальном режиме, подобном режиму, в котором стартуют процессоры 8088 и 8086. Поскольку NTLDR представляет собой 32-разрядную программу, для того чтобы загрузчик смог начать выполнять какие бы то ни было действия, процессор необходимо переключить в защищенный режим.
- Запускает соответствующую минифайловую систему. Код, предназначенный для доступа к файлам на томах FAT и NTFS, встроен в NTFS. Этот код позволяет загрузчику читать файлы, получать доступ к ним и выполнять их копирование.
- Читает расположенный в корневом каталоге системного диска файл Boot.ini и отображает на экране соответствующее меню для выбора загружаемой операционной системы. Экран, выводимый на данном этапе загрузки, называется экраном загрузчика (boot loader screen). Если компьютер сконфигурирован для загрузки нескольких систем, и пользователь выбирает операционную систему, отличную от Windows NT/2000, то NTLDR загружает в память файл Bootsect.dos и передает ему управление. Другая операционная система стартует как обычно, поскольку файл Bootsectdos содержит копию загрузочного сектора раздела, который находился на основном разделе или логическом диске до инсталляции Windows NT/2000.
- Если выбрана одна из версий Windows NT/2000, то выполняется Ntdetect.com, чтобы собрать информацию о физических устройствах, подключенных на данный момент к компьютеру.
- Загружает и запускает ядро операционной системы Ntoskrnl.exe и передает ему информацию, собранную программой Ntdetect.com.