Штатный мультисистемный заргузчик дистрибутива ASPLinux - ASPLoader, как я уже говорил, обладает весьма большими возможностями. Так, помимо собственной системы, он в состоянии грузить Windows, а также иные варианты Linux. Однако для второго варианта его следует некоторым образом настроить.
Конечно, некоторые настройки можно выполнить и из меню при начальной загрузке (рис. 1). Однако здесь доступны только смена системы, загружаемой по умолчанию (через меню Configuration - Set as defaults&boot, рис. 2), определение параметров командной строки загружаемого ядра (меню Options, рис. 3, 4), а также безопасное выключение питания или перезагрузка (меню Configuration - Turn off power). Все прочее требует редактирования конфигурационного файла.
Рис. 1.Главное меню загрузчика ASPLoader
Рис. 2. Меню Configuration
Рис. 3. Меню Options
Рис. 4. Панель для ввода параметров ядра
Файл этот - /etc/aspldr.conf, подробную информацию о нем можно получить из экранной документации (правда, не очень понятно, почему, переведя ее на английский язык, разработчики не привели русского оригинала):
man (5) aspldr.conf
а о самом по себе загрузчике - из
man (8) aspldr
Я же попробую описать процесс конфигурирования на собственном опыте. По умолчанию aspldr.conf имеет примерно следующий вид (в случае установки ядра 2.4 наряду с 2.2):
[asplinux1@ASPLinux(2.2.19-3.asp)]
icon linux
kernel /boot/vmlinuz-2.2.19-3.asp root=/dev/hda1 ro
initrd /boot/initrd.2.2.19-3.asp.img
[SEPARATOR]
[asplinux2@ASPLinux(2.4.2-0.1.49)]
icon linux
kernel /boot/vmlinuz-2.4.2-0.1.49 root=/dev/hda1 ro
initrd /boot/initrd.2.4.2-0.1.49.img
[SEPARATOR]
[floppy@Boot from floppy]
icon floppy
sysboot a:
[BOOTMGR]
video graphics
default asplinux1
timeout 15
clock 24
[ACTIVATOR]
writembr on
writeboot off
biosnum 1
mbrdev /dev/hda
language en
Две последние секции (BOOTMGR и ACTIVATOR) содержат глобальные настройки загрузчика, как то:
- видеорежим загрузчика: кроме графического (graphics) режима по умолчанию, его можно запустить в текстовом (text) или псевдографическом (pseudographics) режимах;
- операционная система, загружаемая по умолчанию, и время ожидания выбора (timeout, в секундах);
- формат времени - 12- или 24-часовой;
- условия записи в MBR изи загрузочный сектор раздела, устройство с главной загрузочной записью: ASPLinux может запускаться не только с первого физического диска, как LILO, но и с любого другого (по крайней мере со второго на первой линии - точно, проверено на собственном опыте);
- язык меню загрузчика; кроме английского (по умолчанию), можно выбрать и еще несколько из поддерживаемых ASPLinux - русский (ru), корейский (ko), польский (po) и японский (ja); доступные варианты можно посмотреть, открыв каталог /boot/aspldr.
В первых же секциях описываются операционные системы, доступные для загрузки. Формат описания достаточно прозрачный, хотя и отличается от принятого в LILO или, например, в GRUB.
Первой строкой каждой секции идет название системы (его можно редактировать произвольным образом и имя выводимой при этом иконки (правда, местоположение отвечающего за это изображения мне обнаружить не удалось).
Далее для загружаемых с винчестера Linux-систем приводится имя ядра и путь к нему, устройство, на котором расположен корневой каталог (то есть /, а не /root) и файл образа, с которого создается RAM-диск. Все эти файлы должны находиться в каталоге /boot.
Для варианта загрузки с флоппи-диска вместо имени ядра указывается только загружаемое устройство - sysboot a: (в виде, принятом скорее в DOS, чем в Linux. То же относится и к записям, отвечающим за загрузку не-Linux систем. Так, если ASPLinux устанавливался на диск с уже инсталлированной Windows9x, будет автоматически создана секция вида:
[SEPARATOR]
[win@Windows 98]
icon windows
sysboot 1-1
Здесь в качестве параметров sysboot указываются номер диска и раздела на нем: обращаю внимание, что нумерация и тех, и других начинается с единицы, как в приведенном примере (вряд ли кому удавалось загрузить Windows9x с какого либо раздела, кроме первого на первом же диске).
Если в системе имеется, например, два физических диска, на втором (или, напротив, на первом) из которых установлен иной Linux или что-нибудь вроде *BSD, для этой системы также будет создана отдельная секция с меткой вроде OS from disk#, а строка загрузки примет вид типа
sysboot #-#
Как я уже говорил, ASPloader способен работать, будучи установленным на диск и раздел, отличный от первых. Однако загрузить что-либо кроме него самого и Windows при автоматическом конфигурировании не удастся. Однако для Linux-системы могу предложить следующий, хотя и несколько странный, вариант.
Для начала, загрузив ASPLinux, следует подмонтировать устройство, на котором находится каталог с ядром другой Linux-системы (скорее всего, это будут /boot или /), например,
mount /dev/hdb1 /mnt/linux2
(точка монтирования, конечно, должна существовать). Затем в файл /etc/aspldr.conf вносится строка вроде:
[SEPARATOR]
[SuSE]
icon linux
kernel /mnt/linux2/boot/vmlinuz_24 root=/dev/hdb1 ro
где указывается путь до ядра системы в соответствие с ее точкой монтирования. Вслед за этим ASPLoader перезагружается командой
/sbin/aspldr
что, как и для LILO, обязательно делать после любого изменения конфигурационного файла. Если что-либо было сделано неправильно (например, допущена ошибка в определении пути до ядра, или раздел с ним не был предварительно смонтирован), появится сообщение об ошибке. В противном случае никакого видимого эффекта не воспоследует (что, впрочем, не гарантирует, что вторую систему можно будет загрузить - см. ниже).
Теперь вторую файловую систему можно размонтировать (вносить ее навеки в /etc/fstab отнюдь не обязательно, как ни странно). И - перезагрузить машину. В меню ASPLoader появится соответствующий пункт, выбрав который, можно, если повезет, будет запустить второй вариант Linux. В частности, приведенный пример успешно функционировал у меня при ASPLinux на первом (Master) диске и SuSE Linux - на втором (Slave).
Однако в случае с Free- и OpenBSD я потерпел неудачу. Ни та, ни другая категорически не желали грузиться ни по умолчанию (при строке вроде sysboot 2-1), ни иным образом. Причем даже физическая перемена Master- и Slave-дисков не помогала. Напрашивающееся объяснение - обе *BSD-системы были установлены у меня в т.н. dangerously-режиме, исключающем размещение на том же физическом диске стороннего загрузчика (хотя ASPLoader и стоял у меня на другом диске, но, возможно, желал что-то вписать в загрузочный сектор соседа).
Возможно также, что причина в том, что BSD-разделы монтировались по умолчанию только в режиме read only, и пересборка ядра ASPLinux может исправить дело. Как-нибудь на досуге проверю. Если же кто имеет информацию по этому поводу, буду признателен.
Однако за исключением последнего момента, иных претензий к ASPLoader'у у меня не возникло. Загрузчик этот:
- вполне удобен в использовании и конфигурировании;
- не требует непременно графического режима (если тот почему-либо не проходит на данной видеокарте);
- не привязан ни к MBR первого диска, ни к первым 1023 его секторам (последнее ограничение снято и в LILO, и в GRUB, однако ни тот, ни другой мне не удавалось запустить со второго диска);
- позволяет без проблем грузить Windows 9x и, судя по документации, Windows NT/2000, а после несложной настройки - и любую иную Linux-систему.
Все это делает ASPLoader неплохим выбором для своего родного дистрибутива.