NT club. Часть 3. Много ОС — 1 PC

NT club. Часть 3. Много ОС — 1 PC

— Астронавты! Которая тут цапа?
— Там. Ржавая гайка, родной.
— Да у вас все тут ржавое.
— А эта самая ржавая...
(с) "Кин-Дза-Дза"

Цели и задачи
Допустим, вы решили установить NT в качестве второй, а не первой и единственной ОС. Конечно, можно для этого воспользоваться различного рода виртуальными машинами вроде Connectix Virtual PC, но лучше (из соображений стабильности и быстродействия) установить NT на другой раздел и обеспечить множественную загрузку. Никаких дополнительных утилит для этого не надо — все есть в самой ОС. Единственное но — NT нужно ставить после установки остальных ОС. Можно, конечно, обойти и это ограничение, но зачем лишняя работа? Читаем дальше и "просвещаемся":).

Загрузочные файлы
Есть ряд файлов, необходимых для запуска NT. Обычно их называют загрузочными (см. таблицу). Как вы понимаете, некоторые файлы нужны не всегда. Из драйверов нужны только те, которые соответствуют подключенным устройствам. Если устройство не работает, то и драйвер соответственно не будет подгружен. Bootsec.dos, Bootsec.lnx и т.д. нужны лишь в системах с множественной загрузкой и содержат загрузочный сектор(а) для соответствующей ОС. Bootfont.bin обеспечивает поддержку кириллицы во время загрузки NT и нужен лишь для русифицированных версий этой линейки ОС. Ntbootdd.sys есть лишь в системах, загрузка которых производится с SCSI-диска, у которого отключен BIOS. Остальные файлы есть в любой NT, и без них загрузка невозможна. Будьте осторожны с этими файлами!


Таблица1. Загрузочные файлы



Имя

Местоположение

Назначение

Ntldr

%SystemDrive%

Загрузчик NT

Boot.ini

%SystemDrive%

Параметры загрузчика

Bootsect.dos

%SystemDrive%

Загрузочный сектор(а) DOS/9x (для систем с двойной загрузкой)

Bootfont.bin

%SystemDrive%

Поддержка кириллицы при загрузке

Ntdetect.com

%SystemDrive%

Распознаватель аппаратных средств

Ntbootdd.sys

%SystemDrive%

Поддержка загрузки с SCSI-дисков

Ntoskrnl.exe

%SystemRoot%\system32

Ядро NT (точнее, исполнительная система и ядро)

Hal.dll

%SystemRoot%\system32

Уровень абстрагирования от оборудования

System

%SystemRoot%\system32\config

Улей (куст) HKLM\SYSTEM реестра

Драйверы

%SystemRoot%\system32\drivers

Набор драйверов устройств
Boot.ini
При установке нескольких ОС следует учесть вот что: на диске может быть до четырех разделов, с которых может производиться загрузка. Один из них является активным. Можно также создать до трех загрузочных и один расширенный раздел, в котором могут быть логические диски. Загрузка с них невозможна. Однако при установке NT мы сможем загрузиться и с логических дисков. Как? Все очень просто. Инсталлятор ОС изменяет загрузочный сектор(а) активного (обычно первого) загрузочного раздела, предварительно сохраняя его в файл (если стоит DOS либо Windows 9x, то файл будет называться Bootsect.dos, для Linux — Bootsect.lnx и т.д.) и копирует часть загрузочных файлов на этот раздел: ntldr, boot.ini, ntdetect.com и некоторые другие при необходимости. В boot.ini прописаны все пути загрузки ОС, и загрузчик может свободно запустить любую из них. Небольшой нюанс: в терминологии Microsoft системный раздел — это раздел, на котором расположены загрузочные файлы (загрузчик, его конфигурационный файл и т.д.), а загрузочный — тот, на котором имеется папка %SystemRoot% (т.е. Windows). Помните это!

Файл boot.ini содержит конфигурацию загрузчика, поэтому перед установкой нескольких ОС не мешало бы знать его формат, чтобы в случае чего все поправить. Привожу пример его содержимого для типичной машины с двумя ОС:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows XP Professional" /fastdetect
C:\="Microsoft Windows"

Как видите, файл состоит из 2-х секций: [boot loader] и [operating systems]. В первой секции перечисляются общие параметры загрузчика: timeout — время, которое дается на выбор загружаемой ОС; если ОС одна, этот параметр игнорируется, если параметр равен 0 — загрузка сразу, если -1 — ждать указаний пользователя, default — загружаемая по умолчанию ОС. В разделе [operating systems] перечисляются доступные системы и параметры загрузки после "/". Для всех NT-систем путь загрузки представляет собой ARC (Advanced RISC Computer) цепочки вида multi(0)disk(0)rdisk(0)partition (1)\WINDOWS="Windows XP Professional", где:
• scsi(0) или multi(0): scsi(0) используется в случае контроллера SCSI с отключенным BIOS; multi(0) — для дисков всех остальных типов. (0) — номер адаптера, с которого осуществляется загрузка. Адаптеры нумеруются с нуля начиная с контроллера, расположенного ближе к слоту 0 на материнской плате.
• disk(0) — если используется scsi(0), то равен логическому номеру устройства (LUN), установленному для диска. Если стоит multi(0), то всегда равен нулю.
• rdisk(0): если multi(0), то равен номеру диска в цепочке, счет дисков начинается с 0; если scsi(0), то всегда равен нулю.
• partition(0) — загрузочный раздел, содержащий системную папку (%SystemRoot%). Нумерация разделов начинается с 1, в отличие от всех предыдущих элементов.
• \WINDOWS — каталог %SystemRoot%, в котором находятся файлы ОС. В кавычках прописывается текст, который будет виден в пункте выбора этой ОС в стартовом меню.
Для не-NT-систем используется другой способ указания пути загрузки. Используется строка вида C:\Bootsect.dos="Microsoft Windows" (Bootsect.dos в данном случае можно не писать), где C:\ — раздел с файлами ОС, Bootsect. dos — имя файла с загрузочным сектором(ами), "Microsoft Windows" — отображаемое при выборе ОС название. Загрузчик NT в случае выбора не-NT-системы просто читает указанный файл с загрузочным сектором(ами) в память и передает ему управление.

Параметров загрузки существует большое количество, но мы остановимся только на fastdetect. Дело в том, что NT-системы до версии 4.0 включительно имели очень слабую поддержку Plug & Play, и распознавание всего оборудования проводила DOS-программа Ntdetect.com, которая передавала полученный результат загрузчику. Так как при установленных на разных разделах нескольких NT-системах используется общий загрузчик, а новые ОС (2000 и XP) обладают полной поддержкой Plug & Play, для последних следует добавить этот параметр, чтобы загрузчик не пытался опознать все оборудование. В этом случае будет проводиться поиск и распознавание только унаследованных устройств, таких, как последовательные и параллельные порты и т.д. Параметр fastdetect добавляется автоматически при установке ОС.

Теперь, когда вы знаете строение конфигурационного файла загрузчика, можно поговорить и о его модификации. Существует несколько способов изменения его содержимого. Можно воспользоваться апплетом Система Панели управления (Win+Pause) -> закладка Дополнительно -> группа Загрузка и восстановление -> кнопка Параметры (рис.1). Для ручного редактирования есть кнопка Правка. Второй вариант — воспользоваться утилитой Msconfig (Win+R, msconfig), предназначенной для создания альтернативных вариантов запуска системы с целью устранения ошибок. На закладке BOOT.INI можно указать большинство из существующих параметров загрузки ОС, не редактируя файл вручную, тем самым избежав возможных ошибок. Также есть консольная команда bootcfg. Использовать ее следует с осторожностью — предназначена она для администраторов и простотой не отличается. Ну, и последний способ — редактирование boot.ini в текстовом редакторе (а не процессоре!) — например, в Блокноте. Предварительно следует снять атрибут "Только для чтения" (можно командой attrib -r boot.ini), а после модификации установить его снова (attrib +r boot.ini). Еще: файл boot.ini скрытый, так что либо снимите этот атрибут, либо в Панели управления разрешите отображение скрытых файлов.

Установка второй ОС
Что ж, пора бы заняться собственно установкой NT. Ставить мы будем XP на второй раздел (неважно, загрузочный или нет). На первом у нас соответственно стоит Windows 98. Теперь берем в руки газету со второй частью NT club и делаем все, что написано в "Чистой установке" с одним исключением: при выборе разделов указываем второй (желательно предварительно его удалить и создать заново, а потом отформатировать в NTFS; не забудьте — 9x не читает NTFS). После операций, проделанных при загрузке компьютера, мы увидим стартовое меню, которое будет предлагать выбрать ОС с помощью клавиш управления курсором и нажать Ввод. Возможно, вам захочется изменить тайм-аут по умолчанию на какой-либо иной — в предыдущем разделе (boot.ini) описывается, как это сделать. Помните, я говорил, что NT нужно ставить после установки 9x. Так нужно делать потому, что 9x (да и NT тоже) переписывают загрузочный сектор(а), т.е. ставят загрузку на себя, но 9x не позволяет при этом грузиться другим ОС — загрузчик у нее по функциональности далек от NT'шного. Для исправления этого безобразия следует в файле MSBATCH.INF дистрибутива 9x (если такого файла в вашем дистрибутиве нет, создайте его) прописать следующие строки:

[Setup]
CleanBoot=0

В результате мы поставим 9x и сохраним работоспособность NT. Однако для возможности загрузки в 9x нам придется скопировать у кого-нибудь файл Bootsect.dos и добавить в конец файла boot.ini строку вроде C:\="Microsoft Windows 98" или C:\Bootsect.dos ="Microsoft Windows 98". Вуаля!

Заключение
Вот, собственно, на сегодня и все. Перед установкой ОС продумайте все, чтобы не было проблем. Повторно советую сходить на http://www.3dnews.ru и почитать тамошний FAQ — лишняя информация никогда не помешает.
Всего наилучшего!

Creator, creator_vom@tut.by


Компьютерная газета. Статья была опубликована в номере 10 за 2003 год в рубрике soft :: win

©1997-2024 Компьютерная газета