Показать сообщение отдельно
Старый 02.05.2004, 13:41     # 66
oia
Full Member
 
Аватар для oia
 
Регистрация: 03.11.2002
Адрес: Украина ! Киев!
Пол: Male
Сообщения: 2 037

oia Отец (мать) всех Гуруoia Отец (мать) всех Гуруoia Отец (мать) всех Гуруoia Отец (мать) всех Гуруoia Отец (мать) всех Гуруoia Отец (мать) всех Гуруoia Отец (мать) всех Гуруoia Отец (мать) всех Гуруoia Отец (мать) всех Гуруoia Отец (мать) всех Гуруoia Отец (мать) всех Гуруoia Отец (мать) всех Гуруoia Отец (мать) всех Гуруoia Отец (мать) всех Гуруoia Отец (мать) всех Гуруoia Отец (мать) всех Гуруoia Отец (мать) всех Гуруoia Отец (мать) всех Гуру
Exclamation

Строение файла 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
При использовании двух операционных систем, например, Windows Me и Windows XP, содержимое файла будет примерно таково:
[boot loader]
timeout=5
default=C:\
[operating systems]
C:\="Windows Millennium Edition"
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows XP Professional" /fastdetect
Как можно заметить, в данных примерах раздел [boot loader] служит для задания двух параметров загрузки операционной системы, в частности, параметр «timeout=5» определяет количество секунд, в течение которого пользователь имеет возможность выбрать либо загружаемую ОС, либо один из пунктов загрузочного меню (например, загрузить систему в режиме защиты от сбоев). При «timeout=0» загрузочное меню не отображается, а при «timeout=-1» это меню будет находиться на экране неограниченное время в ожидании выбора пользователя. Каждый пользователь волен выставить это время по своим вкусам — для меня удобной цифрой является 5 секунд. По умолчанию же задержка составляет 30 секунд, максимум — 999.
Параметр «default=» определяет путь к загружаемой по умолчанию операционной системе. Путь этот в случае с Windows NT задаётся в формате ARC (Advanced RISC Computing), о правилах которого чуть ниже. Если же в мультизагрузочной системе ОС по умолчанию является, например, Windows 98 (или MS-DOS, Linux), то нередко достаточно указать просто «default=C:\», где С: — диск, на котором находятся системные файлы Windows 9x (вернее — образ её загрузочного сектора BOOTSECT.DOS, а также IO.SYS, MSDOS.SYS и т.д). Такой операционной системе и в следующем разделе [operating systems] будет соответствовать строка типа
C:\="Windows Millennium Edition"
или
C:\bootsect.lnx="Linux"
то есть путь к файлу-образу её загрузочного сектора (его название может быть любым по выбору пользователя). Кстати, для создания такого файла-образа удобно использовать утилиту BootPart (http://www.winimage.com/bootpart.htm), предназначенную как раз для расширенной работы с загрузчиком NT.
В разделе [operating systems] находятся сведения об установленных операционных системах, на основании которых и формируется загрузочное меню. Так, в каждой строке этого раздела прописан путь ARC к загрузочному разделу Windows NT плюс имя папки Windows и текст, отображаемый в соответствующей этой операционной системе строке загрузочного меню, плюс некоторые параметры, используемые при выборе данной системы. Учтите, что ARC-путь (кроме имени папки и названия ОС) должен быть записан маленькими (строчными) буквами — по крайней мере, в Windows NT 4 заглавные буквы приводили к невозможности загрузить систему. Максимально возможное число строк в этом разделе — 10, следовательно, и операционных систем на своем ПК вы можете иметь одновременно аж 10 штук.
Если вы вдруг утратили файл 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...;en-us;Q119467);
disk(Y) — идентификатор SCSI ID жёсткого диска;
rdisk(Z) — номер SCSI LUN (Logical Unit Number) жёсткого диска, практически всегда это 0; partition(W) — порядковый номер раздела жёсткого диска, с которого загружается ОС, нумерация начинается с 1, в первую очередь нумеруются первичные разделы, затем идут логические диски. Не нумеруются расширенные разделы MS-DOS (тип 5) и разделы типа 0 — неиспользуемые.

Обратите внимание, что если используется формат SIGNATURE(), то в корне системного диска должен находиться файл ntbootdd.sys — переименованная копия драйвера мини-порта SCSI, предназначенная для доступа к SCSI-адаптеру при загрузке.
По умолчанию вплоть до появления Windows XP именем каталога, в который установлена Windows, являлось «WINNT». В Windows XP (видимо, чтобы простому пользователю, недолюбливающему всяческие монструозные и трудноуправляемые NT, лишний раз не напоминать родословную этой операционной системы) от этой традиции отказались, и системная папка носит имя Windows. Разумеется, если вы выбрали собственное название этой папки, то в файле BOOT.INI должно быть указано именно оно. То, что следует в кавычках после имени системной папки — всего лишь текст, отображаемый в загрузочном меню и его можно полностью изменять по усмотрению пользователя, главное — чтобы пользователь понимал, какая ОС соответствует каждой записи.
В конце каждой строки с ARC-путём допускается указывать необязательные ключи запуска Windows. Строчные и заглавные буквы в этих параметрах не различаются. По умолчанию в Windows XP/2000 на современных машинах обычно используется один параметр — /fastdetect (впервые появился в Windows 2000), запрещающий поиск мыши на отмирающих COM-портах (начиная с Windows 2000 обнаружением мыши занимаются P-n-P–драйвера, в NT4 этим занимался NTDETECT, поэтому для NT4 этот параметр в мультизагрузочных системах — в которых работает более свежий, общий для нескольких систем NTDETECT.COM — использовать не следует). Этот параметр может также быть полезен, если к COM-портам подключены какие-либо иные устройства, дабы не смущать ими ОС. При желании можно специально указать порты, на которых поиск мыши осуществлять запрещено: «/fastdetect=COM1,2,3». Если же номера портов не указаны, то поиск отключается для всех портов. Полный же список параметров запуска ОС семейства NT таков (параметры, впервые появившиеся в Windows 2000, выделены красным цветом):
/BASEVIDEO — использовать в графическом режиме драйвер стандартного VGA-видеоадаптера. Позволяет решить проблемы со сбойным видеодрайвером. Подробнее —
http://support.microsoft.com/default...;en-us;Q126690
/BAUDRATE=xxxxx — скорость (в бодах) передачи данных в отладочном режиме. По умолчанию при работе с модемом в режиме отладки скорость 9600, при работе с нуль-модемным кабелем — 19200. Пример: «/BAUDRATE=115200». При использовании этого параметра автоматически активируется ключ /DEBUG. Подробнее — http://support.microsoft.com/default...;en-us;Q148954
http://support.microsoft.com/default...;en-us;Q151981
/BOOTLOG — включает протоколирование хода загрузки драйверов в файл %SystemRoot%\NTBTLOG.TXT (формат текста — UNICODE). Полезен при выявлении сбойного драйвера.
Пример протокола:
Microsoft ® Windows NT ® 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...;en-us;Q151981
DEBUG — предписывает загружать программный модуль отладки ядра, активизация которого может производиться по команде удалённого отладчика. Подробнее - http://support.microsoft.com/default...;en-us;Q121543
/DEBUGPORT=COMx — предписывает загружать программный модуль отладки ядра и определяет последовательный порт, используемый для отладки (по умолчанию COM1). Пример: «/DEBUGPORT=COM2». При использовании этого параметра автоматически активируется ключ /DEBUG. Если в системе присутствует контроллер FireWire, то в Windows XP допускается устанавливать параметр «/DEBUGPORT=1394», в этом случае можно указать и ещё один переключатель — «/CHANNEL=X», где «X» — номер канала (от 1 до 62), использованный при настройке хоста. Подробнее — http://support.microsoft.com/default...;en-us;Q151981
MAXMEM= ограничивает объём используемой оперативной памяти (в мегабайтах). Пример: «/MAXMEM=16». Полезен для выявления дефектного модуля памяти. Подробнее —
http://support.microsoft.com/default...;en-us;Q108393
/NODEBUG — запрещает использование режима отладки, отменяет действие ключей /DEBUG, /DEBUGPORT и /BAUDRATE
/BREAK — предписывает остановить инициализацию HAL в точке останова и ожидать подключения отладчика. При использовании без ключа /DEBUG будет отображён синий экран BSOD с кодом останова.
/SOS — включает отображение названий загружаемых драйверов при загрузке ОС. Полезен для выявления сбойного драйвера. Подробнее — http://support.microsoft.com/default...b;en-us;Q99743

Последний раз редактировалось oia; 03.05.2004 в 11:16.
oia вне форума