суббота, 8 июня 2013 г.

Boot.ini Winows XP


Файл Boot.ini в Windows Xp

Строение файла BOOT.INI в простейшем случае, с одной операционной системой на диске ПК 
Intel х86, выглядит следующим образом:

[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows XP Professional" /fastdetect

    Как можно заметить, в данных примерах раздел [boot loader] служит для задания двух параметров загрузки операционной системы, в частности, параметр «timeout=5» определяет количество секунд, в течение которого пользователь имеет возможность выбрать либо загружаемую ОС, либо один из пунктов загрузочного меню (например, загрузить систему в режиме защиты от сбоев). При «timeout=0» загрузочное меню не отображается, а при «timeout=-1» это меню будет находиться на экране неограниченное время в ожидании выбора пользователя. Каждый пользователь волен выставить это время по своим вкусам — для меня удобной цифрой является 5 секунд. По умолчанию же задержка составляет 30 секунд, максимум — 999.
    Параметр «default=» определяет путь к загружаемой по умолчанию операционной системе. Путь этот в случае с Windows NT задаётся в формате ARC (Advanced RISC Computing), о правилах которого чуть ниже.
    В разделе [operating systems] находятся сведения об установленных операционных системах, на основании которых и формируется загрузочное меню. Так, в каждой строке этого раздела прописан путь ARC к загрузочному разделу Windows NT плюс имя папки Windows и текст, отображаемый в соответствующей этой операционной системе строке загрузочного меню, плюс некоторые параметры, используемые при выборе данной системы. Учтите, что ARC-путь (кроме имени папки и названия ОС) должен быть записан маленькими (строчными) буквами.
    Если вы вдруг утратили файл BOOT.INI, то самое сложное при его ручном восстановлении — правильно воссоздать путь к загрузочному разделу в формате ARC. Путь этот может начинаться либо с метки multi(), либо с метки signature(). Метку multi() можно наблюдать в подавляющем большинстве случаев, применяется она для дисков IDE, ESDI, SCSI в тех случаях, когда ОС для своей загрузки использует механизмы системного BIOS (прерывание INT13). При таком раскладе запись пути к загрузочному диску и к директории загружаемой операционной системы в файле BOOT.INI будет выглядеть следующим образом:
multi(0)disk(0)rdisk(X)partition(Y)\ИМЯ_КАТАЛОГА_WINDOWS="НАЗВАНИЕ_ОС, ОТОБРАЖАЕМОЕ_В_ЗАГРУЗОЧНОМ_МЕНЮ" /ПАРАМЕТР
    Здесь:
·                          multi(0) указывает порядковый номер адаптера, с которого осуществляется загрузка, и всегда имеет значение «0» (нумерация начинается с нуля, начиная с контроллера, расположенного ближе к слоту 0 на материнской плате);
·                          disk(0) — всегда равен нулю, так как прерывание INT13 не может использоваться для идентификации нескольких дисковых контроллеров (для большинства BIOS);
·                          rdisk(X) — определяет порядковый номер жёсткого диска, с которого производится загрузка, нумерация начинается с 0, и обычно X — число от 0 до 3;
·                          partition(Y) — порядковый номер раздела жёсткого диска, с которого загружается ОС, нумерация начинается с 1 (соответствует диску С: в привычном обозначении), в первую очередь нумеруются первичные разделы, затем идут логические диски. Не нумеруются расширенные разделы MS-DOS (тип 5) и разделы типа 0 — неиспользуемые.
    Формат записи, начинающийся с метки signature() (ранее, в NT для этого служила метка scsi(), теперь применяется signature(), поддерживающая работу с механизмами Plug-n-Play Windows 2000/XP) встречается реже и используется при работе как со SCSI-дисками (если у контроллера SCSI отключен BIOS), так и с IDE-дисками в отсутствие поддержки INT13. В этом случае запись в BOOT.INI принимает такой вид:
signature(X)disk(Y)rdisk(Z)partition(W)\ИМЯ_КАТАЛОГА_WINDOWS="НАЗВАНИЕ_ОС, ОТОБРАЖАЕМОЕ_В_ЗАГРУЗОЧНОМ_МЕНЮ" /ПАРАМЕТР
    Здесь:
·                          signature(X) — указывает уникальную сигнатуру диска (шестнадцатеричное число — signature(8b467c12)), содержащуюся в его MBR. Сигнатура эта вписывается в главную загрузочную запись диска в процессе установки Windows, в начале её текстового этапа (и может быть повреждена, например, вирусом — в этом случае вам потребуется изучить документ http://support.microsoft.com/default.aspx?scid=kb;en-us;Q119467);
·                          disk(Y) — идентификатор SCSI ID жёсткого диска;
·                          rdisk(Z) — номер SCSI LUN (Logical Unit Number) жёсткого диска, практически всегда это 0;
·                          partition(W) — порядковый номер раздела жёсткого диска, с которого загружается ОС, нумерация начинается с 1, в первую очередь нумеруются первичные разделы, затем идут логические диски. Не нумеруются расширенные разделы MS-DOS (тип 5) и разделы типа 0 — неиспользуемые. 

В конце каждой строки с ARC-путём допускается указывать необязательные ключи запуска
Windows. Строчные и заглавные буквы в этих параметрах не различаются. По умолчанию в
Windows XP/2000 на современных машинах обычно используется один параметр — /fastdetect
(впервые появился в Windows 2000), запрещающий поиск мыши на отмирающих COM-портах  


/BASEVIDEO — использовать в графическом режиме драйвер стандартного VGA-видеоадаптера. Позволяет решить проблемы со сбойным видеодрайвером. Подробнее — http://support.microsoft.com/default.aspx?scid=kb;en-us;Q126690.
/BAUDRATE=xxxxx — скорость (в бодах) передачи данных в отладочном режиме.  По умолчанию при работе с модемом в режиме отладки скорость 9600, при работе с нуль-модемным кабелем — 19200. Пример: «/BAUDRATE=115200». При использовании этого параметра автоматически активируется ключ /DEBUG. Подробнее — http://support.microsoft.com/default.aspx?scid=kb;en-us;Q148954 и http://support.microsoft.com/default.aspx?scid=kb;en-us;Q151981.
/BOOTLOG — включает протоколирование хода загрузки драйверов в файл %SystemRoot%\NTBTLOG.TXT (формат текста — UNICODE). Полезен при выявлении сбойного драйвера.
    Пример протокола:
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
...
/CRASHDEBUG — предписывает загружать программный модуль отладки ядра, который активизируется при ошибках в ядре ОС. Подробнее — http://support.microsoft.com/default.aspx?scid=kb;en-us;Q151981.
/DEBUG — предписывает загружать программный модуль отладки ядра, активизация которого может производиться по команде удалённого отладчика. Подробнее — http://support.microsoft.com/default.aspx?scid=kb;en-us;Q121543.
/DEBUGPORT=COMx — предписывает загружать программный модуль отладки ядра и определяет последовательный порт, используемый для отладки (по умолчанию COM1). Пример: «/DEBUGPORT=COM2». При использовании этого параметра автоматически активируется ключ /DEBUG. Если в системе присутствует контроллер FireWire, то в Windows XP допускается устанавливать параметр «/DEBUGPORT=1394», в этом случае можно указать и ещё один переключатель — «/CHANNEL=X», где «X» — номер канала (от 1 до 62), использованный при настройке хоста. Подробнее — http://support.microsoft.com/default.aspx?scid=kb;en-us;Q151981.
/MAXMEM= ограничивает объём используемой оперативной памяти (в мегабайтах). Пример: «/MAXMEM=16». Полезен для выявления дефектного модуля памяти. Подробнее — http://support.microsoft.com/default.aspx?scid=kb;en-us;Q108393.
/NODEBUG —  запрещает использование режима отладки, отменяет действие ключей /DEBUG, /DEBUGPORT и /BAUDRATE
/BREAK — предписывает остановить инициализацию HAL в точке останова и ожидать подключения отладчика. При использовании без ключа /DEBUG будет отображён синий экран BSOD с кодом останова.
/SOS — включает отображение названий загружаемых драйверов при загрузке ОС. Полезен для выявления сбойного драйвера. Подробнее — http://support.microsoft.com/default.aspx?scid=kb;en-us;Q99743.
/PAE — включает использование механизмов PAE (Physical Address Extension), даже если установлено менее 4 Гб оперативной памяти. При этом загружается ядро ntkrnlpa.exe, позволяющее системам x86 использовать до 64 Гб оперативной памяти (стандартный лимит x86 — 4Гб). При загрузке в режиме защиты от сбоев игнорируется. Используется обычно в тестовых целях.
/NOPAE — запрещает использование PAE на системах с памятью более 4Гб, поддерживающих PAE.
/NOLOWMEM — на системах с поддержкой PAE и памятью более 4Гб запрещает использование первых 4Гб памяти. Используется в целях тестирования и требует наличия переключателя /PAE.
/NOGUIBOOT — запрещает использование VGA-драйвера на этапе загрузки системы — при этом не будет отображаться графическая заставка, и при сбоях не будут выводиться синие экраны BSOD, за показ которых также отвечает VGA-драйвер.
/SAFEBOOT: — принудительная загрузка в режиме защиты от сбоев. Имеет три переключателя, задаваемых после двоеточия:
/SAFEBOOT:MINIMAL — загрузка без поддержки сети
/SAFEBOOT:NETWORK — загрузка с поддержкой сети
/SAFEBOOT:DSREPAIR — загрузка Windows 2000 Server в режиме восстановления службы каталога (Active Directory Services Repair) из резервной копии.
    При указании дополнительной опции — (ALTERNATESHELL) (например — «/SAFEBOOT:MINIMAL(ALTERNATESHELL)», без пробела) вместо Explorer будет загружена альтернативная графическая оболочка, указанная в разделе реестра HKLM\System\CurrentControlSet\SafeBoot\AlternateShell
/YEAR= — предписывает игнорировать год, выдаваемый встроенными часами ПК, и использовать год, указанный в значении данного параметра. Работает, начиная с WindowsNT SP4.
/USE8254 — на системах с устаревшим BIOS сообщает ядру ОС, что на ПК установлен таймер на основе чипа 8254. Подробнее — http://support.microsoft.com/support/kb/articles/q169/9/01.asp.
/ONECPU — на мультипроцессорных системах запрещает системе использовать более одного процессора. Подробнее — http://support.microsoft.com/default.aspx?scid=kb;en-us;Q157992.
/NUMPROC= на мультипроцессорных системах ограничивает числе используемых процессоров. Например: /NUMPROC=2 на 4-х процессорном ПК запрещает системе работать с двумя из 4 процессоров.
/3GB — начиная с NT 4.0 SP3 перераспределяет использование виртуального адресного пространства таким образом, чтобы приложениям выделялось 3Гб, а системе — 1Гб (по умолчанию всем выделяется по 2Гб). Применим к Windows 2000 Advanced Server и Datacenter Server. Подробнееhttp://support.microsoft.com/default.aspx?scid=kb;en-us;Q171793.
/WIN95DOSв системах с тройной загрузкой — DOS, Win9x и Windows NT задаёт загрузку загрузочного сектора DOS (файл BOOTSECT.DOS). Подробнее — http://support.microsoft.com/support/kb/articles/q157/9/92.asp.
/WIN95 — в системах с тройной загрузкой — DOS, Win9x и Windows NT задаёт загрузку загрузочного сектора Win9x (файл BOOTSECT.W40). Подробнее — http://support.microsoft.com/support/kb/articles/q157/9/92.asp.  
/PERFMEM= и /PERFPAGES= — некие отладочные параметры бета-версий Windows 2000, определяют резервируемую память и число страниц. Не актуальны.
/HAL=<имя файла> — использование альтернативной версии HAL вместо HAL.DLL.
/KERNEL=<имя файла> — использование альтернативной версии ядра ОС вместо NTOSKRNL.EXE. Последнее время модно использовать для смены загрузочной заставки-логотипа Windows, «зашитой» в NTOSKRNL.EXE и заменяемой утилитами типа Restorator.
/NOSERIALMICE=[COMx | COMx,y,z...] — отключает обнаружение мыши на COM-портах. При использовании без указания номера порта, обнаружение отключается для всех COM-портов. Применяется при наличии альтернативных устройств, подключённых к последовательным портам во время загрузки ОС. Подробнее — http://support.microsoft.com/default.aspx?scid=kb;en-us;Q131976.  
/PCILOCK — запрещает Windows  динамически назначать IO/IRQ ресурсы для PCI оборудования и оставляет конфигурацию, присутствующую в CMOS Setup. Подробнее — http://support.microsoft.com/default.aspx?scid=kb;en-us;Q148501.
/SCSIORDINAL: —  используется для указания SCSI ID контроллера в случае, если добавление нового устройства SCSI в систему со встроенным контроллером SCSI может изменить SCSI ID контроллера. Подробнее в статье http://support.microsoft.com/support/kb/articles/q103/6/25.asp.
/BURNMEMORY= ограничивает объём используемой памяти подобно параметру /MAXMEM: при указании «/BURNMEMORY=128» будут отброшены 128 мегабайт памяти из имеющегося в наличии объёма RAM. Объём памяти указывается в мегабайтах.
/INTAFFINITY — заставляет мультипроцессорный HAL (HALMPS.DLL) устанавливать прерывания таким образом, чтобы только процессор с самым большим номером в SMP получал прерывания.
/MAXPROCSPERCLUSTER= — устанавливает ограничения процессоров в кластерной системе. Не актуально на персональных системах.
/TIMERES=X — в мультипроцессорных системах устанавливает разрешение системного таймера. По умолчанию разрешение таймера 7.8ms. Параметр X измеряется в сотнях миллисекунд и поддерживаются следующие значения: 

X=сотен миллисекунд
миллисекунд
9766
0.98
19532
2.0
39063
3.9
78125
7.8
  


    Все эти параметры, если необходимо задать сразу несколько переключателей, прописываются последовательно друг за другом через пробел и слеш:
/safeboot:minimal(alternateshell) /sos /bootlog /noguiboot

Комментариев нет:

Отправить комментарий