我有两个 IDE 硬盘和一个 SCSI 硬盘。 SCSI 硬盘 BIOS 无法识别。 Linux 引导程序 Lilo 使用 BIOS 调用,只能识别 BIOS 可以识别的硬盘。 我那愚蠢的 AMI BIOS 只能从 "A:" 或 "C:" 启动。 我的根文件系统位于 SCSI 硬盘的一个分区上。
解决方案是将内核、映射文件和链式加载器存储在第一个 IDE 的 Linux 分区上。 请注意,无需将内核保留在根分区上。
我的第一个 IDE 的第二个分区(/dev/hda2,用于启动系统的 Linux 分区)挂载在 /u2 上。 这是我使用的 /etc/lilo.conf 文件。
# Install Lilo on the Master Boot Record
# on the first IDE.
#
boot = /dev/hda
# /sbin/lilo (the installer) copies the Lilo boot record
# from the following file to the MBR location.
install = /u2/etc/lilo/boot.b
#
# I wrote a verbose boot menu. Lilo finds it here.
message = /u2/etc/lilo/message
# The installer will build the following file. It tells
# the boot-loader where the blocks of the kernels are.
map = /u2/etc/lilo/map
compact
prompt
# Wait 10 seconds, then boot the 1.2.1 kernel by default.
timeout = 100
# The kernel is stored where BIOS can see it by doing this:
# cp -p /usr/src/linux/arch/i386/boot/zImage /u2/z1.2.1
image = /u2/z1.2.1
label = 1.2.1
# Lilo tells the kernel to mount the first SCSI partition
# as root. BIOS does not have to be able to see it.
root = /dev/sda1
# This partition will be checked and remounted by /etc/rc.d/rc.S
read-only
# I kept an old Slackware kernel lying around in case I built a
# kernel that doesn't work. I actually needed this once.
image = /u2/z1.0.9
label = 1.0.9
root = /dev/sda1
read-only
# My DR-DOS 6 partition.
other = /dev/hda1
loader=/u2/etc/lilo/chain.b
label = dos
alias = m