Использование Lilo, когда BIOS не видит корневой раздел
У меня два IDE-диска, и один SCSI. SCSI-диск не виден из BIOS. Загрузчик
Linux, Lilo, использует вызовы BIOS и может видеть только те диски, которые
видит BIOS. Мой глупый AMI BIOS может загрузиться только с "A:" или "C:"
Моя корневая файловая система находится на SCSI-диске.
Решение состоит в том, чтобы держать ядро, файл таблиц (map file) и
цепочный загрузчик (chain loader) в Linux-разделе на первом IDE-диске.
Заметьте, что необязательно в этом случае иметь ядро на корневом разделе.
Второй раздел на моем первом IDE-диске (/dev/hda2, Linux-раздел для
загрузки системы) подключен к /u2. Вот файл /etc/lilo.conf, который я
использовал.
# Установка Lilo на MBR
# первого IDE-диска.
#
boot = /dev/hda
# /sbin/lilo (установщик) копирует загрузочную запись Lilo
# из следующего файла в месторасположение MBR.
install = /u2/etc/lilo/boot.b
#
# Я написал сложное загрузочное меню. Lilo найдет его здесь.
message = /u2/etc/lilo/message
# Установщик создаст следующий файл. Он подскажет
# загрузчику, где находятся блоки ядра.
map = /u2/etc/lilo/map
compact
prompt
# Ожидать 10 секунд, затем загрузить ядро версии 1.2.1 по умолчанию.
timeout = 100
# Ядро можно скопировать туда, где его увидит BIOS командой:
# cp -p /usr/src/linux/arch/i386/boot/zImage /u2/z1.2.1
image = /u2/z1.2.1
label = 1.2.1
# Lilo указывает ядру - подключить первый раздел на SCSI
# в качестве корневого. Для этого BIOS не обязательно должен его видеть.
root = /dev/sda1
# Этот раздел будет проверен и переподключен (remount) в скрипте /etc/rc.d/rc.S
read-only
# Я оставил старое ядро Slackware на случай, если я соберу нерабочее ядро
# Кстати, мне это пригодилось
image = /u2/z1.0.9
label = 1.0.9
root = /dev/sda1
read-only
# Мой раздел с DR-DOS 6.
other = /dev/hda1
loader=/u2/etc/lilo/chain.b
label = dos
alias = m |
Пред. | Начало | След. |
Настройка hdc для загрузки, как hda, и использование опции bios= | | Использование Lilo, когда BIOS не видит загрузить корневой раздел |