ARC-имена и разделы жестких дисков.
Лабораторная работа №7
Управление процессом загрузки ОС Windows.
Конфигурация начала загрузки Windows XP содержится в файле boot.ini.
Изменение файла boot.ini.
Файл boot.iniнаходится в корневом каталоге системного раздела и служит для управления многовариантной загрузкой и параметрами загружаемых ОС. Boot.ini - это простой текстовый файл, который может быть изменен в любом текстовом редакторе.
Файл boot.iniсостоит из 2-х разделов: [boot loader] и [operating systems].
Раздел [boot loader] может содержать всего 2 параметра: timeout и default.
Параметр timeout задает время в секундах, по истечении которого будет произведена загрузка ОС по умолчанию. Если в boot.ini задана только одна ОС, то значение данного параметра игнорируется. Параметр, установленный в 0, означает моментальную загрузку ОС по умолчанию; для выбора другой ОС в момент загрузки нужно нажать клавишу F8. Параметр, установленный в -1, означает "вечное" ожидание выбора ОС для загрузки; ОС по умолчанию будет загружена только после того, как пользователь нажмет клавишу Enter. Следует заметить, что счетчик останавливается, если пользователь начинает что-либо делать с меню выбора ОС (перемещаться по меню и т. п.).
Параметр default задает ARC путь к системному каталогу ОС, загружаемой по умолчанию. Эта ОС должна быть перечислена в разделе [operating systems].
Раздел [operating systems] может содержать до 10 параметров, описывающих отдельные ОС и параметры их загрузки. Каждый параметр имеет такой синтаксис:
ARC путь_к_системному_каталогу = “Название ОС” [параметры]
В качестве названия ОС можно задать любой набор символов, который будет отображаться в меню выбора ОС при многовариантной загрузке. Несмотря на то, что загрузчик русской версии Windows XP Professional поддерживает символы кириллицы в загрузочном меню, рекомендуется называть загружаемые ОС, используя только латинские символы. В качестве параметров задается один или более параметров, определяющих процесс загрузки и работы ядра ОС. Набор параметров зависит от используемой ОС.
В разделе [operating systems] может быть описано любое количество ОС, но в силу особенностей загрузчика Windows в загрузочное меню будут выведены только первые 10 ОС из списка.
Операционные системы MS-DOS, Windows 3.x и 9x загружаются с использованием той или иной версии DOS, загрузочный сектор которой хранится в файле bootsect.dos в корневом каталоге системного диска. Поэтому нельзя осуществлять многовариантную загрузку нескольких версий указанных ОС. Т. к. загрузчик MS-DOS "не понимает" ARC имен, для всех вышеперечисленных ОС вместо ARC пути указывается традиционный путь к каталогу ОС (например, для Windows 9x указывается c:\Windows, для MS-DOS — просто c:\).
ARC-имена и разделы жестких дисков.
Чтобы полностью понять все тонкости работы файла boot.ini, который управляет процессом загрузки Windows, необходимо знать, что стоит за термином Microsoft Advanced RISC Computer (ARC) names (иногда встречается термин "ARC path name"). ARC - это соглашение об именах, используемое программным обеспечением контроллеров диска для задания уникального идентификатора, указывающего на системный и загрузочный разделы Windows, дисковое устройство и раздел диска. Эти имена записаны в файле boot.ini; иногда их приходится редактировать, в частности при переносе диска с одного контроллера на другой или при восстановлении зеркального набора дисков.
Использование имен ARC - это не только метод идентификации типа и расположения контроллеров диска, дискового устройства и разделов диска, имена ARC также используются для задания пути к файлам и каталогам. Такие имена обычно выглядят следующим образом:
scsi(0)disk(0)rdisk(0)partition(1)\path
multi(0)disk(0)rdisk(0)partition(1)\path
Элемент ARC-имени | Описание |
scsi(*) или multi(*) | Как правило, имена ARC начинаются с элемента multi(*); идентификация scsi(*) используется только в том случае, если на компьютере установлен контроллер SCSI с отключенной BIOS. multi(*) применяется для указания на контроллеры жестких дисков всех типов (IDE, EIDE, ESDI, SCSI), поддерживаемые через собственную или системную BIOS (для большинства современных контроллеров это скорее правило, чем исключение). Вместо * указывается порядковый номер контроллера. Контроллеры нумеруются с нуля; первым (нулевым) является контроллер, который подключен к разъему материнской платы с меньшим номером. Если в системе установлены только IDE-диски, то элемент multi(*) будет всегда иметь значение 0. При использовании IDE и SCSI-контроллеров в одном компьютере, через элемент multi(*) могут быть адресованы только IDE-диски. Все остальные диски адресуются через элемент scsi(*) не зависимо от их поддержки в BIOS |
disk(*) | Этот элемент ARC-имени используется только в случае адресации контроллера дисков через элемент scsi(*). Вместо * указывается SCSI Bus ID (от 0 до 6) для соответствующего диска. Если ARC-имя начинается с multi(*), то значение элемента disk всегда равно 0 |
rdisk(*) | Этот элемент ARC-имени используется только в случае адресации контроллера дисков через элемент multi(*). Вместо * задается либо логический номер дискового устройства (logical unit number, LUN), либо положение в цепочке жестких дисков, связанных с контроллером. Нумерация дисков начинается с 0 |
partition(*) | Этот элемент ARC-имени задает раздел диска. В отличие от остальных элементов ARC-имени, нумерация разделов начинается с 1 |
path | Путь к каталогу или файлу от корня раздела |
При использовании элемента scsi(*)в корневом каталоге системного диска должен быть расположен файл ntbootdd.sys, который является копией драйвера используемого SCSI контроллера из каталога %systemroot%\system32\drivers. Т. к. scsi(*) используется при отключенной BIOS контроллера, загрузчику нужен дополнительный драйвер для доступа к дискам.
При разрешении ARC-имени происходит загрузка файла ntbootdd.sys, через который и осуществляется доступ к дискам, подключенным к контроллеру. Из этого следует, что при наличии нескольких несовместимых SCSI-контроллеров операционные системы могут быть загружены только с дисков, подключенных к одному из контроллеров. Диски всех остальных контроллеров будут недоступны в момент загрузки.
На компьютерах с архитектурой Intel допустимо разбиение каждого жесткого диска на 4 раздела. Один из этих разделов может быть дополнительным (extended), т. е. разделом, в котором могут быть созданы логические диски. Остальные три раздела (или четыре, если нет дополнительного) называются основными (primary) и содержат по одному логическому диску.
Только основной раздел может быть системным (с него начинается загрузка), однако загрузочный раздел может быть размещен на любом диске, в том числе и на логическом, расположенном в дополнительном разделе.
На любом диске, содержащем несколько разделов, дополнительный раздел всегда имеет наибольший номер, несмотря на его физическое расположение на диске.
Расширения ARC-синтаксиса.
Начиная с Windows 2000 возможно использование еще одного корневого элемента ARC-имени - signature(*).О новой возможности можно подробно прочитать в статье Q227704 Microsoft Knowledge Base. Пример ARC-пути:
signature(8b467c12)disk(1)rdisk(0)partition(1)\WINNT
Новый элемент signature(*)является альтернативой элементу scsi(*) и используется в тех же случаях - отключенная BIOS SCSI-контроллера. Новый элемент был введен для поддержки технологии Plug and Play для жестких дисков при их перемещении с одного компьютера на другой или в пределах одного компьютера. Использование signature(*)позволяет перемещать загрузочный диск в пределах компьютера не модифицируя при этом файл boot.ini. При обнаружении ARC-пути, начинающегося с signature(*),загрузчик будет опрашивать все доступные диски и искать среди них диск с указанной сигнатурой. Это вызывает достаточно продолжительную паузу при загрузке компьютера.
Сигнатура представляет собой уникальное шестнадцатеричное значение, которое хранится в Master Boot Record (MBR) каждого жесткого диска, к которому когда-либо имела доступ ОС Windows NT, 2000, XP. Сигнатура диска может меняться с течением времени, например, если MBR была повреждена вирусом или было произведено низкоуровневое форматирование диска. Если сигнатура диска была изменена по каким-либо причинам, это приведет к невозможности загрузки ОС с указанного раздела; сообщение об этом будет выдано во время загрузки системы.
С осторожностью относитесь к использованию элемента signature(*) в файле boot.ini. Не пытайтесь изменять значения, записанные системой в ARC-пути, начинающиеся с signature(*).
Параметры загрузки различных операционных систем.
Различные ОС имеют разные параметры загрузки. Обычно эти параметры приведены в описании ядра соответствующей ОС. Параметры загрузки основных ОС семейства Windows приведены в таблице.
Параметр | Поддерживается | Описание |
/NOSERIALMICE= COMx[,y[,z]] | NT | Отключает автоматическое определение мыши на одном или нескольких COM-портах. Может быть полезно, если к COM-порту подключено устройство, отличное от мыши, некорректная инициализация которого может привести к сбоям в работе |
/FASTDETECT= [COMx[,y[,z]]] | 2000 , XP | Отключает автоматическое определение периферийных устройств на одном или нескольких COM-портах. Если порт не указан, то отключается обнаружение периферийных устройств на всех COM-портах. Включается по умолчанию в каждую запись boot.ini |
/BASEVIDEO | NT, 2000 , XP | Приводит к загрузке Windows в стандартном VGA режиме без использования установленных видео драйверов. Позволяет загрузить Windows после установки некорректного видео драйвера. Также используется программой установки |
/CRASHDEBUG | NT , XP | Разрешает средства автоматического восстановления и перезапуска Windows |
/SOS | NT, 2000 , XP | Выводит на экран имена загружаемых драйверов и модулей. |
/NODEBUG | NT , XP | Полностью отключает отладочный мониторинг, что может привести к повышению быстродействия ОС. Рекомендуется использовать на компьютерах конечных пользователей |
/MAXMEM:n | NT, 2000 , XP | Ограничивает объем памяти, используемой ядром Windows. Этот переключатель полезен при неисправности части ОЗУ |
/SCSIORDINAL:n | NT | Указывает, какой SCSI-контроллер будет использован для загрузки ОС (при использовании 2-х идентичных контроллеров) |
/BAUDRATE=n | NT , XP | Задает скорость COM-порта, используемого для подключения отладчика ядра (Kernel Debugger) |
/NOGUIBOOT | 2000 , XP | Задает загрузку Windows без отображения графического окна состояния загрузки |
/BOOTLOG | 2000 , XP | Включает ведения файла журнала загрузки |
/SAFEBOOT: MINIMAL | 2000 , XP | Включает безопасный режим (safe mode) |
/SAFEBOOT: NETWORK | 2000 ,XP | Включает безопасный режим с поддержкой сети (safe mode with networking) |
/SAFEBOOT: MINIMAL(ALTERNANESHELL) | 2000 , XP | Включает безопасный режим с запуском эмулятора командной строки (safe mode with command prompt) |
/SAFEBOOT: DSREPAIR | Включает режим восстановления Active Directory (directory services restore mode). Доступен только на контроллерах домена | |
/DEBUG | 2000 , XP | Включает режим отладки |
/ debugport = com number | XP | Указывает порт для отправки информации из режима отладки. По умолчанию используется COM2. |
/channel | XP | Используется совместно с /DEBUG и / debugport . Направляет информацию из режима отладки в порт Institute of Electrical and Electronics Engineers, Inc. (IEEE) 1394 . |
/3GB | 2000 , XP | Включает распределение виртуального адресного пространства 3-1 (3 Гб для процессов режима пользователя, 1 Гб для ядра) вместо стандартного режима 2-2 (2 Гб для процессов режима пользователя, 2 Гб для ядра). Доступен только на Windows 2000 Advanced Server, Windows 2000 Datacenter Server, Windows XP и более поздних ОС. |
/PAE | 2000 , XP | Включает поддержку спецификации Intel Physical Addressing Extension (PAE), что позволяет системе адресовать более 4 Гб физической памяти. Доступен только на Windows 2000 Advanced Server, Windows 2000 Datacenter Server, Windows XP и более поздних ОС. |
/NUMPROC= n | XP | Указывает количество процессоров, используемых Windows . |