hdc
安装为 hda
启动并使用 bios=
Lilo 允许将内核镜像从一个磁盘映射,并指示 BIOS 从另一个磁盘检索它。例如,我通常将 Linux 安装到连接到 hdc
(辅助控制器的主盘)的磁盘上,并在另一台计算机的主 IDE 控制器上将其作为独立系统启动。我将安装软盘复制到一个小分区,这样我就可以在虚拟控制台中运行 chroot 来安装 hdc
,同时我可以使用系统做其他事情。
我用来安装 Lilo 的 lilo.conf 文件看起来像
# This file must be used from a system running off /dev/hdc boot = /dev/hdc # overwrite MBR of hdc disk = /dev/hdc # tell how hdc will look like: bios = 0x80 # the bios will see it as first drive delay = 0 vga = 0 image = /boot/vmlinux # this is on /dev/hdc1 root = /dev/hda1 # but at boot it will be hda1 label = Linux read-only
这个配置文件必须由运行在 /dev/hdc1 上的 Lilo 读取。写入引导扇区 (/dev/hdc
) 的 Lilo 映射必须引用 /boot
中的文件(当前安装为 hdc);当此磁盘作为独立系统启动时,这些文件将通过 hda 访问。
我将此配置文件称为 /mnt/etc/lilo.conf.hdc
(/mnt
是安装期间 hdc 的挂载点)。我通过调用 ``cd /mnt; chroot . sbin/lilo -C /etc/lilo.conf.hdc
'' 来安装 Lilo。如果这看起来很神奇,请参阅 chroot 的手册页。
lilo.conf
中的 ``bios=
'' 指令用于告诉 Lilo BIOS 如何看待您的设备。BIOS 调用使用数字标识软盘和硬盘驱动器:0x00 和 0x01 选择软盘驱动器,0x80 和后面的数字选择硬盘(旧的 BIOS 只能访问两个磁盘)。因此,前面示例文件中 ``bios = 0x80
'' 的意思是 ``在您的 BIOS 调用中使用 0x80 来表示 /dev/hdc
''。
这个 Lilo 指令在其他情况下也可能很有用,例如,当您的 BIOS 能够从 SCSI 磁盘而不是 IDE 磁盘启动时。当 IDE 和 SCSI 设备都存在时,Lilo 无法判断 0x80 将引用哪一个,因为用户可以在 BIOS 配置菜单中选择它,并且在 Linux 运行时无法访问 BIOS。
默认情况下,Lilo 假设 IDE 驱动器首先由 BIOS 映射,但这可以通过在 /etc/lilo.conf
中使用如下指令来覆盖。
disk = /dev/sda bios = 0x80