Автор: DaBoogie
Источник: http://www.all-win.ru/
Для справки: 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-а.