НТЛДР
NTLDR ( сокращение от NT loader 1993 года , с ) начиная с — это загрузчик для всех выпусков Windows NT операционной системы выпуска Windows NT 3.1 до Windows XP и Windows Server 2003 . Начиная с Windows Vista , его заменил загрузчик BOOTMGR . NTLDR обычно запускается с основного устройства хранения , но его также можно запускать с портативных устройств хранения, таких как компакт-диск , флэш-накопитель USB или дискета. NTLDR также может загружать операционную систему, отличную от NT, при наличии соответствующего загрузочного сектора в файле.
находились как минимум следующие два файла NTLDR требует, чтобы на системном томе :
- ntldr , сам основной загрузчик
- NTDETECT.COM , необходимый для загрузки ОС на базе NT, определяет основную информацию об оборудовании, необходимую для успешной загрузки.
Дополнительный важный файл — boot.ini , который содержит конфигурацию загрузки (если он отсутствует, NTLDR по умолчанию будет использовать \Windows в первом разделе первого жесткого диска).
NTLDR запускается из загрузочной записи тома системного раздела, которая обычно записывается на диск Windows. ФОРМАТ или Команда 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 .
Интерфейс командной строки
[ редактировать ]Разработчик(и) | Майкрософт |
---|---|
Операционная система | Microsoft Windows |
Тип | Команда |
Лицензия | Собственное коммерческое программное обеспечение |
Веб-сайт | Параметры командной строки Bootsect |
Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( июнь 2020 г. ) |
Утилита 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 выполняет следующие действия:
- Доступ к файловой системе на загрузочном диске ( FAT или файловая система новой технологии, NTFS ).
- Если Windows была переведена в состояние гибернации, содержимое hiberfil.sys загружается в память, и система возобновляет работу с того места, где остановилась.
- В противном случае считывает boot.ini и соответственно предлагает пользователю меню загрузки.
- Если выбрана ОС, отличная от NT, NTLDR загружает связанный файл, указанный в boot.ini ( bootsect.dos , если файл не указан или если пользователь загружается в ОС на базе DOS) и передает ему управление.
- Если выбрана ОС на базе NT, NTLDR запускает ntdetect.com , который собирает информацию об оборудовании компьютера. (Если ntdetect.com зависает во время обнаружения оборудования, существует отладочная версия ntdetect.chk , которую можно найти в службе поддержки Microsoft. [ 4 ] )
- Запускает ntoskrnl.exe , передавая ему информацию, возвращенную ntdetect.com . [ 5 ]
boot.ini
[ редактировать ]Первое действие NTLDR — прочитать файл boot.ini . [ 6 ] NTLDR позволяет пользователю выбрать в меню, из какой операционной системы загружаться. Для операционных систем NT и NT он также позволяет пользователю передавать ядру предварительно настроенные параметры. Параметры меню хранятся в файле boot.ini , который расположен в корне того же диска, что и NTLDR. Хотя NTLDR может загружать версии Windows для DOS и Windows, отличные от NT, boot.ini не может настроить параметры загрузки.
Для ОС на базе NT расположение операционной системы записывается как путь Advanced RISC Computing (ARC).
boot.ini защищен от пользовательской конфигурации благодаря следующим атрибутам файла : системный, скрытый, только для чтения. Чтобы отредактировать его вручную, пользователю сначала придется удалить эти атрибуты. Более безопасный способ редактирования файла — использовать команду bootcfg из консоли. bootcfg также повторно заблокирует файл (сделав его системным, скрытым и доступным только для чтения). Кроме того, файл можно редактировать в Windows с помощью текстового редактора, если выбран параметр просмотра папок «Показывать скрытые файлы и папки», снят флажок у параметра просмотра папок «Скрывать защищенные системные файлы» и установлен параметр «Только чтение». не отмечен в свойствах файла.
bootsect.dos — это загрузочный сектор, загружаемый NTLDR для загрузки DOS, или если при загрузке ОС, отличной от NT, не указан файл.
Пример
[ редактировать ]Пример файла boot.ini :
[boot loader]
timeout=40
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
Если для параметра тайм-аута загрузчика в файле boot.ini установлено значение 0, меню загрузки NTLDR не отображается. При изменении загрузчика следует соблюдать крайнюю осторожность, поскольку ошибочная информация может привести к тому, что ОС не сможет загрузиться.
Переключатели ядра NT
[ редактировать ]Этот раздел написан как руководство или руководство . ( июль 2016 г. ) |
- /3GB — заставляет x86 системы на базе увеличить виртуальное адресное пространство, выделенное для пользовательских программ, до 3 ГБ и уменьшить до 1 ГБ, выделенного ядру и исполнительным компонентам. Используется для некоторых программ, которым требуется больше стандартных 2 ГБ, выделенных для пользовательских программ, и 2 ГБ, выделенных для системы. некоторых конфигураций Windows Server 2003 , в которых выполняются приложения, интенсивно использующие виртуальную память , такие как серверы баз данных или Microsoft Exchange Server 2003. Этот переключатель может потребоваться для [ 7 ] или может получить выгоду от повышения производительности. [ 8 ] Активация этой опции может привести к поломке видео VMR-9. [ 9 ] Активация этой опции также может вызвать проблемы со звуком на звуковых картах серии Creative SB X-Fi с (X-Fi Gamer / X-Fi Titanium @ WINXP 32-bit 3/2012). Эти проблемы могут быть связаны с тем, как драйверы Creatives обрабатывают память объемом более 2 ГБ.
- /BASEVIDEO — переводит систему в стандартный 16-цветный режим VGA с разрешением 640 × 480 с помощью драйвера видеоустройства , совместимого с любым видеоадаптером . Если операционная система не загружается из-за неисправного или неправильно настроенного видеодрайвера, этот переключатель разрешает загрузку системы, поэтому пользователь может затем удалить, обновить или откатить видеодрайвер, вызывающий проблему. Использование этого переключателя в сочетании с Переключатель /SOS помогает определить драйвер, вызывающий сбой. [ 7 ]
- /BAUDRATE= nnn — устанавливает скорость передачи данных порта отладки, используемого для отладки ядра. Использование этого переключателя автоматически включает /DEBUG переключатель. [ 7 ] Задает переопределение скорости передачи данных по умолчанию (19200), с которой будет подключаться удаленный хост отладчика ядра. [ 8 ] Пример: /БОДРАТА=115200 .
- /BOOTLOG – включает ведение журнала загрузки в файл с именем %SystemRoot% \Ntbtlog.txt . [ 7 ]
- /BOOTLOGO — отображает альтернативное 16-цветное растровое изображение размером 640 × 480 . Растровое изображение необходимо сохранить в каталоге \Windows с именем boot.bmp . Используйте с Переключатель /NOGUIBOOT . [ 8 ]
- /BURNMEMORY= nnn — указывает объем памяти в мегабайтах, который Windows не может использовать. Используйте этот параметр для подтверждения проблем с производительностью или других проблем, связанных с нехваткой оперативной памяти . [ 7 ]
- /CHANNEL= nn – использовать с /DEBUG переключатель и Переключатель /DEBUGPORT=1394 выбирает канал интерфейса IEEE 1394 (с номерами от 0 до 62), через который будет проходить связь отладки ядра. [ 7 ]
- /CRASHDEBUG — загружает отладчик ядра при запуске ОС, но он остается неактивным до тех пор, пока не возникнет стоп-ошибка . С помощью этого переключателя COM-порт можно использовать для обычных операций во время работы Windows. В случае сбоя Windows коммутатор преобразует порт в порт отладки. (Это действие включает удаленную отладку.) [ 7 ]
- /DEBUG — включает отладчик ядра при запуске Windows. В отличие от переключатель /CRASHDEBUG , /DEBUG использует COM-порт независимо от того, используете ли вы отладку или нет. [ 7 ]
- /DEBUGPORT=com x — указывает COM-порт , который будет использоваться в качестве порта отладки. По умолчанию, /DEBUGPORT использует COM2, если он существует. В противном случае значением по умолчанию является COM1. Использование этого переключателя автоматически включает /DEBUG переключатель. [ 7 ]
- /FASTDETECT[:com x [,com y ]] — отключает обнаружение последовательной и шинной мыши для указанных портов или для всех портов, если ни один не указан. Используйте этот переключатель, если в процессе запуска к последовательному порту подключен какой-либо компонент, отличный от мыши. Порты можно разделить запятыми, чтобы отключить более одного порта. (Примечание. В более ранних версиях Windows, включая Windows NT 4.0 , этот переключатель назывался /NOSERIALMICE .) [ 7 ]
- /HAL= имя файла — определяет уровень абстракции оборудования , который загружается при запуске. Этот переключатель полезен для того, чтобы опробовать другой HAL, прежде чем переименовывать файл в HAL.DLL . Этот переключатель также полезен, если вы хотите попытаться переключиться между запуском в многопроцессорном режиме и запуском в однопроцессорном режиме. Для этого используйте этот переключатель с /KERNEL Переключатель . имя файла должно находиться в каталоге System32. Это может быть простой файл, жесткая ссылка, но не символическая ссылка или точка соединения. [ 7 ]
- /KERNEL= имя файла – определяет ядро, загружаемое при запуске. С помощью этого переключателя пользователь может переключаться между ядром с поддержкой отладки, полным отладочного кода, и обычным ядром. Те же ограничения на расположение и тип имени файла , что и для переключателя /HAL. [ 7 ]
- /MAXMEM= nnn — указывает максимальный объем оперативной памяти в мегабайтах, который может использовать Windows. [ 7 ] Однако Переключатель /MAXMEM не учитывает дыры в памяти. Поэтому рекомендуется использовать Вместо этого переключите /BURNMEMORY . [ 10 ]
- /MININT — этот параметр используется средой предустановки Windows (WinPE) и загружает куст Registry SYSTEM как изменчивый куст, так что изменения, внесенные в него в памяти, не сохраняются обратно в образ куста. [ 8 ]
- /NODEBUG — отключает отладку. Этот сценарий может вызвать стоп-ошибку , если в программном обеспечении программы имеется жестко запрограммированная точка останова отладки. [ 7 ]
- /NOEXECUTE={OPTIN|OPTOUT|ALWAYSON|ALWAYSOFF } — этот параметр доступен только в 32-разрядных версиях Windows при работе на процессорах, поддерживающих предотвращение выполнения данных (DEP). Он включает DEP, в результате чего диспетчер памяти помечает страницы, содержащие данные, как неисполняемые, чтобы они не могли быть выполнены как код. Это может быть полезно для предотвращения использования вредоносным кодом ошибок переполнения буфера при неожиданных входных данных программы для выполнения произвольного кода. Защита от невыполнения всегда включена в 64-разрядных версиях Windows на процессорах, поддерживающих защиту от невыполнения. может указать несколько параметров С помощью этого переключателя пользователь : [ 8 ]
- /NOEXECUTE=OPTIN — включает DEP для образов базовой системы и образов, указанных в диалоговом окне конфигурации DEP.
- /NOEXECUTE=OPTOUT — включает DEP для всех изображений, кроме тех, которые указаны в диалоговом окне конфигурации DEP.
- /NOEXECUTE=ALWAYSON – включает DEP для всех изображений.
- /NOEXECUTE=ALWAYSOFF – отключает DEP.
- /NOGUIBOOT – отображает имена драйверов устройств во время их загрузки. Используйте с /BASEVIDEO для определения драйвера, вызывающего сбой. [ 7 ]
- /NOPAE — заставляет Ntldr загружать не поддерживающую расширение физических адресов версию ядра Windows, (PAE), даже если система определяется как поддерживающая x86 PAE и имеет более 4 ГБ физической памяти. [ 8 ]
- /NOSERIALMICE[=com x ] – (Устарело во всех версиях после Windows NT 4.0 ) Заменено отсутствием Переключатель /FASTDETECT . Отключает обнаружение последовательной мыши на указанных COM-портах. С использованием /NOSERIALMICE без указания COM-порта отключает обнаружение последовательной мыши на всех COM-портах. [ 8 ]
- /NUMPROC= nnn — устанавливает количество процессоров , которые Windows будет запускать при запуске. С помощью этого переключателя пользователь может заставить многопроцессорную систему использовать только то количество процессоров (количество), которое вы укажете. Полезно для устранения проблем с производительностью и неисправных процессоров. [ 7 ]
- /ONECPU – эквивалентно использованию /НУМПРОК=1 . Заставляет Windows использовать только один процессор в многопроцессорной системе. [ 8 ]
- /PAE — включает поддержку расширения физического адреса . В безопасном режиме компьютер запускается с использованием обычных ядер, даже если /PAE . Указан переключатель [ 7 ]
- /PCILOCK – для систем на базе x86 это не позволяет операционной системе аппаратного ввода, аппаратного вывода и запросов на прерывание динамически назначать ресурсы устройствам PCI . Вместо этого BIOS настраивает устройства. [ 7 ]
- /REDIRECT — включает службы аварийного управления (EMS) на компьютере под управлением Windows Server 2003, Enterprise Edition . Чтобы включить EMS путем редактирования файла Boot.ini на компьютере с процессором x86 , отредактируйте раздел [загрузчик] и раздел [операционные системы] файла Boot.ini. [ 7 ]
- /SAFEBOOT:{MINIMAL|NETWORK|DSREPAIR}[(ALTERNATESHELL)] — запускает Windows в безопасном режиме . Вы должны включить двоеточие и один из трех типов, перечисленных выше. Дополнительная опция, которую пользователь может добавить: (ALTERNATESHELL) , который сообщает Windows использовать программу, указанную в HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\AlternateShell в качестве графической оболочки, а не использовать значение по умолчанию, то есть проводник Windows. [ 8 ] Пользователь также может комбинировать другие параметры boot.ini с /SAFEBOOT: введите . Следующие примеры иллюстрируют параметры, которые действуют при выборе параметра безопасного режима в меню восстановления при запуске. (Примечание: /SOS , /BOOTLOG и Переключатели /NOGUIBOOT не требуются ни для одного из этих параметров, но они могут помочь в устранении неполадок.) [ 7 ]
- Безопасный режим ( /SAFEBOOT:MINIMAL /SOS /BOOTLOG /NOGUIBOOT используется минимальный набор драйверов устройств и служб. ) — по умолчанию: для запуска Windows [ 11 ]
- Безопасный режим с поддержкой сети ( /SAFEBOOT:NETWORK /SOS /BOOTLOG /NOGUIBOOT ) — режим по умолчанию вместе с драйверами, необходимыми для загрузки сети. [ 11 ]
- Безопасный режим с командной строкой ( /SAFEBOOT:MINIMAL(ALTERNATESHELL) /SOS /BOOTLOG /NOGUIBOOT ) — режим по умолчанию, за исключением того, что запускается Cmd.exe вместо Проводника Windows . [ 11 ]
- Windows в режиме восстановления служб каталогов ( /SAFEBOOT:DSREPAIR /SOS ) – (Этот режим действителен только для контроллеров домена под управлением Windows.) Выполняет восстановление службы каталогов. [ 11 ]
- /SOS — отключает графический экран загрузки и использует текстовую загрузку в стиле NT4 с указанием номера сборки Windows, номера версии и т. д. В Windows 2000 и XP текст отображается внутри растрового изображения CHKDSK (и с индикатором выполнения в 2000 году). ).
- /USEPMTIMER — указывает, что Windows использует настройки таймера таймера управления питанием (PM_TIMER) вместо настроек таймера счетчика меток времени (TSC), если процессор поддерживает настройки PM_TIMER. [ 7 ] По умолчанию Windows Server 2003 с пакетом обновления 2 (SP2) использует таймер PM для всех многопроцессорных APIC или ACPI HAL . Если вы не используете Windows Server 2003 SP2, вам необходимо заставить компьютер использовать таймер после полудня, используя команду /USEPMTIMER переключатель. [ 12 ]
- /USERVA= nnn – настраивает объем памяти в мегабайтах, выделяемый процессам при использовании Переключатель /3GB . Этот переключатель позволяет увеличить объем памяти ядра для записей таблицы страниц , но при этом сохраняет почти 3 ГБ пространства памяти процесса. [ 11 ]
- /WIN95 — предписывает Ntldr загрузить загрузочный сектор Windows, хранящийся в bootsect.w40 . [ 8 ]
- /WIN95DOS — предписывает Ntldr загрузить загрузочный сектор MS-DOS, хранящийся в bootsect.dos . [ 8 ]
- /YEAR= yyyy — предписывает основной функции времени Windows игнорировать год, который сообщают часы реального времени компьютера, и вместо этого использовать указанный. Пример: /ГОД=2001 . (Этот переключатель был создан для помощи в тестировании Y2K .) [ 8 ]
См. также
[ редактировать ]- Процесс загрузки Windows NT
- ntoskrnl.exe
- ntdetect.com
- Службы управления чрезвычайными ситуациями
- Сравнение загрузчиков
- Диспетчер загрузки Windows
Ссылки
[ редактировать ]- ^ «Параметры командной строки Bootsect» . Windows Vista: Технический справочник . Майкрософт Технет. 2009 . Проверено 3 июля 2011 г.
- ^ Jump up to: а б «Команда загрузки командной строки MS-DOS и Windows» .
- ^ «Часто задаваемые вопросы по редактору данных конфигурации загрузки» . Windows-сервер . Microsoft Learn . 2007 . Проверено 4 января 2024 г.
- ^ «Ntdetect.com (Installd.cmd)» . Майкрософт . Архивировано из оригинала 6 февраля 2006 г.
- ^ Майкрософт (2000). Windows 2000 Professional Resource Kit (1-е изд.). Редмонд, Вашингтон: Microsoft Press. ISBN 1-57231-808-2 .
- ^ Рик Мэйбери (2009). «Проблемы запуска и завершения работы, часть 1» . Буткемп . Архивировано из оригинала 11 июля 2012 г. Проверено 25 апреля 2012 г.
{{cite web}}
: CS1 maint: неподходящий URL ( ссылка ) - ^ Jump up to: а б с д и ж г час я дж к л м н тот п д р с т в Microsoft (28 ноября 2007 г.). «Доступные параметры переключения для файлов Boot.ini Windows XP и Windows Server 2003» . Проверено 4 января 2024 г.
- ^ Jump up to: а б с д и ж г час я дж к л Руссинович, Марк (1 ноября 2006 г.). «Справочник по параметрам INI-загрузки» . Microsoft Learn . Майкрософт . Проверено 4 января 2023 г.
- ^ «Потеря DirectDraw Overlay и VMR9 после обновления/обновления» . Видеопомощь на форуме . Июль 2008 года.
- ^ «/burnmemory (Драйверы Windows» . Справочник по параметрам загрузки Boot.ini . Microsoft. Архивировано из оригинала 10 января 2013 г.).
- ^ Jump up to: а б с д и «Описание вариантов загрузки в безопасном режиме в Windows XP» . Поддержка Майкрософт . Архивировано из оригинала 19 февраля 2015 г.
- ^ «Программы, использующие функцию QueryPerformanceCounter, могут работать плохо» . Поддержка Майкрософт . 23 февраля 2023 г.
Внешние ссылки
[ редактировать ]- Как отредактировать файл Boot.ini в Windows XP
- Соглашения об именах и использовании путей BOOT.INI и ARC
- Справка Базы знаний MS по сообщению об ошибке «NTLDR Is Missing» в Windows 2000 и Windows XP (также [1] , [2] , [3] Архивировано 16 июля 2007 г. на Wayback Machine , [4] )
- Как исправить ошибку «NTLDR отсутствует»
- Объяснение BOOT.INI Дэниела Б. Седори