描述

默认情况下,本文件 ( /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.

另外, 核心配置参数 appendramdiskread-onlyread-writeroot 和 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 核心选项

如果引导的是 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.conf的更多相关文章

  1. lilo.conf - lilo 配置文件

    描述 默认情况下,本文件 ( /etc/lilo.conf ) 由引导管理程序 lilo 读取 (参考 lilo(8)). 它看起来可能象这样: boot = /dev/hda delay = 40 ...

  2. Linux操作系统的LILO详解

    LILO是一个在Linux环境编写的Boot Loader程序(所以安装和配置它都要在Linux下).它的主要功能就是引导Linux操作系统的启动.但是它不仅可以引导Linux,它还可以引导其他操作系 ...

  3. linux —— 启动引导程序 lilo 与 grub

    目录:1.启动引导程序概要 2.lilo 的安装与配置 3.grub的安装与配置 4.两种引导程序的切换  5.附:编译内核时的lilo 设置 1.启动引导程序概要 2.lilo 的安装与配置 3.g ...

  4. 引导加载程序之争: LILO 和 GRUB

    在不考虑他们的工作或专业情况下,所有 Linux 用户都会使用的是哪个工具?引导加载程序.通过本文了解引导加载程序的工作原理,认识两个流行的引导加载程序 LILO(LInux LOader)和 GNU ...

  5. lilo - 安装引导装入程序

    总述 主要功能: ” /sbin/lilo” - 安装引导装入程序 辅助用途: ”/sbin/lilo –q” - 查询影射表 ”/sbin/lilo –R” - 设置下次启动的默认命令行 ”/sbi ...

  6. 让/etc/profile文件修改后立即生效

    方法1: 让/etc/profile文件修改后立即生效 ,可以使用如下命令: # .  /etc/profile 注意: . 和 /etc/profile 有空格 方法2: 让/etc/profile ...

  7. Linux命令行上程序执行的那一刹那!

    转自:http://www.cppblog.com/cuijixin/archive/2008/03/14/44463.html by falcon<zhangjinw@gmail.com> ...

  8. Find linux下

    find 1.作用 find命令的作用是在目录中搜索文件,它的使用权限是所有用户. 2.格式 find [path][options][expression] path指定目录路径,系统从这里开始沿着 ...

  9. LINUX安全加固规范

    1 概述 近几年来Internet变得更加不安全了.网络的通信量日益加大,越来越多的重要交易正在通过网络完成,与此同时数据被损坏.截取和修改的风险也在增加. 只要有值得偷窃的东西就会有想办法窃取它的人 ...

随机推荐

  1. 21.6.29 test

    \(NOI\) 模拟赛 \(T1\) 正解是个题解难以理解的数论,结果是组合数相加.暴力分拿满了,尝试打了 \(20*20\) 的表,最后大概打出了个三角形的表,并且帮我找到了一些性质.\(45\)p ...

  2. 第一个只出现一次字符的位置 牛客网 剑指Offer

    第一个只出现一次字符的位置  牛客网 剑指Offer 题目描述 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 ...

  3. redis 的主从模式哨兵模式

    原理理解 1,哨兵的作用就是检测redis主服务的状态,如果主服务器挂了,从服务就自动切换为主服务器,变为master.哨兵是一个独立的进程,作为进程,它会独立运行.其原理是哨兵通过发送命令,等待Re ...

  4. docker 使用报错的相关问题

    docker 创建本地主机实例Virtualbox 驱动报错,显示没有下载这个驱动 解决方案,下载virtuabox. https://www.cnblogs.com/effortday/p/1502 ...

  5. 羽夏看Win系统内核——SourceInsight 配置 WRK

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...

  6. js中的特数值-null-undefined-NaN

    一.补充 1.js中的三大特殊数据:undefined.null.NaN NaN :非法的数值运算得到的结果 特殊之处: 是一个数值型数据,但不是一个数字 NaN不等于任何值,和任何数据都不相等,Na ...

  7. ucharts tooltip弹窗自定义换行

    这个东西吧,也许是因为菜,看了3小时,下面给出解决方案 1. 找到源码下面的这个文件 2. 增加绿色方框中的代码 3.组件调用的时候有一个opts属性 :opts="{ extra: { t ...

  8. MongoDB与MySQL效率对比

    本文主要通过批量与非批量对比操作的方式介绍MongoDB的bulkWrite()方法的使用.顺带与关系型数据库MySQL进行对比,比较这两种不同类型数据库的效率.如果只是想学习bulkWrite()的 ...

  9. 深入理解Spring IOC容器

    本文将从纯xml模式.xml和注解结合.纯注解的方式讲解Spring IOC容器的配置和相关应用. 纯XML模式 实例化Bean的三种方式: 使用无参构造函数 默认情况下,会使用反射调用无参构造函数来 ...

  10. WPF仿Tabcontrol加载切换多个不同View

    在同一块区域显示不同的视图内容,直接使用Tabcontrol,可能要重写TabItem的控件模板,最直接的方法通过按钮的切换,控制一个ContentControl的Content值,实现切换不同的视图 ...