stringtranslate.com

НТЛДР

NTLDR ( сокращение от NT loader )загрузчик для всех выпусков операционной системы Windows NT с 1993 года с выпуском Windows NT 3.1 до Windows XP и Windows Server 2003. Начиная с Windows Vista он был заменен загрузчиком BOOTMGR . NTLDR обычно запускается с основного устройства хранения данных , но он также может запускаться с портативных устройств хранения данных, таких как CD-ROM , USB-флеш-накопитель или дискета. NTLDR также может загружать операционную систему, не основанную на NT, при наличии соответствующего загрузочного сектора в файле.

Для работы NTLDR необходимо, чтобы на системном томе находились как минимум два следующих файла :

Дополнительным важным файлом является boot.ini , который содержит конфигурацию загрузки (если она отсутствует, NTLDR по умолчанию будет использовать \Windows на первом разделе первого жесткого диска).

NTLDR запускается загрузочной записью тома системного раздела, которая обычно записывается на диск с помощью команды Windows FORMAT или SYS .

История

Windows NT изначально была разработана для ARC -совместимых платформ, полагаясь на поддержку своего менеджера загрузки и предоставляя только osloader.exe , программу загрузки, принимающую обычные аргументы командной строки, указывающие раздел каталога Windows, местоположение или параметры загрузки, которая запускается ARC-совместимым менеджером загрузки, когда пользователь выбирает запуск определенной операционной системы Windows NT. Однако, поскольку x86 не поддерживал ARC, был добавлен дополнительный уровень специально для этой платформы: пользовательский код менеджера загрузки, представляющий текстовое меню, позволяющее пользователю выбирать одну или несколько операционных систем и ее параметры, настроенные в файле конфигурации boot.ini , предваренном специальным модулем StartUp, который отвечает за некоторые приготовления, такие как переключение ЦП в защищенный режим. Когда пользователь выбирает операционную систему из меню загрузки, следующие аргументы командной строки затем передаются в часть osloader.exe, общую для всех архитектур процессоров:

load  osloader = <Windows Path> \System32\NTLDR systempartition = <Windows Partition>  osloadpartition = <Windows Partition>  osloadoptions = <Windows Boot Parameters>  consolein =multi(0)key(0)keyboard(0) consoleout =multi(0)video(0)monitor(0) x86systempartition = <NTLDR partition>

В выпусках Windows, начиная с Windows Vista и Windows Server 2008 , NTLDR был разделен обратно на диспетчер загрузки и части загрузчика системы: диспетчер загрузки Windows и winload.exe . Часть диспетчера загрузки была полностью переписана; она больше не использует boot.ini в качестве файла конфигурации, хотя утилита bootcfg для изменения boot.ini все еще присутствует для случая многозагрузочных конфигураций с версиями Windows до Windows XP и Windows Server 2003 .

Интерфейс командной строки

Утилиту bootsect.exe в инструментах Windows PE можно использовать с параметрами /nt52 (NTLDR) и /nt60 (Vista и выше) для сохранения загрузочной записи NTLDR или Vista в первом секторе указанного раздела. [1] Эту команду можно использовать для файловых систем на базе FAT и NTFS . Она заменяет инструменты FixFAT и FixNTFS. [2]

Пример

В следующем примере применяется совместимый с NTLDR главный загрузочный код к тому D:: [2]

C:\> bootsect /nt52 D:

Процесс запуска

Когда ПК включен, его BIOS следует настроенному порядку загрузки для поиска загрузочного устройства. Это может быть жесткий диск, дискета, CD/DVD, сетевое соединение, USB-устройство и т. д. в зависимости от BIOS. В случае дискеты BIOS интерпретирует ее загрузочный сектор (первый сектор) как код, для NTLDR это может быть загрузочный сектор NTLDR, ищущий файл ntldrна дискете. Для жесткого диска код в главной загрузочной записи (первый сектор) определяет активный раздел. Код в загрузочном секторе активного раздела затем может снова быть загрузочным сектором NTLDR, ищущим ntldrв корневом каталоге этого активного раздела. В более запутанном сценарии активный раздел может содержать загрузочный сектор Vista для нового менеджера загрузки Vista с записью {ntldr}, указывающей на другой раздел с загрузочным сектором NTLDR. [3]

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

  1. Получает доступ к файловой системе на загрузочном диске ( FAT или NTFS ).
  2. Если Windows была переведена в режим гибернации, содержимое hiberfil.sys загружается в память, и система возобновляет работу с того места, на котором остановилась.
  3. В противном случае считывает boot.ini и предлагает пользователю соответствующее меню загрузки.
  4. Если выбрана ОС, не основанная на NT, NTLDR загружает связанный файл, указанный в boot.ini ( bootsect.dos , если файл не указан или если пользователь загружает ОС на основе DOS), и передает ему управление.
  5. Если выбрана ОС на базе NT, NTLDR запускает ntdetect.com , который собирает информацию об оборудовании компьютера. (Если ntdetect.com зависает во время обнаружения оборудования, существует отладочная версия под названием ntdetect.chk , которую можно найти на сайте поддержки Microsoft. [4] )
  6. Запускает ntoskrnl.exe , передавая ему информацию, возвращаемую ntdetect.com . [5]

boot.ini

Первое действие NTLDR — чтение файла boot.ini . [6] NTLDR позволяет пользователю выбрать операционную систему для загрузки в меню. Для NT и операционных систем на базе NT он также позволяет пользователю передавать предварительно настроенные параметры ядру. Параметры меню хранятся в boot.ini , который сам по себе находится в корне того же диска, что и NTLDR. Хотя NTLDR может загружать DOS и не-NT версии Windows, boot.ini не может настраивать их параметры загрузки.

Для ОС на базе NT местоположение операционной системы записывается как путь Advanced RISC Computing (ARC).

boot.ini защищен от пользовательской конфигурации следующими атрибутами файла : системный, скрытый, только для чтения. Чтобы вручную отредактировать его, пользователю сначала придется удалить эти атрибуты. Более безопасный способ редактирования файла — использовать команду bootcfg из консоли. bootcfg также повторно заблокирует файл (установив файл обратно в системный, скрытый и только для чтения). Кроме того, файл можно редактировать в Windows с помощью текстового редактора, если выбран параметр просмотра папок «Показывать скрытые файлы и папки», параметр просмотра папок «Скрывать защищенные файлы операционной системы» не отмечен, а параметр «Только для чтения» не отмечен в свойствах файла.

bootsect.dos — загрузочный сектор, загружаемый NTLDR для загрузки DOS или, если файл не указан, при загрузке ОС, не основанной на NT.

Пример

Пример файла boot.ini :

[загрузчик] тайм-аут = 40 по умолчанию = multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [операционные системы] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS = "Microsoft Windows XP Professional" /fastdetect

Если параметр тайм-аута загрузчика в boot.ini установлен на 0, меню загрузки NTLDR не отображается. При изменении загрузчика следует проявлять крайнюю осторожность, поскольку ошибочная информация может привести к тому, что ОС не загрузится.

Переключатели ядра NT

Меню дополнительных параметров загрузчика NTLDR

Смотрите также

Ссылки

  1. ^ "Параметры командной строки Bootsect". Windows Vista: Технический справочник . Microsoft Technet. 2009. Получено 03.07.2011 .
  2. ^ ab "Команда bootsect для командной строки MS-DOS и Windows".
  3. ^ "Boot Configuration Data Editor Frequently Asked Questions". Windows Server . Microsoft Learn . 2007 . Получено 2024-01-04 .
  4. ^ "Ntdetect.com (Installd.cmd)". Microsoft . Архивировано из оригинала 2006-02-06.
  5. ^ Microsoft (2000). Windows 2000 Professional Resource Kit (1-е изд.). Редмонд, Вашингтон: Microsoft Press. ISBN 1-57231-808-2.
  6. ^ Рик Мейбери (2009). "Проблемы запуска и завершения работы, часть 1". Bootcamp . Архивировано из оригинала 2012-07-11 . Получено 25 апреля 2012 .{{cite web}}: CS1 maint: неподходящий URL ( ссылка )
  7. ^ abcdefghijklmnopqrstu Microsoft (28 ноября 2007 г.). "Доступные параметры переключения для файлов Boot.ini Windows XP и Windows Server 2003" . Получено 4 января 2024 г. .
  8. ^ abcdefghijkl Руссинович, Марк (1 ноября 2006 г.). "Boot INI Options Reference". Microsoft Learn . Microsoft . Получено 4 января 2023 г. .
  9. ^ "Потеря DirectDraw Overlay и VMR9 после обновления/обновления". Форум VideoHelp . Июль 2008 г.
  10. ^ "/burnmemory (Драйверы Windows). Справочник параметров загрузки Boot.ini . Microsoft. Архивировано из оригинала 2013-01-10.
  11. ^ abcde "Описание параметров загрузки в безопасном режиме в Windows XP". Поддержка Microsoft . Архивировано из оригинала 2015-02-19.
  12. ^ «Программы, использующие функцию QueryPerformanceCounter, могут работать неэффективно». Служба поддержки Microsoft . 23 февраля 2023 г.

Внешние ссылки