Функції завантажувача NTLDR. Файл boot.ini.
Функции загрузчика NTLDR (для компьютеров х86)
NTLDR управляет процессами выбора операционной системы и распознавания аппаратных средств перед инициализацией ядра. Загрузчик NTLDR должен находиться в корневом каталоге системного диска. Когда NTLDR начинает выполнение, он очищает экран и выполняет следующие действия.
1. Переключает процессор в режим использования 32-разрядной модели памяти с прямой адресацией. Компьютеры х86 при запуске стартуют в реальном режиме, подобном режиму, в котором стартуют процессоры 8088 и 8086. Поскольку NTLDR представляет собой 32-разрядную программу, для того чтобы загрузчик смог начать выполнять какие бы то ни было действия, процессор необходимо переключить в защищенный режим.
2. Запускает соответствующую мини-файловую систему. Код, предназначенный для доступа к файлам на томах FAT и NTFS, встроен в NTFS. Этот код позволяет загрузчику читать файлы, получать доступ к ним и выполнять их копирование.
3. Читает расположенный в корневом каталоге системного диска файл Boot.ini и отображает на экране соответствующее меню для выбора загружаемой операционной системы. Экран, выводимый на данном этапе загрузки, называется экраном загрузчика (boot loader screen). Если компьютер сконфигурирован для загрузки нескольких систем, и пользователь выбирает операционную систему, отличную от Windows NT/2000/XP или Windows Server 2003, то NTLDR загружает в память файл Bootsect.dos и передает ему управление. Другая операционная система стартует как обычно, поскольку файл Bootsect.dos содержит копию загрузочного сектора раздела, который находился на основном разделе или логическом диске до инсталляции Windows NT/2000/XP или Windows Server 2003.
4. Если выбрана одна из версий Windows NT/2000/XP или Windows Server 2003, то выполняется Ntdetect.com, чтобы собрать информацию о физических устройствах, подключенных на данный момент к компьютеру.
5. Загружает и запускает ядро операционной системы Ntoskrnl.exe и передает ему информацию, собранную программой Ntdetect.com.
Примечание
Одним из наиболее значимых усовершенствований, впервые введенных в Windows XP и присутствующих в Windows Server 2003, является существенное повышение производительности, в том числе — так называемая ускоренная загрузка (Fast Boot), реализованная за счет повышения производительности загрузчика Ntldr. Новые версии Ntldr, входящие в состав Windows XP и Windows Server 2003, оптимизируют операции чтения с диска и во время первой загрузки кэшируют все данные о дисковой подсистеме, включая метаданные файловой системы. Кэшированные данные используются при последующих перезагрузках для чтения системных файлов параллельно с другими операциями. Теперь в процессе загрузки считывание каждого из системных файлов происходит за одну операцию. Как результат, по сравнению с Windows 2000 производительность загрузчика выросла примерно в 4—5 раз.
Выбор запускаемой операционной системы
Загрузчик операционной системы отображает на экране меню, в котором можно выбрать запускаемую операционную систему. Вид этого экрана зависит от информации, которая содержится в файле Boot.ini. Например, там можно увидеть следующее:
Please select the operating system to start: Windows XP Professional Windows Server 2003 Windows 2000 Professional Windows NT Server Version 4.0 Windows NT Server Version 4.0(VGA mode) Use the up and down arrow keys to move the highlight to your choice. Press ENTER to choose. Seconds until highlighted choice will be started automatically: 29 For troubleshooting and advanced startup options for Windows, press F8.
Выбор операционной системы, которую требуется запустить, ничем не отличается от аналогичного процесса при работе с предшествующими версиями операционных систем из семейства Windows — Windows NT, Windows 2000 и Windows XP. Операционная система, указанная в приведенном списке первой, выбирается по умолчанию, и изначально курсор установлен на этой строке. Чтобы выбрать для запуска другую операционную систему, воспользуйтесь клавишами перемещения курсора (<t> и <1>), выделите нужную операционную систему и нажмите клавишу <Enter>.
Если вы не выберете ни один из пунктов меню к тому моменту, когда счетчик, указанный в строке: Seconds until highlighted choice will be started automatically: 29 достигнет нуля, NTLDR загрузит операционную систему, указанную в файле Boot.ini по умолчанию. Программа Setup задает в качестве параметра по умолчанию копию операционной системы, которая была инсталлирована последней. Файл Boot.ini можно отредактировать, указав в качестве загружаемой по умолчанию операционной системы любую из установленных.
Файл Boot.ini
При инсталляции Windows NT/2000/XP или Windows Server 2003 на компьютерах х86 программа инсталляции помещает в корневой каталог системного раздела файл Boot.ini. NTLDR использует информацию из этого файла для отображения экрана, позволяющего пользователю выбирать операционную систему для загрузки. Пример файла Boot.ini приведен ниже.
[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(2)\WINXP [operating systems] multi(O)disk(O)rdisk(0)partition(1)\WINNT=" Microsoft Windows 2000 Professional" /fastdetect /noguiboot multi"(0)disk(0)rdisk(0)partition(2)\WINXP=" Microsoft Windows XP Professional" /fastdetect multi (0)disk(0)rdisk(0)partition(3)\WINDOWS=" Windows Server 2003, Standard" /fastdetect С:\CMDCONS\BOOTSECT.DAT="Microsoft Windows Recovery Console" /cmdcons C:\="Microsoft Windows"
Файл Boot.ini состоит из разделов [boot loader] и [operating systems], описанных ниже.
Раздел [boot loader]
Параметры, содержащиеся в этом разделе, описаны в табл. 3.2.
Таблица 3.2. Параметры, используемые в разделе [boot loader] файла Boot.ini
Параметр
| Описание
|
timeout
| Количество секунд, имеющееся в распоряжении пользователя для того, чтобы выбрать загружаемую операционную систему в меню загрузки, отображенном на экране. Если по истечении этого срока выбор операционной системы не сделан, NTLDR начнет загрузку операционной системы по умолчанию. Если значение параметра timeout равно 0, загрузчик сразу же начинает загрузку операционной системы по умолчанию, не позволяя пользователю сделать выбор. Если значение этого параметра установить на -1, то загрузчик будет ожидать выбора пользователя неограниченно долго. Значение -1 не воспринимается как допустимое в группе параметров System на панели управления, где задается значение timeout; поэтому для того, чтобы установить параметр timeout в —1, вы должны вручную отредактировать файл Boot.ini
|
default
| Путь к операционной системе, загружаемой по умолчанию
|
Примечание
Меню загрузки не появится, если на компьютере установлена только одна копия Windows XP или Windows Server 2003. В этом случае загрузчик будет игнорировать значение параметра timeout и немедленно запустит операционную систему.
Раздел [operating systems]
Этот раздел содержит список доступных для загрузки операционных систем. Каждая запись указывает путь к загрузочному разделу операционной системы, строку для отображения на экране в процессе загрузки и необязательные параметры. Файл Boot.ini поддерживает загрузку множества версий операционных систем, построенных на основе ядра Windows NT (включая Windows 2000, Windows XP и продукты из семейства Windows Server 2003), а также запуск других операционных систем. В число альтернативных операционных систем, которые можно указать для загрузки в файле Boot.ini, входят Windows 9x, MS-DOS, а также OS/2, Linux и UNIX. Записи в разделе [operating systems] файла Boot.ini допускают использование ряда параметров (табл. 3.3). В этих параметрах строчные и заглавные буквы не различаются. Параметры, доступные только в Windows 2000/XP и Windows Server 2003, помечены символом звездочки (*).
Таблица 3.3. Параметры, используемые в разделе [operating systems] файла Boot.ini
Параметр
| Описание
|
/BASEVIDEO
| Компьютер загружается с использованием стандартного драйвера VGA. Если вы инсталлируете новый драйвер видеоадаптера, но он работает некорректно, выбор режима загрузки Windows 2000/XP или Windows Server 2003 с этим параметром позволит загрузить компьютер и заменить драйвер
|
/BAUDRATE
| Указывает скорость в бодах, которая будет использоваться для отладки. Если вы не установите скорость в бодах, то по умолчанию будет принята скорость 9600 (если к компьютеру подключен модем), и 19 200 — для нуль-модемного кабеля. Параметр оказывает побочный эффект, устанавливая также параметр /DEBUG вне зависимости от того, используете ли вы /DEBUG или нет
|
/BOOTLOG*
| Если указан этот параметр, то Windows 2000/XP или Windows Server 2003 будет записывать протокол загрузки в файл %SystemRoof%\Ntbtlog.txt. Этот файл указывает, какие драйверы были загружены и какие остались незагруженными
|
/CRASHDEBUG
| Отладчик загружается при запуске Windows 2000/XP или Windows Server 2003, но остается в неактивном состоянии до тех пор, пока не произойдет ошибка ядра. Этот режим особенно полезен, если в процессе вашей работы имеют место редкие непредсказуемые ошибки ядра
|
/DEBUG
| Отладчик загружается при запуске Windows 2000/XP или Windows Server 2003 и может активизироваться в любой момент хостом отладчика, подключенным к компьютеру. Этот режим рекомендуется использовать при отладке регулярно возникающих проблем
|
/DEBUGPORT= COMx
| Указывает СОМ-порт для использования при отладке, где х — номер коммуникационного порта, который вы собираетесь использовать. Как и ключ /BAUDRATE, этот ключ принудительно переводит компьютер в отладочный режим
|
/FASTDETECT*
| Этот параметр был впервые введен с появлением Windows 2000. Если на компьютере установлены ОС Windows NT 4.0, Windows 2000/XP и Windows Server 2003, то в процессе загрузки обеих операционных систем будет использоваться версия Ntdetect.com из более новой версии ОС. На этапе распознавания аппаратных средств в операционных системах, поддерживающих Plug and Play (начиная с Windows 2000), некоторые устройства распознаются драйверами Plug and Play, в то время как Windows NT 4.0, вследствие ограниченности поддержки Plug and Play, выполняет распознавание только с помощью Ntdetect. Если параметр /FASTDETECT указан, то Ntdetect не пытается распознавать такие устройства. Если нет, то Ntdetect будет выполнять энумерацию аппаратных средств в полном объеме. Таким образом, если вы имеете систему с двойной загрузкой, где на одном компьютере установлены Windows NT 4.0 и более поздние версии ОС из этого семейства, данный переключатель должен быть установлен для строк файла Boot.ini, запускающих Windows 2000/XP или Windows Server 2003, и пропущен для строк, осуществляющих запуск Windows NT 4.0
|
/MAXMEM
| Определяет максимальный объем памяти (RAM), доступный для использования Windows. Этот параметр полезен, если вы подозреваете повреждение чипа памяти
|
/NODEBUG
| При использовании этого параметра отладочная информация на экран не выводится
|
/NOGUIBOOT*
| Новый параметр, появившийся в Windows 2000. Если он указан, то драйвер VGA, выполняющий вывод графической заставки в процессе загрузки системы, не инициализируется. Поскольку этот драйвер используется не только для отображения графической заставки, но и для отображения "синего экрана" (BSOD, Blue Screen of Death), то его блокировка приведет также к блокировке этой диагностической возможности
|
/NOSERIALMICE= [COMx,y, z,...]
| Блокирует определение последовательной мыши на указанных СОМ-портах. Этот режим рекомендуется использовать, если вы имеете другой компонент (не мышь), подключенный к последовательному порту в процессе запуска. Если использовать параметр /NOSERIALMICE без указания СОМ-порта, то определение последовательной мыши будет блокировано для всех СОМ-портов
|
/SAFEBOOT*
| Новый параметр, появившийся в Windows 2000. Стоит отметить, что практически никогда нет необходимости устанавливать его вручную, т. к. при нажатии клавиши <F8> загрузчик (NTLDR) автоматически использует его для выполнения загрузки в безопасном режиме (safe boot). Чтобы задать одну из опций безопасного режима загрузки, укажите двоеточие после этого параметра и задайте один из трех дополнительных переключателей: MINIMAL (опция Safe Mode), NETWORK (опция Safe Mode with Network) или DSREPAIR (опция Directory Services Repair). Как уже упоминалось ранее в этой главе, загрузка в безопасном режиме представляет собой режим загрузки, при котором Windows загружает только драйверы и сервисы, перечисленные поименно в ключах реестра Minimal и/или Network, расположенных В ключе HKLM\System\CurrentControlSet\ ControlXSafeBoot. Опция DSREPAIR применима только для контроллеров домена под управлением Windows 2000 Server или Windows Server 2003. Ее использование приводит к загрузке контроллера в режиме восстановления Active Directory; сами службы Active Directory при этом не запускаются. Переключатель /SAFEBOOT имеет еще одну дополнительную опцию— ALTERNATESHELL. Если вы укажете эту опцию, то в качестве графической оболочки Windows будет использовать программу, которая указана в составе ключа HKLM\ SystemXCurrent ControlSet \SafeBoot \Altemate Shell как альтернативная графическая оболочка. По умолчанию применяется стандартная графическая оболочка — Explorer
|
/SOS
| При использовании этого параметра на экране отображаются имена всех загружаемых драйверов. Данный параметр рекомендуется использовать, если Windows 2000, Windows XP или Windows Server 2003 не стартуют, и вы подозреваете отсутствие какого-либо драйвера
|
Редактирование файла Boot.ini
Программа установки операционных систем Windows NT, Windows 2000, Windows XP и Windows Server 2003 помещает в корневой каталог системного раздела файл Boot.ini, формат и опции которого были рассмотрены в предыдущих разделах. Как и в Windows NT 4.0, этот файл получает атрибуты "только для чтения" (Read Only), "системный" (System) и "скрытый" (Hidden). Простейший и наиболее безопасный метод изменения файла Boot.ini — использовать значок System на панели управления. Для этого в меню Start (Пуск) выберите команду Control Panel | System (Панель управления | Система), в раскрывшемся окне перейдите на вкладку Advanced (Дополнительно) и нажмите кнопку Startup and Recovery (Загрузка и восстановление). Раскроется окно Startup and Recovery.
Воспользуйтесь поиском по сайту: