NTLDR

редактировать
Загрузчик

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

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

  • ntldr, сам главный загрузчик
  • NTDETECT.COM, необходимый для загрузки NTDETECT.COM ОС определяет основную информацию об оборудовании, необходимую для успешной загрузки.

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

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

Содержание
  • 1 История
  • 2 Интерфейс командной строки
    • 2.1 Пример
  • 3 Процесс запуска
  • 4 boot.ini
    • 4.1 Пример
    • 4.2 Переключатели ядра NT
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки
История

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

loadosloader = \ System32 \ NTLDR systempartition =osloadpartition =osloadoptions =consolein = multi (0) key (0) keyboard (0) consoleout = multi (0) video (0) monitor (0) x86systempartition =

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

Интерфейс командной строки
bootsect
Разработчик (и) Microsoft
Операционная система Microsoft Windows
Тип Команда
Лицензия Собственное коммерческое программное обеспечение
Веб-сайтПараметры командной строки Bootsect

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

Пример

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

C: \>bootsect / nt52 D:
Процесс запуска

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

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

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

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

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

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

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

Пример

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

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

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

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

NTLDR Меню расширенных параметров загрузчика
  • / 3GB - заставляет системы на основе x86 увеличивать виртуальное адресное пространство, выделенное для пользовательских программ. до 3 ГБ и уменьшить до 1 ГБ, выделенного для ядра и исполнительных компонентов. Используется для некоторых программ, которым требуется более 2 ГБ, выделенных для пользовательских программ, и 2 ГБ, выделенных для системы. Для некоторых конфигураций Windows Server 2003, которые запускают приложения с интенсивным использованием виртуальной памяти, такие как серверы баз данных или Microsoft Exchange Server 2003, может потребоваться этот переключатель или может быть улучшена производительность. Активация этой опции может нарушить работу видео VMR-9. Активация этой опции также может вызвать проблемы со звуком на звуковых картах серии Creative SB X-Fi с (X-Fi Gamer / X-Fi Titanium @ WINXP 32-bit 3/2012). Эти проблемы могут быть связаны с тем, как драйверы Creatives обрабатывают память размером более 2 ГБ.
  • / BASEVIDEO - переводит систему в стандартный режим 640 × 480 16 цветов VGA с помощью видео драйвер устройства, совместимый с любым видеоадаптером . Если операционная система не загружается из-за неисправного или неправильно настроенного видеодрайвера, этот переключатель позволяет системе загружаться, поэтому пользователь может удалить, обновить или откатить видеодрайвер, вызывающий проблему. Использование этого переключателя вместе с переключателем / SOS помогает определить драйвер, который вызывает сбой.
  • / BAUDRATE = nnn- устанавливает скорость передачи порта отладки, который используется для отладки ядра. Использование этого переключателя автоматически включает переключатель / DEBUG. Задает переопределение скорости передачи данных по умолчанию (19200), с которой будет подключаться удаленный хост отладчика ядра. Пример: / BAUDRATE = 115200.
  • / BOOTLOG - Включает ведение журнала загрузки в файл с именем % SystemRoot% \ Ntbtlog.txt.
  • / BOOTLOGO - отображение альтернативного 16-цветного пользовательского растрового изображения с разрешением 640 × 480. Растровое изображение должно быть сохранено в каталоге \ Windows с именем boot.bmp. Используйте вместе с переключателем / NOGUIBOOT.
  • / BURNMEMORY = nnn- указывает объем памяти в мегабайтах, который Windows не может использовать. Используйте этот параметр для подтверждения проблемы с производительностью или других проблем, связанных с истощением RAM.
  • / CHANNEL = nn- используйте с переключателем / DEBUG и / DEBUGPORT = 1394, чтобы выбрать интерфейсный канал IEEE 1394 (пронумерованный от 0 до 62), через который будет проходить отладочная связь ядра.
  • / CRASHDEBUG - Загружает отладчик ядра при запуске ОС, но он остается неактивным до тех пор, пока не появится Stop-ошибка. С этим переключателем COM-порт может использоваться для обычных операций во время работы Windows. В случае сбоя Windows коммутатор преобразует порт в порт отладки. (Это действие включает удаленную отладку.)
  • / DEBUG - Включает отладчик ядра при запуске Windows. В отличие от переключателя / CRASHDEBUG, / DEBUG использует COM-порт независимо от того, используете вы отладку или нет.
  • / DEBUGPORT = com x- указывает COM-порт для использования порт отладки. По умолчанию / DEBUGPORT использует COM2, если он существует. В противном случае по умолчанию используется COM1. Использование этого переключателя автоматически включает переключатель / DEBUG.
  • / FASTDETECT [: com x[, com y]]- отключает обнаружение последовательной и шинной мыши для указанного порта (ов), или для всех портов, если они не указаны. Используйте этот переключатель, когда во время процесса запуска к последовательному порту подключен другой компонент, кроме мыши. Порты могут быть разделены запятыми, чтобы отключить более одного порта. (Примечание: в более ранних версиях Windows, включая Windows NT 4.0, этот переключатель назывался /NOSERIALMICE.)
  • /HAL=имя файла- определяет Уровень аппаратной абстракции, который загружается при запуске. Этот переключатель полезен, чтобы опробовать другой HAL перед переименованием файла в HAL.DLL. Этот переключатель также полезен, когда вы хотите попробовать переключиться между запуском в многопроцессорном режиме и запуском в однопроцессорном режиме. Для этого используйте этот переключатель с переключателем / KERNEL. имя файладолжно находиться в каталоге System32. Это может быть простой файл, жесткая ссылка, но не символическая ссылка или точка соединения.
  • / KERNEL = filename- определяет ядро, которое загружается при запуске. С помощью этого переключателя пользователь может переключаться между ядром с включенной отладкой, заполненным отладочным кодом, и обычным ядром. Те же ограничения для местоположения и типа filename, что и для переключателя / HAL.
  • / MAXMEM = nnn- указывает максимальный объем RAM в мегабайты, которые может использовать Windows. Однако переключатель / MAXMEM не учитывает дыры в памяти. Поэтому рекомендуется вместо этого использовать переключатель / BURNMEMORY.
  • / MININT - этот параметр используется средой предустановки Windows (WinPE) и загружает систему реестра . hive как энергозависимый куст, так что изменения, внесенные в него в памяти, не сохраняются обратно в образ улья.
  • / NODEBUG - отключает отладку. Этот сценарий может вызвать Stop Error, если программа имеет жестко запрограммированную точку останова отладки в своем программном обеспечении.
  • / NOEXECUTE = {OPTIN | OPTOUT | ALWAYSON | ALWAYSOFF} - этот параметр доступен только на 32-разрядные версии Windows при работе на процессорах, поддерживающих Data Execution Prevention (DEP). Он включает DEP, в результате чего диспетчер памяти помечает страницы, содержащие данные, как неисполняемые, чтобы они не могли быть выполнены как код. Это может быть полезно для предотвращения использования вредоносным кодом ошибок переполнения буфера с неожиданным вводом программы для выполнения произвольного кода. Защита от невыполнения всегда включена в 64-битных версиях Windows на процессорах, которые поддерживают защиту от невыполнения. Есть несколько параметров, которые пользователь может указать с помощью этого переключателя:
    • / NOEXECUTE = OPTIN - включает DEP для основных системных образов и образов, указанных в диалоговом окне конфигурации DEP.
    • / NOEXECUTE = OPTOUT - включает DEP для всех изображений, кроме тех, которые указаны в диалоговом окне конфигурации DEP.
    • / NOEXECUTE = ALWAYSON - включает DEP для всех изображений.
    • / NOEXECUTE = ALWAYSOFF - отключает DEP.
  • / NOGUIBOOT - отображает имена драйверов устройств во время их загрузки. Используйте с переключателем / BASEVIDEO, чтобы определить драйвер, вызывающий сбой.
  • / NOPAE - заставляет Ntldr загружать версию расширения физического адреса (PAE), отличную от . Ядро Windows, даже если система определена как поддерживающая x86 PAE и имеет более 4 ГБ физической памяти.
  • / NOSERIALMICE [= com x]- (Устарело во всех версиях после- Windows NT 4.0 ) Заменено отсутствием переключателя / FASTDETECT. Отключает обнаружение последовательной мыши на указанных COM-портах. Использование / NOSERIALMICE без указания COM-порта отключает последовательное обнаружение мыши на всех COM-портах.
  • / NUMPROC = nnn- устанавливает количество процессоров, которые Windows будет работать при запуске. С помощью этого переключателя пользователь может заставить многопроцессорную систему использовать только указанное вами количество процессоров (количество). Полезно для устранения проблем с производительностью и неисправных процессоров.
  • / ONECPU - эквивалентно использованию / NUMPROC = 1. Заставляет Windows использовать только один ЦП в многопроцессорной системе.
  • / PAE - включает поддержку расширения физического адреса. В безопасном режиме компьютер запускается с использованием обычных ядер, даже если указан переключатель / PAE.
  • / PCILOCK - для систем на основе x86, это останавливает операционную систему от динамического назначения ресурсов аппаратного ввода, аппаратного вывода и запроса прерывания устройствам PCI. Вместо этого BIOS настраивает устройства.
  • / REDIRECT - включает Emergency Management Services (EMS) на Windows Server 2003, Enterprise Edition Компьютер на базе. Чтобы включить EMS путем редактирования Boot.ini на компьютере с процессором x86, отредактируйте раздел [boot loader] и раздел [operating systems] файла Boot.ini.
  • / SAFEBOOT : {MINIMAL | NETWORK | DSREPAIR} [(ALTERNATESHELL)] - вызывает запуск Windows в безопасном режиме. Вы должны включить двоеточие плюс один из трех типов, перечисленных выше. Дополнительный параметр, который может добавить пользователь, - это (ALTERNATESHELL), который сообщает Windows использовать программу, указанную значением HKLM \ SYSTEM \ CurrentControlSet \ Control \ SafeBoot \ AlternateShell, в качестве графической оболочки. вместо использования по умолчанию, которым является проводник Windows. Пользователь также может комбинировать другие параметры boot.ini с типом / SAFEBOOT: . В следующих примерах показаны параметры, которые действуют при выборе параметра безопасного режима в меню восстановления при запуске. (Примечание: переключатели / SOS, / BOOTLOG и / NOGUIBOOT не требуются ни для одной из этих настроек, но переключатели могут помочь в устранении неполадок.)
    • Безопасный режим (/ SAFEBOOT: MINIMAL / SOS / BOOTLOG / NOGUIBOOT) - По умолчанию: для запуска Windows используется минимальный набор из драйверов устройств и служб.
    • Безопасный режим с поддержкой сети (/ SAFEBOOT: NETWORK / SOS / BOOTLOG / NOGUIBOOT) - режим по умолчанию вместе с драйверами, необходимыми для загрузки сети.
    • Безопасный режим с командной строкой (/ SAFEBOOT: MINIMAL (ALTERNATESHELL) / SOS / BOOTLOG / NOGUIBOOT) - режим по умолчанию, за исключением того, что Cmd.exe запускается вместо Windows Explorer.
    • Windows в режиме восстановления служб каталогов (/ SAFEBOOT: DSREPAIR / SOS) - ( Этот режим действителен только для контроллеров домена на базе Windows.) Выполняет восстановление службы каталогов.
  • / SOS - отключает графический экран загрузки и использует текстовую загрузку в стиле NT4, перечисляя номер сборки Windows, номер версии и т. д. В Windows 2000 и XP текст отображается внутри растрового изображения CHKDSK (и с индикатором выполнения в 2000 г.).
  • / USEPMTIMER - указывает, что Windows использует настройки таймера таймера управления питанием (PM_TIMER) вместо счетчика отметки времени (TSC) настройки таймера, если процессор поддерживает настройки PM_TIMER. По умолчанию Windows Server 2003 с пакетом обновления 2 (SP2) использует таймер PM для всех многопроцессорных APIC или ACPI HAL. Если вы не используете Windows Server 2003 SP2, вы должны заставить компьютер использовать таймер PM с помощью переключателя / USEPMTIMER.
  • / USERVA = nnn- настраивает количество памяти в мегабайтах, которая выделяется процессам при использовании переключателя / 3GB. Этот переключатель позволяет использовать больше памяти ядра таблицы страниц, но по-прежнему поддерживает почти 3 ГБ пространства памяти процесса.
  • / WIN95 - указывает Ntldr загружать загрузочный сектор Windows, хранящийся в bootsect. w40.
  • / WIN95DOS - указывает Ntldr на загрузку загрузочного сектора MS-DOS, хранящегося в bootsect.dos.
  • /YEAR=yyyy- указывает Windows функция основного времени, чтобы игнорировать год, который показывают часы реального времени компьютера, и вместо этого использовать год, указанный. Пример: / ГОД = 2001. (Этот переключатель был создан для помощи в тестировании 2000 года.)
См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-31 07:27:14
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте