Для справки: BOOT.INI-один из
файлов ,помещаемых в системном разделе,который содержит информацию о
расположении системных файлов для каждой из операционных систем,установленных
на компьютере.Эта информация задается в виде имен ARC. Как вы увидите далее,с
помощью BOOT.INI можно настроить процесс загрузки и конфигурацию системы под
свои нужды.
Существует множество приятных особенностей BOOT.INI исключительно полезных для
разработчиков драйверов и программ под NT,т.е. существует возможность
протестировать "сырые" продукты в разных конфигурациях системы на
одной машине.
Например,ограничение памяти в NT может оказаться чрезвычайно полезным для
выяснения минимальных требований к системе для устойчивой работы программы или
драйвера, а лимитирование числа процессоров вполне может служить для оценки
маштабируемости системы. Здесь собран список текущих возможностей
BOOT.INI-самых полезных. Новые опции появившиеся в Win2K (NT 5) сответствующе
описанны -"(только для NT 5.0)",и присутствуют в некоторых Beta
билдах,но могут и отсутствовать в final release.
/NOGUIBOOT - (только для NT 5.0) Когда эта опция описана VGA video
драйвер,ответственный за представление графики в течении процесса загрузки
Win2K's не инициализируется. Вообще этот драйвер используется для отображения
на экране монитора процесса загрузки ,и как правило для отображения Blue
Screen-кошмара любого НТшника,таким образом включение этой опции в BOOT.INI
сделает все это невозможным.
/FASTDETECT - (только для NT 5.0) Если у вас стоит две ОС- NT 4.0 и Win2K (NT
5.0) ,то при процессе загрузки используется NTDETECT.COM от Win2000. В Win2K
инициализация параллельных и serial устройств осуществляется с помощью
plug-and-play драйверов устройств,но NT 4.0 в этом смысле полностью полагается
на NTDETECT.COM.Таким образом, определяя параметр FASTDETECT , как раз в том
месте , где NTDETECT производит инициализацию оборудования при загрузке NT
4.0,мы заставляем NTDETECT пропустить эти вещи при загрузке Win2K. Установка
Win2K автоматически распознает наличие второй установленной системы и
прописывает этот параметр в BOOT.INI.
/BOOTLOG -(только для NT 5.0) определение этого ключа позволяет NT записать
последовательность загруки в лог файл в %SystemRoot%NTBTLOG.TXT. В лог файле
описывается детально какой драйвер загружен или не загружен при загрузке ОС.
Например,что-то вроде этого:
Microsoft (R) Windows NT (R) Version 5.0
Loaded driver WINNTSystem32 toskrnl.exe
Loaded driver WINNTSystem32hal.dll
Loaded driver WINNTSystem32BOOTVID.dll
Loaded driver pci.sys
Loaded driver isapnp.sys
Loaded driver intelide.sys
/SAFEBOOT только для NT 5.0) Вам вряд ли когда-либо
придеться описывать этот ключ вручную. Когда вы нажимаете F8 для загрузки в
защищенном режиме NTLDR делает это за вас. Но вы можете определить один из трех
дополнительных ключей:
MINIMAL, NETWORK, или DSREPAIR.
MINIMAL и NETWORK отвечают за загрузку ОС в защищенном режиме без и с
поддержкой сети соответственно.При защищенном режиме NT загружает только
драйвера и сервисы, описанные по имени или группе в Minimal или Network ключах
реестра:
HKLMSystemCurrentControlSetControlSafeBoot.
Ключ DSREPAIR (Directory Services Repair) указывает NT ,что необходимо
грузиться в режиме,который восстанавливает Active Directory из backup'а.
Дополнительная опция,которую вы можете определить-
"(ALTERNATESHELL)". Она укказывает NT, какую программу ,описанную в
реестре
HKLMSystemCurrentControlSetSafeBootAlternateShell
использовать в качестве графической оболочки, взамен используемого по умолчанию
Explorer'а.
/NOSERIALMICE - [COMx | COMx, y, z ...] -отключает обнаружение мыши
,подключенной к последовательному COM порту (портам)
/PERFMEM -
/PERFPAGES -
(только для NT 5.0) Эти ключи вроде не будут поддерживаться в final release
Windows 2000, так как они используются NT для резервирования физической памяти
для Basic Block Testing (BBT). Существует только одно упоминание о BBT ,которое
мы смогли найти на сайте Microsoft: судебное дело США против Microsoft от 2-ого
февраля 1999 года. В нем рассказывается о том как Jim Allchin отвечал под
присягой на вопросы по поводу BBT.Он сказал,что BBT- вещь оптимизирующая
производительность системы.Microsoft использует ее в пререлизах,для того чтобы
минимизировать количество страниц памяти. PERFMEM определяет резервирование
физической памяти в MB, а PERFPAGES -количество страниц памяти - они не должны
присутствовать совместно.Место для BBT резервируется в Thread Environment Block
(TEB) каждого потока.На самом деле я так и не понял как конкретно влияет этот
параметр на работу системы)).
/INTAFFINITY -(только для NT 5.0) Этот новый ключ определяет использование
многопроцессорного HAL (HALMPS.DLL) для распределения прерываний ,например
назначение прерывания в многопроцессорной системе только процессору ,имеющиму
высший приоритет.Без этого ключа HAL обычным образом разрешает всем процессорам
получать IRQ.
/MAXPROCSPERCLUSTER - (только для NT 5.0) кажется, что многопроцессорный HAL в
Win2K (HALMPS.DLL) имеет способность к работе с многопроцессорными системами,
которые составлены из кластеров в свою очередь состоящих из малых
мультипроцессорных систем. Например, если Вы имеете 8-процессорную систему ,
которая составлена из 2 4-процессорных кластеров ,то ID каждого процессора
должен быть определен ориентируемым кластером через HAL. Размер максимального
кластера- 4, и значение по умолчанию - 0 (система не основана на кластерах).
Пример: /MAXPROCSPERCLUSTER=3.
/TIMERES - (только для NT 5.0) На многопроцессорном HAL (HALMPS.DLL) эта опция
установит разрешающую способность системного таймера. Параметр -число, в сотнях
наносекунд, его значение будет установлено ближайшим меньшим ,который
поддерживает HAL.Заданная по умолчанию разрешающая способность - 7.8ms.
Пример: /TIMERES=9000 установил бы таймер на разрешение в 98ms.
/YEAR - опция очевидно предназначена для проверки на соответствие Y2K.
Определение этого параметра говорит ядру NT ,что необходимо игнорировать год ,
сообщаемый системным таймером компьютера, и вместо этого
использовать,определенный в BOOT.INI. Таким образом, год, используемый в
BOOT.INI воздействует на все программное обеспечения в системе, включая ядро
NT. Пример: /YEAR=2001. Примечание: эта опция доступна только на NT 4.0 с 4
Сервис паком и Windows 2000.
/USE8254 - Этот параметр предназначен для систем со старым BIOSом .Он говорит
NT HAL ,что необходимо использовать 8254 чип таймера в качестве основного.
/MAXMEM - эта опция ограничивает для NT использование памяти. Число в МБАЙТ.
Пример: /MAXMEM:16 ограничил бы NT 16МБ системной памяти.
/BURNMEMORY - эта опцияs заставит NT "забыть" все ограничения
относительно указанного объема памяти, типа /MAXMEM.Значение в МБАЙТ. Пример:
/BURNMEMORY=128 сказал бы NT- Отбрось 128МБ физической памяти на машине как
непригодные.
/ONECPU - эта опция указывает NT, использовать только один ЦЕНТРАЛЬНЫЙ
ПРОЦЕССОР мультипроцессорной системы.
/NUMPROC - допускается только число указанных центральных процессоров . Пример:
/NUMPROC=2 на системе с 4 процессорами заставит 2 из этих 4 процессоров
простаивать под NT.
/SOS - Заставляет NT выдавать во время загрузки всю информацию относительно
того, какие драйверы загружены ,и насколько успешно
/BASEVIDEO -Заставляет NT использовать стандартный драйвер VGA в режиме GUI.
/NODEBUG -запрещает использование любой отладочной информации.
/CRASHDEBUG -загружает отладчик в память,где он остается до тех пор ,пока не
возникнет ошибка ядра.
/DEBUGPORT=COMx -задает COM порт для отладки.
/3GB -этот параметр появился в 3 Сервис паке для NT 4.0 и существует на всех
более поздних update-ах под NT.Этот ключ поменяет стандартное распределение
между пользователем и системой карты виртуальной адресации NT',то есть
пользователь получит в свое распоряжениек 3GB , а система 1GB. Предоставление
большей виртуальной памяти прикладным программам, интенсивно использующим
память подобно серверам баз данных может улучшать их
производительность.Однако,чтобы приложение смогло использовать это преимущество
оно должно быть помечено как приложение 3GB-aware.
/PCILOCK -запрещает Windows NT динамически назначать IO/IRQ ресурсы на PCI
устройства и оставляет конфигурацию BIOS-а.