Linux的LILO引导程序,LILO引导装载器详解

LILO(即 LInux

LOader)是最常用的两种 Linux 引导装载程序之一。LILO

可以被安装进可引导硬盘驱动器的 MBR

或者分区的分区引导记录。它还可以安装在可移除设备上,比如软盘、CD 或

USB 钥匙。如果您还不熟悉 LILO,那么在软盘或 USB

钥匙上进行实践是好办法,所以我们在例子中就是这么做的。

在安装 Linux

期间,常常指定 LILO 或 GRUB 之一作为引导管理程序。如果选择

GRUB,那么可能还没有安装

LILO。如果是这样,那么需要安装它的软件包。我们假设您已经安装了 LILO

包。如果您在安装软件包方面需要帮助,那么请参阅本教程后面的包管理部分。

lilo

命令(在 /sbin/lilo

中)的主要功能是,写第一阶段引导记录,并且使用配置信息(一般在

/etc/lilo.conf

中)来创建一个映射文件(/boot/map)。这个程序还有一些辅助用法,我们稍后会提到。我们先看一个典型的

LILO 配置文件,这个文件可能用于一个 Windows 和 Linux

双重引导的系统。

prompt

timeout=50

compact

default=linux

boot=/dev/fd0

map=/boot/map

install=/boot/boot.b

message=/boot/message

lba32

password=mypassword

restricted

image=/boot/vmlinuz-2.4.21-32.0.1.EL

label=linux

initrd=/boot/initrd-2.4.21-32.0.1.EL.img

read-only

append="hdd=ide-scsi root=LABEL=RHEL3"

other=/dev/hda1

loader=/boot/chain.b

label=WIN-XP

上面的第一组选项是全局选项,控制 LILO

如何操作。第二组和第三组选项是映像专用选项,分别针对要用 LILO

引导的两种操作系统,在这个例子中是 Red Hat Enterprise Linux 3 和

Windows XP。

例子中的全局选项是:

prompt

要求显示引导提示。

timeout

以十分之一秒为单位指定超时时间,超过这个时间之后自动装载默认系统。例子中的

timeout=50 表示超时时间为 5 秒。

compact

尝试合并对相邻扇区的读请求。这可以加快装载速度并且使映射文件更小。

default

指定默认情况下应该装载的操作系统。如果没有指定,就使用第一个操作系统。在我们的例子中,如果用户在

5 秒的超时时间内没有选择其他操作系统,就将装载 Linux 系统。

boot

指 定在哪里安装 LILO。在我们的例子中,这是软盘

/dev/fd0。要想在第一个硬盘的 MBR 中安装,应该指定

boot=/dev/hda。我们的 RHEL 3 系统实际上位于

/dev/hda11,所以如果要在这个分区中安装 LILO,就应该指定

boot=/dev/hda11。如果忽略这个参数,LILO

将尝试使用当前挂装为根(/)的设备的引导扇区。

map

指定映射文件的位置,LILO 使用这个文件向用户提供提示并且装载在

lilo.conf 的映像部分中指定的操作系统。默认情况下,这是

/boot/map。

install

指定要作为引导扇区安装的新文件。默认是 /boot/boot.b,这是 LILO

包提供的。

message

指 定在引导提示之前显示的消息。这个消息的长度必须小于 65535

字节。如果系统对 LILO 菜单显示图形化背景,那么 /boot/message

可能包含一个图像文件。在某些 Red Hat 系统上,这是一个 PCX 格式的

300x200 像素文件。在 SUSE 系统上,可能是 16 色 640x480 像素的 VGA

位图。在这种情况下,还有某些其他参数。请参阅系统附带的文档。例如,在我的

SUSE SLES9 系统上这是

/usr/share/doc/packages/lilo/README.bitmaps。

lba32

指定 LILO 应该为硬盘使用 LBA32 模式而不是 CHS

或线性扇区寻址。

password

指 定在引导映像之前必须输入的口令。注意,这个选项是明文的,所以

/etc/lilo.conf

的文件属性应该只允许根用户查看这个文件。这个口令不应该与根口令相同。password

和下一个选项 restricted

实际上是映像选项,但是为了方便可以在全局部分中指定。如果这样指定,相同的值应用于所有映像,除非在映像部分中被覆盖了。

restricted

放宽口令要求,这样只有当用户试图在引导期间提供额外参数时才要求输入口令。使用这个选项,在正常引导时用户不必输入口令,但是要想引导进单用户模式就必须提供口令。

下一部分是 RHEL3

Linux 系统的映像选项:

image

指定这个部分针对一个 Linux

系统,应该从一个文件装载这个系统。参数是 Linux

内核映像的文件名。

label

一个可选的标签,可以输入它来选择这个映像,而不必输入完整的映像名。

initrd

初始 RAM 磁盘

的名称,其中包含挂装文件系统之前内核需要的模块。

read-only

指定根文件系统最初应该以只读模式挂装。在对根文件系统进行检查之后,后面的引导阶段常常将它重新以读写模式挂装。

append

指定要传递给内核的选项。我们的例子指定应该为 /dev/hdd 使用 SCSI

仿真(2.4 以及更早的内核以这种方式处理光学设备,比如

CD-ROM)。它还指定具有标签 RHEL3 的分区应该挂装为根(/)。

最后一部分是非

Linux 系统的映像选项。

other

指定包含待装载系统的引导扇区的设备(或文件)的设备名。

loader

指定要使用的装载程序。LILO 支持

chain.b,它只是从可引导分区装载分区引导记录;LILO 还支持 chain.b

的变体 /boot/os2_d.b,它可以用来从第二个硬盘驱动器引导 OS/2。

label

一个可选的标签,可以输入它来选择这个映像,而不必输入完整的映像名。

现在,如果插入一张空软盘,可以运行 lilo

命令(/sbin/lilo)来创建一张可引导软盘,如清单 4 所示。注意,lilo

命令有 5 个详尽等级。多指定一个 -v 就加一级。

现在,如果插入一张空软盘,可以运行 lilo

命令(/sbin/lilo)来创建一张可引导软盘,如清单 4 所示。注意,lilo

命令有 5 个详尽等级。多指定一个 -v 就加一级。

root@lyrebird root]# lilo -v -v

LILO version 21.4-4, Copyright (C) 1992-1998 Werner Almesberger

'lba32' extensions Copyright (C) 1999,2000 John Coffman

Reading boot sector from /dev/fd0

Merging with /boot/boot.b

Secondary loader: 11 sectors.

Mapping message file /boot/message

Compaction removed 43 BIOS calls.

Message: 74 sectors.

Boot image: /boot/vmlinuz-2.4.21-32.0.1.EL

Setup length is 10 sectors.

Compaction removed 2381 BIOS calls.

Mapped 2645 sectors.

Mapping RAM disk /boot/initrd-2.4.21-32.0.1.EL.img

Compaction removed 318 BIOS calls.

RAM disk: 354 sectors.

Added linux *

Boot other: /dev/hda1, on /dev/hda, loader /boot/chain.b

Compaction removed 0 BIOS calls.

Mapped 6 (4+1+1) sectors.

Added WIN-XP

/boot/boot.0200 exists - no backup copy made.

Map file size: 8192 bytes.

Writing boot sector.

我们现在有了可引导 LILO 磁盘。如果

LILO 遇到错误,就可能会看到错误消息而且不写引导扇区。例如,如果在

/etc/lilo.conf 文件中忽略了 lba32 选项,就可能看到清单 5

那样的输出。这提示尝试 linear 或 lba32

选项。在这个例子中,使用命令行指定 -l 选项,这相当于在 lilo.conf

中指定 linear 选项。如果使用 -L 选项再试一次,lilo

应该会成功,输出应该与前面的清单一样。

清单 5:

[root@lyrebird root]# lilo

Warning: device 0x030b exceeds 1024 cylinder limit

Fatal: geo_comp_addr: Cylinder number is too big (16284 > 1023)

[root@lyrebird root]# lilo -l

Warning: device 0x030b exceeds 1024 cylinder limit

Fatal: sector 261613688 too large for linear mode (try 'lba32' instead)

在测试了引导磁盘之后,修改 lilo.conf 文件中的 boot=/dev/fd0 项,将

LILO 安装在 MBR 或分区引导记录上。例如, boot=/dev/hda 将 LILO

安装在第一个 IDE 硬盘的主引导记录上。

您现在大致了解了

LILO 及其配置文件,包括如何从 lilo

命令行覆盖某些配置选项。可以使用命令 man lilo 在 lilo

的手册页中找到更多信息。在 lilo 包安装的 postscript

用户指南中甚至有更丰富的信息。这应该安装在文档目录中,但是对于不同系统,准确的位置不一样。寻找文件的一种方法是通过

grep 过滤包清单。清单 6 显示了这个例子中使用的基于 rpm 的 RHEL3

系统的 LILO 用户指南位置。

清单 6:

[ian@lyrebird ian]$ rpm -ql lilo | grep ".ps$"

/usr/share/doc/lilo-21.4.4/doc/Technical_Guide.ps

/usr/share/doc/lilo-21.4.4/doc/User_Guide.ps

LILO

有几个辅助命令。

lilo -q

将显示映射文件中的信息。

lilo -R

将 lilo

设置为只在下次重新引导时自动引导指定的系统。对于自动重新引导远程系统,这非常方便。

lilo -I

将显示关于内核路径的信息。

lilo -u

将反安装 lilo 并且恢复原来的引导记录。

当 LILO 引导 Linux

系统时,您可能希望在引导时提供额外的参数。例如,如果图形化启动不起作用了,您可能希望引导进模式

3(即单用户模式)以便进行恢复。在标签名后面输入的任何文本将被传递给内核。例如,在我们的例子中,通过简单地输入“linux”来选择

RHEL 系统。要想引导进模式

3(即单用户模式),可以输入以下字符串之一:

linux

3

linux single

还要记住,对于

LILO,每当更新了配置文件(/etc/lilo.conf)的时候,必须 运行

lilo

命令。如果添加、移动或删除了分区,或者做了可能使产生的引导装载程序无效的其他修改,那么也应该运行

lilo 命令。

(本文摘自IBM中国网站Linux专区“LPI 101 考试准备:

Linux 安装与包管理”课程。作者:Ian

Shields , 高级程序员, IBM)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值