Роман Клименко - Недокументированные и малоизвестные возможности Windows XP
Файл BOOT.INI состоит из двух блоков. Первый из них называется [boot loader] и содержит информацию о времени ожидания выбора пользователем операционной системы, а также об операционной системе, загрузка которой будет выполнена в случае, если пользователь так и не выбрал за предоставленное время конкретную операционную систему. Второй блок называется [operating systems]. В нем находится информация обо всех операционных системах, которые можно будет выбрать для загрузки с помощью списка операционных систем. Посмотрим на листинг 17.6, в котором представлен пример файла BOOT.INI.
Листинг 17.6. Пример файла BOOT.INI[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(2)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)WINDOWS="Windows XP Professional Test" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(2)WINDOWS="Windows XP Tablet PC Edition" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Windows XP Professional Recent" /fastdetect /NoExecute=OptIn
C:CMDCONSBOOTSECT.DAT="Windows XP Recovery Console" /cmdcons
Boot loader
Блок [boot loader] содержит всего два ключевых слова.
■ Timeout — определяет количество секунд, которые система будет ожидать выбора пользователем загружаемой операционной системы перед тем, как загрузить операционную систему, указанную в ключевом слове default.
■ Default — указывает путь к загружаемой по умолчанию операционной системе (к системному каталогу данной операционной системы). Иными словами, данный путь должен соответствовать одному из путей, указанному в блоке [operating systems] перед символом =.
Operating systems
Блок [operating systems] содержит столько строк, сколько операционных систем установлено на компьютере. При этом каждая строка имеет такой формат:
«путь к системному каталогу загружаемой операционной системы»=«строка, идентифицирующая данную операционную систему в загрузочном меню» «ключи запуска операционной системы»
Как можно заметить из листинга, путь к операционной системе строится весьма необычным образом — не с помощью буквы логического диска, на котором установлена операционная система, а с помощью номера партиции, в которой установлена операционная система, а также номера диска. Если вы не понимаете ничего в таком способе построения пути, то просто можете посмотреть, с помощью какого пути загружалась данная операционная система. Для этого предназначен параметр строкового типа SystemBootDevice, расположенный в ветви реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl.
ARC-имена состоят из четырех частей, совместно описывающих букву диска, на котором нужно искать операционную систему. Вкратце рассмотрим эти части.
■ Первая определяет контроллер для данного жесткого диска и может быть равна либо multi (««номер контроллера диска»), либо scsi («номер scsi адаптера в системе»). При этом следует учитывать, что нумерация контроллеров диска начинается с нуля, то есть для первого контроллера диска данная часть будет равно multi (0).
■ Вторая определяет номер диска, подключенного к указанному в первой части контроллеру. Для SCSI-дисков вторая часть равна disk(«номер диска, начиная с нуля»). Если же первая часть равна multi («номер контроллера диска»), то вторая часть всегда должна быть равна disk(0) — она не используется и будет игнорироваться.
■ Третья определяет номер диска, подключенного к указанному в первой части контроллеру. Для SCSI-дисков третья часть всегда равна rdisk(0), так как она не используется, ведь номер диска был задан ранее. Если же первая часть равна multi («номер контроллера диска»), то третья часть должна быть равна disk («номер диска, начиная с нуля»).
■ Четвертая указывает конкретный раздел на жестком диске, в котором содержатся файлы операционной системы, и равна partition («номер раздела, начиная с единицы»).
Можно также посмотреть ключи, которые использовались при запуске операционной системы. Для этого предназначен параметр строкового типа SystemStartOptions, расположенный в ветви системного реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl. Теперь поговорим о ключах. Что же они делают?
■ /BASEVIDEO — говорит системе, что данная операционная система должна быть загружена с использованием стандартного графического драйвера vga.sys. Это может понадобиться в случае, когда недавно установленный в операционной системе графический драйвер ведет себя некорректно.
■ /BAUDRATE — определяет скорость передачи в бодах, которая будет использоваться при отладке запуска операционной системы по определенному СОМ-порту. Данный ключ должен использоваться только вместе с ключом /DEBUG. По умолчанию используется скорость 9600 бод для модемного соединения и 19200 бод для нуль-модемного кабеля.
■ /BOOTLOG — установка данного ключа приводит к созданию файла журнала (файл NTBTLOG.ТХТ, расположенный в каталоге %systemroot%) при каждой загрузке операционной системы. В данный файл журнала будет помещаться информация обо всех загруженных при запуске Windows XP драйверах, а также о тех драйверах, загрузить которые не удалось.
■ /CRASHDEBUG — говорит системе, что при запуске данной операционной системы необходимо также запускать отладчик ядра в состоянии ожидания. Это может понадобиться при возникновении аварийной остановки при загрузке операционной системы (чтобы понять причину возникновения экрана BSOD).
■ /DEBUG — при запуске операционной системы также должен быть запущен отладчик, доступ к которому можно получить по СОМ-порту удаленного компьютера. Данный режим может быть полезен при возникновении аварийной остановки при запуске операционной системы.
■ /DEBUGPORT=«COM-порт» — определить СОМ-порт, по которому будет вестись работа с отладчиком при возникновении аварийной остановки. По умолчанию используется порт COM1.
■ /FASTDETECT — говорит о том, что программа ntdetect.com не должна определять установленные на компьютере устройства. Вместо нее это будет делать система Plug and Play.
■ /MAXMEM=«количество мегабайт оперативной памяти» — определяет количество оперативной памяти, которое будет использовать данная операционная система во время своей работы.
■ /NODEBUG — не выводить отладочную информацию на экран компьютера.
■ /NOGUIBOOT — не отображать графическую заставку Windows.
■ /NOSERIALMICE=«COM-порт» — запретить определение мыши на указанных СОМ-портах (СОМ-порты можно писать через запятую), если она там подключена.
■ /SAFEBOOT:«режим» — говорит системе, что данная операционная система должна загружаться в одном из безопасных режимов. При этом доступны следующие режимы:
• MINIMAL — обычный безопасный режим;
• MINIMAL(ALTERNATESHELL) — безопасный режим с поддержкой командной строки;
• NETWORK — безопасный режим с загрузкой сетевых драйверов;
• DSREPAIR — безопасный режим для восстановления каталога Active Directory.
■ /SOS — отображать при загрузке операционной системы имена всех запускаемых драйверов.
MSconfig.exe
С помощью вкладки BOOT.INI все приведенные ключи загрузки можно автоматически добавить к выделенной в данный момент строке операционной системы, не беспокоясь об их корректности. Для этого необходимо сначала выделить строку запуска операционной системы, а потом установить необходимые флажки напротив часто используемых ключей, отображенных на вкладке BOOT.INI программы msconfig. Если какого-то необходимого ключа в данном списке вы не найдете, то можно нажать кнопку Дополнительно, после чего перед вами отобразится список дополнительных ключей.
И наконец, можно нажать кнопку Проверить все пути загрузки, чтобы определить, соответствуют ли новые пути загрузки операционных систем (если вы их изменяли) реальному их расположению на жестком диске компьютера.
Bootcfg.exe
Это еще одна программа (программа командной строки) для работы с файлом BOOT.INI. Причем данная программа имеет один большой плюс — с ее помощью можно редактировать файл BOOT.INI удаленной операционной системы. Мы не будем вдаваться в подробности работы этой программы, так как работа с ней описана в Центре справки и поддержки.
Глава 18
Стандартные каталоги Windows и их содержимое
Еще одной темой, которая может вас заинтересовать, является содержимое каталогов Windows. Согласитесь, ведь каждый иногда задавал себе такие вопросы: «А зачем нужен этот каталог?» «А зачем нужно столько много каталогов?» «А зачем нужны эти файлы?» Наконец, попробуем разобрать назначение если не всех стандартных каталогов Windows и файлов в них, то многих из них.
■ %systemroot%$название обновления$ — папки создаются устанавливаемыми на компьютер пакетами обновлений Windows XP и предназначены для возможности удаления установленного обновления (откат к предыдущему состоянию). Как правило, внутри таких папок есть программа, удаляющая обновления, но можно воспользоваться и диалогом Установка и удаление программ.