|
Секреты ОС Windows. Загрузчик NTLDR.
NTLDR (аббревиатура от NT Loader) является загрузчиком для операционных систем Windows NT и более поздних (2000/XP/Server 2003, за исключением Vista). NTLDR может быть запущен как с переносного устройства (такого как, например, CD-ROM или флэш-накопителя USB), так и с жесткого диска. NTLDR также способен загружать операционные системы, не основанные на технологии NT, путём задания соответствующего загрузочного сектора в отдельном файле. Для запуска NTLDR требуется, как минимум, наличие следующих двух файлов на активном разделе: NTLDR, который собственно и содержит код загрузчика, и boot.ini, в котором записаны команды для формирования меню выбора системы и параметры для её запуска. Чтобы загружать операционные системы на базе Windows NT, необходимо также наличие файла ntdetect.com.
При загрузке NTLDR выполняет следующие шаги:
- Переводит процессор в «плоский» 32-битный режим работы (32-bit flat memory mode);
- Организует доступ к текущей файловой системе (FAT или NTFS);
- Читает файл boot.ini и выводит пользователю соответствующее меню для выбора запускаемой ОС:
- если была выбрана не-NT система (например Windows 98), тогда загружается файл bootsect.dos, являющийся полноценной загрузочной записью, и управление передаётся ему.
- если же была выбрана система на базе Windows NT, то запускается программа ntdetect.com, которая собирает информацию о составе оборудования. Эта информация затем передаётся в ядро операционной системы, ntoskrnl.exe, и происходит запуск операционной системы.
Как уже было cказано, 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, то загрузочное меню отображаться не будет, а сразу запустится операционная система, заданная в параметре default.
Разрешённые опции загрузки ядра NT
Для 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=
Cтраница 1 2
|
|