NTLDR | это... Что такое NTLDR? (original) (raw)
NTLDR
Тип | Загрузчик операционной системы |
---|---|
Разработчик | Microsoft |
Операционная система | Windows NT, 2000, XP, Server 2003 |
Лицензия | Проприеритарная |
NTLDR (сокращение от англ. NT Loader) — загрузчик операционных систем Windows NT, 2000, XP и Server 2003. NTLDR может быть запущен как с переносного устройства такого, как, например, CD-ROM или флэш-накопителя USB), так и с жёсткого диска. NTLDR также способен загружать операционные системы, не основанные на технологии NT, путём задания соответствующего загрузочного сектора в отдельном файле.[1] Для запуска NTLDR требуется, как минимум, наличие следующих двух файлов на активном разделе: NTLDR, который собственно и содержит код загрузчика, и boot.ini, в котором записаны команды для формирования меню выбора системы и параметры для её запуска. Чтобы загружать операционные системы на базе Windows NT, необходимо также наличие файла ntdetect.com.
Содержание
Процесс запуска
При загрузке NTLDR выполняет следующие шаги:
- Переводит процессор в «плоский» 32-битный режим работы (англ. 32-bit flat memory mode).
- Организует доступ к текущей файловой системе.
- Если присутствует файл hiberfil.sys и загрузчик обнаруживает образ спящего режима, содержимое образа загружается в оперативную память, и система восстанавливается в предыдущее состояние.
- В противном случае, он читает файл boot.ini и выводит пользователю соответствующее меню для выбора запускаемой операционной системы. Если была выбрана не система семейства Windows NT (например, Windows 98), тогда он загружает файл, указанный в boot.ini (bootsect.dos, если не указан иной файл, являющийся полноценной загрузочной записью), и управление передаётся этому файлу, либо он загружает операционную систему на базе DOS. Если же была выбрана система на базе Windows NT, то запускается программа ntdetect.com, которая собирает информацию о составе оборудования.
- Запускает файл ntoskrnl.exe (ядро операционной системы), передавая ему собранную информацию о составе оборудования, после чего происходит собственно запуск операционной системы.
Настройки
Локализованная версия загрузчика
Как уже было сказано, NTLDR позволяет пользователю выбрать желаемую операционную систему для запуска из меню; также, для операционных систем Windows NT и более поздних, могут быть указаны дополнительные опции загрузки ядра. Все эти настройки хранятся в файле boot.ini, который должен находиться в корне того же логического диска, что и NTLDR.
Для формирования меню, показанного выше, был использован файл boot.ini следующего содержания:
[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Windows Server 2003, Enterprise RU" /noexecute=optout /fastdetect multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional RU" /noexecute=optin /fastdetect C:="Microsoft Windows"
Если указать в секции boot loader
параметр timeout
равным 0
, то загрузочное меню отображаться будет бесконечно, а если данный параметр сделать равным 1
, то сразу запустится операционная система, заданная в параметре default
.
Разрешённые опции загрузки ядра
Windows NT
/3GB /BASEVIDEO /BAUDRATE=число /CRASHDEBUG /DEBUG /DEBUGPORT=COMn | /HAL=имя_файла /KERNEL=имя_файла /MAXMEM=nn /NODEBUG /NOSERIALMICE:COMn /NUMPROC=число | /ONECPU /PCILOCK /SOS /WIN95 /WIN95DO |
---|
Windows 2000
/3GB /BASEVIDEO /BAUDRATE=число /BOOTLOG /CRASHDEBUG /DEBUG | /DEBUGPORT=COMn /FASTDETECT:COMn /HAL=имя_файла /KERNEL=имя_файла /MAXMEM=nn | /NODEBUG /NUMPROC=число /PAE /SAFEBOOT:параметр /SOS |
---|
Windows XP и 2003
/3GB /BASEVIDEO /BAUDRATE=число /BOOTLOG /BOOTLOGO /BREAK /BURNMEMORY=число /CHANNEL /CLKLVL /CMDCONS /CRASHDEBUG /DEBUG /DEBUGPORT=COMn /EXECUTE /FASTDETECT:COMn | /INTAFFINITY /HAL=имя_файла /KERNEL=имя_файла /LASTKNOWNGOOD /MAXMEM=nn /MAXPROCSPERCLUSTER= /MININT /NODEBUG /NOEXECUTE=уровень_политики /NOGUIBOOT /NOLOWMEM /NOPAE /NOSERIALMICE=COMn /NUMPROC=число | /ONECPU /PAE /PCILOCK /RDPATH= /REDIRECT /SAFEBOOT:параметр /SCSIORDINAL:параметр /SDIBOOT= /SOS /TIMERES= /USERVA /WIN95 /WIN95DOS /YEAR= |
---|
Описание
/3GB
— ключ меняет стандартное распределение между приложением и системой виртуальной адресации Windows NT, то есть приложение получит в свое распоряжение 3 гигабайта памяти, а система один. Предоставление большей виртуальной памяти прикладным программам, интенсивно использующим память подобно серверам баз данных, может улучшить их производительность. Однако, чтобы приложение смогло использовать это преимущество, оно должно быть помечено как приложение 3GB-aware. Этот параметр появился в третьем пакете обновления для Windows NT 4.0 и существует на всех более поздних версиях./BASEVIDEO
— ключ заставляет систему использовать стандартный драйвер VGA в графическом режиме./BAUDRATE=число
— ключ включает режим отладки ядра и определяет скорость порта (по умолчанию 19200 бод), по которой будет подключаться удаленный узел отладки. При установке этого параметра автоматически включается параметр/DEBUG
. Пример:/BAUDRATE=115200
./BOOTLOG
— ключ включает режим записи протокола загрузки в файл[%SYSTEMROOT%](168161)\NTBTLOG.TXT
. В протокол записываются детали загрузки драйверов. Пример протокола:
Microsoft (R) Windows NT (R) Version 5.0 Loaded driver WINNT\System32\Ntoskrnl.exe Loaded driver WINNT\System32\hal.dll Loaded driver WINNT\System32\BOOTVID.dll Loaded driver pci.sys Loaded driver isapnp.sys Loaded driver intelide.sys
/BURNMEMORY
— эта опция заставит систему использовать меньшее количество оперативной памяти, чем физически доступное системе. Значение задаётся в мегабайтах. Пример:/BURNMEMORY=128
указывает системе не использовать 128 мегабайт оперативной памяти. Microsoft рекомендует использовать эту опцию вместо/MAXMEM
для воспроизведения поведения системы и приложений в условиях нехватки оперативной памяти./CHANNEL
— используется совместно с параметрами/DEBUG
и/DEBUGPORT
в целях поддержки порта IEEE 1394./CRASHDEBUG
— загружает отладчик ядра в память, где он остается до тех пор, пока не возникнет ошибка ядра./DEBUG
— загружает отладчик ядра в память. Этот параметр может быть активирован в любой момент из удаленного отладчика, расположенного на компьютере, который подключен к последовательному порту локального компьютера. В отличие от параметра/CRASHDEBUG
, при использовании параметра/DEBUG
последовательный порт всегда работает как порт отладки. Этот режим используется, если в работе системы регулярно возникают ошибки.[2]/DEBUGPORT=COMx
— задаёт COM-порт для отладки./EXECUTE
— отключает предотвращение выполнения данных и Physical Address Extension в Windows Server 2003 (SP1)[3]/FASTDETECT[:COMn]
— ключ заставляет ntdetect.com пропустить поиск оборудования на определённых COM-портах при загрузке Windows 2000. Можно указывать номера последовательных портов, для которых надо отключить поиск устройств, через запятую. При пропуске значения параметра поиск устройств будет отключен для всех портов./HAL=имя_файла
— задаёт слой аппаратных абстракций. Явное указание параметра переопределяет значение, указанное при установке. Например, таким образом, можно проводить тестирование программного обеспечения на предмет работоспособности в системах с разным количеством ядер центрального процессора, не прибегая к переустановке Windows NT или использованию виртуальных машин./INTAFFINITY
— определяет использование многопроцессорного слоя аппаратных абстракций (HALMPS.DLL) для распределения прерываний, например, назначение прерывания в многопроцессорной системе только процессору, имеющему высший приоритет. Без этого ключа слой аппаратных абстракций обычным образом разрешает всем процессорам получать прерывание./KERNEL=имя_файла
— указывает загрузчику какое ядро следует загружать. Например,/KERNEL=[ntkrnlmp.exe](297966)
— загрузка многопроцессорного ядра с памятью меньше 3 ГБ./MAXMEM
— Эта опция ограничивает для NT использование памяти. Число в МБайт. Пример:/MAXMEM=32
ограничил бы NT 32МБ системной памяти./MAXPROCSPERCLUSTER
— многопроцессорный HAL в Win2K (HALMPS.DLL) имеет способность к работе с многопроцессорными системами, которые составлены из кластеров в свою очередь состоящих из малых мультипроцессорных систем. Например, если имеется 8-процессорная система, которая составлена из двух 4-процессорных кластеров, то ID каждого процессора должен быть определен ориентируемым кластером через HAL. Размер максимального кластера — 4, и значение по умолчанию — 0 (система не основана на кластерах). Пример:/MAXPROCSPERCLUSTER=3
./NODEBUG
— запрещает использование любой отладочной информации./NOEXECUTE
— определяет уровень DEP[4] (появилась начиная с Windows XP SP2). Может принимать четыре значения AlwaysOn, AlwaysOff, OptIn и OptOut.OptIn
— данное значение используется по умолчанию. На компьютерах, оснащенных процессорами с поддержкой DEP, функция DEP включена по умолчанию для ограниченного числа системных файлов и программ. При этом по умолчанию защищаются только системные файлы Windows.OptOut
— по умолчанию функция DEP включена для всех процессов. В диалоговом окне Система панели управления можно вручную создать список приложений, для которых следует отключить DEP. Специалисты по информационным технологиям могут воспользоваться пакетом средств обеспечения совместимости приложений (Application Compatibility Toolkit), чтобы отключить функцию DEP для одной или нескольких программ. При этом вступают в силу исправления, обеспечивающие совместимость программ, для функции DEP.AlwaysOn
— функция DEP включается для всей системы. Все процессы работают с выполнением проверок DEP. В этом режиме нельзя отключить функцию DEP для отдельных приложений. Исправления, обеспечивающие совместимость программ, для функции DEP в силу не вступают. Программы, для которых с помощью пакета средств обеспечения совместимости приложений было отключено использование функции DEP, также работают с выполнением проверок DEP.AlwaysOff
— функция DEP отключена для всей системы, независимо от наличия аппаратной поддержки DEP. Процессор не работает в режиме PAE, если в файле Boot.ini не указан параметр /PAE.
/NOGUIBOOT
— Когда эта опция задана, VGA-драйвер, ответственный за представление графики во время загрузки Win2K, не инициализируется. Этот драйвер используется для отображения на экране монитора процесса загрузки и, как правило, для отображения Blue Screen, таким образом включение этой опции в boot.ini сделает всё это невозможным./NOPAE
— загружает версию ядра NT без расширения физических адресов (PAE)./NOSERIALMICE
— отключает обнаружение мыши, подключенной к последовательному COM порту (портам)./NUMPROC
— допускается только число указанных центральных процессоров. Пример: /NUMPROC=2 на системе с 4 процессорами заставит 2 из этих 4 процессоров простаивать под NT./ONECPU
— эта опция указывает NT использовать только один процессор мультипроцессорной системы./PAE
— загружает версию ядра NT с расширением физических адресов (PAE)./PCILOCK
— запрещает Windows NT динамически назначать IO/IRQ ресурсы на PCI устройства и оставляет конфигурацию BIOS./PERFMEM
и/PERFPAGES
— эти опции не поддерживаются в final release, так как они используются NT для резервирования физической памяти для Basic Block Testing (BBT). Существует только одно известное упоминание о BBT на сайте Microsoft: судебное дело США против Microsoft от 2-ого февраля 1999 года. В нём рассказывается о том как Jim Allchin отвечал под присягой на вопросы по поводу BBT. Он сказал, что BBT — вещь оптимизирующая производительность системы. Microsoft использует её в пререлизах, для того чтобы минимизировать количество страниц памяти./PERFMEM
определяет резервирование физической памяти в MB, а/PERFPAGES
— количество страниц памяти. Эти параметры не должны присутствовать совместно. Место для BBT резервируется в Thread Environment Block (TEB) каждого потока. На самом деле точно не известно как конкретно влияет каждый из параметров на работу системы./SAFEBOOT
— используется крайне редко, так как выполняет те же действия, что и при нажатии F8 для загрузки в безопасном режиме NTLDR. Но Вы можете определить один из трех дополнительных ключей:MINIMAL
,NETWORK
, илиDSREPAIR
.MINIMAL
иNETWORK
отвечают за загрузку ОС в безопасном режиме без и с поддержкой сети соответственно. В безопасном режиме NT загружает только драйвера и сервисы, описанные по имени или группе в Minimal или Network ключах реестра:[HKLM\System\CurrentControlSet\Control\SafeBoot]
. КлючDSREPAIR
(Directory Services Repair) указывает NT, что необходимо грузиться в режиме, который восстанавливает Active Directory из резеврной копии. Дополнительная опция, которую можно определить —ALTERNATESHELL
. Она указывает ядру NT, какую программу, описанную в реестре[HKLM\System\CurrentControlSet\Control\SafeBoot\AlternateShell]
использовать в качестве графической оболочки, взамен Explorer, используемого по умолчанию./SOS
— заставляет NT выдавать во время загрузки всю информацию относительно того, какие драйверы загружены, и насколько успешно./TIMERES
— на многопроцессорном HAL (HALMPS.DLL) эта опция установит разрешающую способность системного таймера. Параметр — число в сотнях наносекунд, его значение будет установлено ближайшим меньшим, который поддерживает HAL. Заданная по умолчанию разрешающая способность — 7,8 мс. Пример:/TIMERES=9000
установил бы таймер на разрешение в 0,98 мс./USE8254
— этот параметр предназначен для систем со старым BIOS. Он говорит NT HAL, что необходимо использовать 8254 чип таймера в качестве основного./USEPMTIMER
— параметр указывает на то, что операционные системы Windows XP и Windows Server 2003 используют параметры таймера PM-TIMER, а не параметры счетчика отметок времени, если процессор поддерживает параметры таймера PM_TIMER.[5]/USERVA=xxxx
— параметр позволяет выполнять тонкую настройку объёма виртуальной памяти для режима пользователя и виртуальной памяти системы в семействе Windows Server 2003. Он используется совместно с параметром/3GB
в файле Boot.ini и позволяет варьировать объём виртуальной памяти в режиме пользователя в пределах между 2 и 3 ГБ, а разницу (3072 за вычетом xxxx) отдавать обратно режиму ядра./YEAR
— опция очевидно предназначена для проверки на соответствие Y2K. Определение этого параметра говорит ядру NT, что необходимо игнорировать год, сообщаемый системным таймером компьютера, и вместо этого использовать определенный в boot.ini. Таким образом, год, используемый в boot.ini, воздействует на все программное обеспечение в системе, включая ядро NT. Пример:/YEAR=2001
. Примечание: эта опция доступна только на NT 4.0 SP4 и Windows 2000.
См. также
Примечания
- ↑ Использование ntldr для загрузки Linux. Архивировано из первоисточника 25 августа 2011.
- ↑ Параметры, используемые в файле boot.ini в Windows XP и Windows Server 2003. PressPass. Microsoft (6 июня 2006). Архивировано из первоисточника 25 августа 2011. Проверено 2 мая 2007.
- ↑ /execute (Windows Drivers)
- ↑ Подробное описание функции предотвращения выполнения данных, входящей в состав Windows XP с пакетом обновлений 2 (SP2), Windows XP Tablet PC Edition 2005 и Windows Server 2003. PressPass. Microsoft (25 октября 2006). Архивировано из первоисточника 25 августа 2011. Проверено 2 мая 2007.
- ↑ Programs that use the QueryPerformanceCounter function may perform poorly in Windows Server 2000, in Windows Server 2003, and in Windows XP
Ссылки
- Подробное описание функции предотвращения выполнения данных
- Редактирование файла boot.ini в Windows XP
- Назначение файла boot.ini в Windows XP
- Параметры, используемые в файле boot.ini в Windows XP и Windows Server 2003
Компоненты Microsoft Windows | |
---|---|
Основные | Aero • ClearType • Диспетчер рабочего стола • DirectX • Панель задач (Пуск • Область уведомлений) • Проводник (Пространство имён • Специальные папки • Ассоциации файлов) • Windows Search (Smart folders • iFilters) • GDI • WIM • SMB • .NET Framework • XPS • Active Scripting (WSH • VBScript • JScript) • COM (OLE • DCOM • ActiveX • Структурированное хранилище • Сервер транзакций) • Теневая копия • WDDM • UAA • Консоль Win32 |
Службыуправления | Архивация и восстановление • COMMAND.COM • cmd.exe • Средство переноса данных • Просмотр событий • Установщик • netsh.exe • PowerShell • Отчёты о проблемах • rundll32.exe • Программа подготовки системы (Sysprep) • Настройка системы (MSConfig) • Проверка системных файлов • Индекс производительности • Центр обновления • Восстановление системы • Дефрагментация диска • Диспетчер задач • Диспетчер устройств • Консоль управления • Очистка диска • Панель управления (элементы) |
Приложения | Контакты • DVD Maker • Факсы и сканирование • Internet Explorer • Журнал • Экранная лупа • Media Center • Проигрыватель Windows Media • Программа совместной работы • Центр устройств Windows Mobile • Центр мобильности • Экранный диктор • Paint • Редактор личных символов • Удалённый помощник • Распознавание речи • WordPad • Блокнот • Боковая панель • Звукозапись • Календарь • Калькулятор • Ножницы • Почта • Таблица символов • Исторические: Movie Maker • NetMeeting • Outlook Express • Диспетчер программ • Диспетчер файлов • Фотоальбом |
Игры | Chess Titans • Mahjong Titans • Purble Place • Пасьянсы (Косынка • Паук • Солитер) • Сапёр • Пинбол • Червы |
Ядро ОС | Ntoskrnl.exe • Слой аппаратных абстракций (hal.dll) • Бездействие системы • svchost.exe • Реестр • Службы • Диспетчер управления сервисами • DLL (формат модулей) • PE • NTLDR • Диспетчер загрузки • Программа входа в систему (winlogon.exe) • Консоль восстановления • Windows RE • Windows PE • Защита ядра от изменений |
Службы | Autorun.inf • Фоновая интеллектуальная служба передачи • Файловая система стандартного журналирования • Отчёты об ошибках • Планировщик классов мультимедиа • Теневая копия • Планировщик задач • Беспроводная настройка |
Файловые системы | ReFS • NTFS (Жёсткая ссылка • Точка соединения • Точка монтирования • Точка повторной обработки • Символьная ссылка • TxF • EFS) • WinFS • FAT • exFAT • CDFS • UDF • DFS • IFS |
Сервер | Active Directory • Службы развёртывания • Служба репликации файлов • DNS • Домены • Перенаправление папок • Hyper-V • IIS • Media Services • MSMQ • Защита доступа к сети (NAP) • Службы печати для UNIX • Удалённое разностное сжатие • Службы удаленной установки • Служба управления правами • Перемещаемые профили пользователей • SharePoint • Диспетчер системных ресурсов • Удаленный рабочий стол • WSUS • Групповая политика • Координатор распределённых транзакций |
Архитектура | NT • Диспетчер объектов • Пакеты запроса ввода/вывода • Диспетчер транзакций ядра • Диспетчер логических дисков • Диспетчер учетных записей безопасности • Защита ресурсов • lsass.exe • csrss.exe • smss.exe • spoolsv.exe • Запуск |
Безопасность | BitLocker • Защитник • Предотвращение выполнения данных • Обязательный контроль целостности • Защищенный канал данных • UAC • UIPI • Брандмауэр • Центр обеспечения безопасности • Защита файлов |
Совместимость | Подсистема UNIX (Interix) • Виртуальная машина DOS • Windows on Windows • WOW64 |