描述
默认情况下,本文件
( /etc/lilo.conf )
由引导管理程序 lilo
读取 (参考 lilo(8)).
它看起来可能象这样:
-
boot = /dev/hda
delay = 40
compact
vga = normal
root = /dev/hda1
read-only
image = /zImage-2.5.99
label = try
image = /zImage-1.0.9
label = 1.0.9
image = /tamu/vmlinuz
label = tamu
root = /dev/hdb2
vga = ask
other = /dev/hda3
label = dos
table = /dev/hda
该文件表明 lilo
使用设备 /dev/hda 的 Master Boot Record
(简称 MBR, 主引导记录).
(有关 lilo 使用方法
及与其它操作系统
相互影响的讨论, 参考
lilo 文档中 user.tex 部分).
引导时,
引导载入程序会等待 4
秒 (40 个十分之一秒),
使你有机会按下 Shift 键.
如果没有按键动作发生,
第一个核心映像文件
(/zImage-1.5.99, 也许你刚在
五分钟之前
完成的安装) 将被引导;
否则, 引导载入程序会
询问你要引导哪一个映像.
如果你不知道
有哪些选项可以选择,
按 [TAB] 键 (如果使用的
是美国键盘布局,
还可以按 [?]),
可以得到一个菜单,
这时你就可以
选择引导较新的核心,
或者是老的稳定的核心,
甚至是另外的
根文件系统上的核心,
也可以引导其它的操作系统,
在 lilo.conf 中可以配置最多
16 个映像.
正如上面所见,
配置文件以一定数量的全局
选项开始
(例子中开始的 6 行),
紧接着是各映像的描述选项,
在各映像中的选项会覆盖全局选项.
全局选项
这部分有许多
可能的关键字,
下面部分尽可能按照
user.tex
中的描述进行解释.
- backup=backup-file
- 使用 backup-file 文件
(可能是一个设备,如
/dev/null) 代替原来的
/boot/boot.NNNN
存放引导扇区的备份.
- boot=boot-device
- 指定包含引导扇区的设备名称
(如硬盘分区),
如果忽略了该关键字,
引导扇区就从
当前作为 root 文件系统
安装的设备读取
(也可能是进行写入).
- change-rules
- 定义引导时用于改变分区类型的数字
('隐藏'). 细节请参考 user.tex
中的 "Partition type change rules"
部分.
- compact
- 尽力把读取相邻扇区的请求合并为一次
读取. 这可以显著
缩短装载时间并减小映像,
在用软盘引导时,
强烈推荐使用 `compact'
选项.
- default=name
- 使用指定的映像文件
作为默认值加以引导.
如果忽略了 `default' 选项,
配置文件中
第一个出现的映像会被引导.
- delay=tsecs
- 在装载第一个映像之前等待的十分之一秒数.
这在需要激活键盘之后立即从硬盘
启动系统非常有用,
如果忽略了本选项或设置为
0 将不等待.
- disk=device-name
- 为指定的磁盘给出非标准参数,
有关细节参考 user.tex 中的
"Disk geometry" 部分.
特别有用的是 `bios=' 参数,
BIOS 为磁盘编号为0x80,
0x81等,但是它 不知道
Linux
磁盘对应的是哪一个
BIOS 盘 (因为这依赖于 BIOS
的设置, 也依赖于 BIOS
的类型),
所以如果你使用的是设置很特殊的系统,
你就必须说明 Linux
磁盘与 BIOS
盘之间的对应关系.
例如:
disk=/dev/sda
bios=0x80
disk=/dev/hda
bios=0x81
意思是,
你的第一块 SCSI 盘
(译者注: 通常id=0)
对应一号 BIOS 盘, 第一个
IDE
口上的主盘对应二号
BIOS 盘.
- disktab=disktab-file
- 指定包含磁盘参数表的文件名称.
如果忽略 `disktab' 选项,
映像安装程序查找
/etc/disktab , 不鼓励使用 disktab
.
- fix-table
- 允许 lilo
调整分区表中的三维地址
(sector/head/cylinder).
每个分区表项包含有本分区
起始扇区与结束扇区的三维地址和线性地址,
如果分区不是对应在整个磁道上并且
有其它的操作系统
(如PC/MS-DOS 或 OS/2) 在使用
同一磁盘,
它们可能会修改三维地址,
lilo
可以在分区上保存两种地址
的引导扇区,
如果使用了 `fix-table' 选项,
lilo
可以重新调整错误的三维开始地址.
警告:
这并不能保证其它的操作系统
随后不重新修改地址,
并且发生其它的负作用.
正确的方法是对磁盘重新分区,
使得分区对应于整个磁道.
- force-backup=backup-file
- 类似 `backup',
如果原来有同名的备份文件就予以改写.
- ignore-table
- 通知 lilo
忽略混乱的分区表.
- install=boot-sector
- 把指定的文件作为新的引导扇区进行安装,
如果忽略 `install'
选项,默认使用
/boot/boot.b.
- linear
- 生成线性的扇区地址代替
sector/head/cylinder
类型的三维地址.
线性地址是在运行时进行转换,
它不依赖于磁盘的几何结构.
注意如果使用 `linear'
选项, 就不能使用
便携式磁盘 (如软盘)
作为引导盘, 这是因为
决定磁盘 几何结构的
BIOS 服务 对于软盘
不能可靠的工作.
对于大磁盘使用 `linear'
选项时, /sbin/lilo
可以生成对不可到达
磁盘区域的引用,
这是由于
在引导完成之前
并不知道扇区的三维地址.
- lba32
- 生成 32
位的逻辑块地址代替
sector/head/cylinder
结构的三维地址. 如果
BIOS 支持数据分组 (packet)
定址,
就会使用这类调用去存取磁盘,
这样就可以从大于 8.4Gb
的分区进行引导,
变换的几何结构仅限于是
C:H:S 类型的地址 ; 如果 BIOS
不支持数据分组定址,
'lba32' 就如 'linear' 选项,
地址被转换为 C:H:S 结构.
使用 'lba32'
选项,所有的软盘仍保持
C:H:S 类型的格式.
- lock
- 允许自动记录引导命令作为下次引导的缺省值.
通过这种方法, lilo
可以"锁定"一个选项直到
手工覆盖它.
- map=map-file
- 指定映像文件的位置.
如果忽略了 `map'
选项,就使用 /boot/map .
- message=message-file
- 指定包含有在引导提示出现之前
显示的消息的文件名称.
在打印 "LILO "
之后等待按 Shift 键
过程中消息不会显示.
在此消息中, FF 字符 ([Ctrl L])
清除本地屏幕,
消息文件的大小限制为
65535 字节,
如果改变或删除了此文件,
映像文件必须重建.
- nowarn
- 禁止对后来的危险发出警告.
- optional
- 每一个 `optional' 选项
(参考下面) 都作用
于所有的映像.
- password=password
- 每一个 `password=...' 选项
(参考下面) 都作用
于所有的映像.
- prompt
- 在任何按键之前强制进入引导提示.
如果设置了 'prompt'
但是没有设置 `timeout',
就不能自动引导机器
(需要人工干预).
- restricted
- 每一个 `restricted' 选项
(参考下面) 都作用
于所有的映像.
- serial=parameters
- 允许从串行线路进行控制.
指定的串行端口被初始化,
引导载入程序接受从此端口和
PC 键盘的输入.
在串行线路上发送一个中断
(break)
相当于在控制台按下
shift 键,
可以得到载入程序的注意.
允许串行线路控制时,
所有的引导映像都应该加上口令保护.
比如线路是连接在 modem
上时, 相对于控制台,
这是最起码的安全要求.
参数串有如下的语法格式:
<port>[,<bps>[<parity>[<bits>]]]
<port>: 串行端口号,
以 0 为基准. 0 对应于 COM1,
也就是 /dev/ttyS0, 依此类推.
可以使用所有的四个端口
(如果有的话).
<bps>:
本端口的波特率.
支持如下波特率: 110, 150, 300,
600, 1200, 2400, 4800 和 9600 bps. 默认是 2400
bps.
<parity>:
线路上使用的奇偶校验方式.
载入程序忽略
输入的奇偶校验,
即省略第八位,
下面字符描述校验方式
(大小写均可): n 无校验,
e 偶校验, o 奇校验.
<bits>: 字符位数.
仅支持 7 位或 8位,
如果无奇偶校验,
默认为 8 位,
有校验则为 7 位.
如果设置了 `serial'
选项, `delay'
的值自动增加到 20.
例如: serial=0,2400n8
用缺省的参数初始化
COM1 端口.
- timeout=tsecs
- 设置键盘输入的超时时间
(以十分之一秒为单位).
到了指定的时间没有按键发生,
第一个映像被自动引导.
类似的,
如果用户停顿时间太长,
口令输入过程也被终止,
默认没有超时时间.
- verbose=level
- 打开详细报告过程.
更大的数字可以得到更多的输出,
如果在 lilo
的命令行附加了 -v , level
值会再增加. 最大值为
5.
另外, 核心配置参数
append, ramdisk, read-only, read-write,
root 和 vga
也在全局选项部分设置.
如果没有在各核心映像部分
修改它们,
默认是使用了的.
各映像选项
各个映像部分从任意一行开始.
image=pathname
(用于指出包含有 Linux
核心的文件或设备),
或者如下面这行:
other=pathname
指出要引导的其它系统.
在以前, image
行指定引导的设备时,
就必须用
- range=start-end
- 格式给出扇区的范围.
后来
(要引导其它系统)
使用了下面这三个选项
:
- loader=chain-loader
- 指出使用的 chain
装入程序. 默认时使用
/boot/chain.b ,
当不是从第一块硬盘或软盘引导时,
必须给出 chain
装入程序.
- table=device
- 给出包含有分区表的设备.
如果忽略了此选项,
引导载入程序就
不会给被引导的操作系统传送分区信息,
(有些操作系统可以通过其它办法
知道自己是从哪个分区引导的,
如 MS-DOS
通常在它的引导扇区
保存磁盘的几何结构或分区信息).
注意: 如果通过 `table'
选项引用的
分区表设备被修改了,
就需要重新执行 /sbin/lilo.
- unsafe
- 在建立映射时不能存取引导扇区.
这样禁止某些包括分区表的完整性检查,
如果引导扇区在固定格式的软盘设备上,
使用 UNSAFE
可以避免在执行
映射安装程序时需要把可读盘放入驱动器中,
`unsafe' 和 `table' 不兼容.
在上面所示的两种情况下,
都适用下述选项 :
- label=name
- 指出每个映像的标识文件名称
(不含路径).
通过设置各种 `label',
可以为映像指定不同的名称.
- alias=name
- 通过使用别名可以为同一个项目指定第二个名称.
- lock
- (参考前面.)
- optional
- 如果在映射建立时
没有提供映像文件就忽略它.
这对于指定
实际上并不存在的实验核心
是非常有用的.
- password=password
- 通过 password
口令保护映像.
- restricted
- 如果参数是在命令行中给出的,
为引导映像就仅需要口令
(如 single).
如果引导的是 Linux
核心,
可以传递命令行参数到核心.
- append=string
- 在传递给核心的参数表中附加本选项.
典型的应用是指定不能完全自动
探测到的硬件参数,
或者是可能有风险的情况.
例如:
append = "hd=64,32,202"
- literal=string
- 类似 `append',
但删除其它选项
(如设置 root 设备).
因为通过 `literal' 选项,
可以无意中删除掉其它关键选项,
所以它不能用在全局选项部分.
- ramdisk=size
- 指出 RAM 磁盘的大小, 0
表示没有 RAM
盘需要建立.
忽略了此选项, RAM
盘的大小就使用引导映像中原来配置的值.
- read-only
- 指出 root
文件系统以只读方式安装.
典型地,
系统在启动过程中 (在
fsck 检查过程之后)
以读写方式安装 root
文件系统.
- read-write
- 以读写方式安装 root
文件系统.
- root=root-device
- 指定作为 root
安装的设备.
如果使用的是 current , root
就设置为当前以根
文件系统安装的设备.
如果用 -r 选项改变了 root
的值,
就使用各个自己的设备.
如果忽略了 'root' 选项,
就使用核心中包含的
root 设备.
(该值是在核心的 Makefile
文件中 由 ROOT_DEV
给出并在编译核心时
就确定了的,
以后可以用 rdev(8)
程序修改.)
- vga=mode
- 引导时可以选择的 VGA
文本模式.
可以使用下列值:
normal: 普通 80x25
文本模式 .
extended (或 ext): 选择 80x50
文本模式 .
ask:
引导停止并等待用户输入.
<number>:
使用此数字对应的文本模式.
通过 vga=ask 引导, 然后按
[Enter]
可以得到一个支持的列表输出.
忽略了此选项,
就使用核心映像中
包含的 VGA 模式设置值.
(该值是在核心的 Makefile
文件中 由 SVGA_MODE
给出并在编译核心时就确定了的,
以后可以用 rdev(8)
程序修改.)
参考
lilo(8), rdev(8).
lilo
的发行版都有很多的文档资料,
以上仅仅是其中的一小部分.
中文版维护人
Yin Huaming <yhmact@pzh-public.sc.cninfo.net>
中文 man
手册页翻译计划
http://cmpp.linuxforum.net
跋
本页面中文版由中文
man 手册页计划提供。
中文 man
手册页计划:https://github.com/man-pages-zh/manpages-zh