微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 深 入Linux 的LILO

深 入Linux 的LILO

时间:04-10 来源: 点击:
三、LILO 典 型 配 置 方 法
---- 通 常 情 况 下,Linux 的 安 装 程 序 自 身 就 可 以 完 成LILO 的 安 装
配 置, 从 而 较 好 地 解 决 多 重 系 统 的 引 导 问 题, 如 果 系 统 不 能
自 动 完 成 这 种 配 置, 那 么 可 以 通 过 手 工 修 改 配 置 文 件
/etc/lilo.conf 来 实 现 不 同 条 件 下 的 引 导。
---- 1 . 当 系 统 能 自 动 完 成 配 置 时

---- 对 于 这 种 情 况, 只 有 一 个 建 议: 将LILO 安 装 到Linux 分 区 的
根 上, 而 不 是MBR。 假 设 当 前hda1 中 装 有DOS/Windows,hda2 中 安 装
Linux, 则/etc/lilo.conf 的 内 容 大 致 如 下:

boot=/dev/hda2 #指定引导位置
compact
delay=5 #延时5秒
root=current #根在当前分区
image=/boot/vmlinux #指定Linux的内核文件
label=linux #用Linux为代表名称 
other=/dev/hda1 #其他操作系统所在的分区
table=/dev/hda #指定包含分区表的硬盘
label=dos #用dos为代表名称
---- 2 . 当 系 统 无 法 自 动 完 成 配 置 时

---- 不 外 乎 两 种 情 况: 其 一 是BIOS 不 能 直 接 看 到Linux 的 根 分 区
; 其 二 是BIOS 只 能 读 写 标 准IDE 硬 盘 的 前504MB。 这 时, 必 须 遵 循
一 个 最 基 本 的 原 则: 建 立 一 个BIOS 能 存 取 的 较 小 的Linux 分 区,
其 中 包 含 内 核 文 件、 映 射 文 件 以 及 链 加 载 程 序 等 必 要 的 内
容, 而 根 则 可 以 是 另 外 一 个 独 立 的 分 区。 至 于 配 置 上 的 其 他
细 节, 从 以 下 实 例 来 说 明。

---- 例1: 主 硬 盘 为IDE 接 口, 第 二 硬 盘 为SCSI 接 口, 根 文 件 在SCSI
上。

---- 对 策: 在IDE 硬 盘 上 划 分 一 个 较 小 的Linux 分 区(/dev/hda2), 其
中 包 含 基 本 文 件, 挂 接 到/u2 下, 其 配 置 文 件/etc/lilo.conf 的 主
要 内 容 为:

boot=/dev/hda #LILO装在主IDE的MBR
install=/u2/etc/lilo/boot.b
#从boot.b安装LILO引导记录
map=/u2/etc/lilo/map 
#安装程序建立此映射文件,
告诉引导载入程序内核块的位置
compact
timeout=50
image=/u2/vmlinux  
#内核文件应事先拷贝到/u2下
label=linux
root=/dev/sda1
#告诉内核根系统在SCSI硬盘上
read-only
other=/dev/hda1
loader=/u2/etc/lilo/chain.b #指明加载程序
label=dos

---- 例2: 一 个 标 准 的IDE 大 硬 盘 需 安 装Linux 和DOS/Windows。

---- BIOS 的int 13 调 用 是 采 用3 个 位 元 组 的 CHS 编 码,10 位 为 柱 面
号,8 位 为 磁 头 号,6 位 为 扇 区 号。 可 能 的 柱 面 号 码 是0 ~1023, 可
能 的 磁 头 号 码 是0 ~255, 而 磁 道 上 可 能 的 扇 区 号 码 是1 ~63, 以
这24 位 最 多 可 以 定 址7.875GB。 但 不 幸 的 是, 标 准 的IDE 界 面 容 许
256 个 扇 区 / 磁 道、 65536 个 柱 面 以 及16 个 磁 头。 它 自 己 本 身 可
以 存 取128GB, 但 是 除 去BIOS 方 面63 个 扇 区 与1024 个 柱 面 后 只 剩
504MB 可 以 定 址。

---- 对 策: 在 硬 盘 的 前500MB 中 划 分350MB(/dev/hda1) 给DOS,
150MB(/dev/hda2) 给Linux, 在 相 应 的 配 置 文 件 中 应 说 明 硬 盘 的 参
数:

boot=/dev/hda
...
disk=/dev/hda
bios=0x80
sectors=63
heads=16
cylinders=2100
image=/vmlinux
append="hd=2100,16,23"
root=/dev/hda2
label=linux

四、 LILO 的 卸 装
---- 当LILO 覆 盖 了 引 导 扇 区 时, 它 会 保 留 一 个 引 导 扇 区 的 备 份
在/boot/boot.xxyy 中, 其 中xxyy 是 十 六 进 制 的 设 备 主 / 次 号 码
(major/minor numbers), 利 用 命 令"ls -l /dev/device" 就 可 获 得 硬 盘 或
分 区 的 主 / 次 号 码。 若 要 卸 装LILO, 只 需 恢 复 初 始 的 引 导 扇
区。 例 如:LILO 安 装 在/dev/had, 对 应 的 备 份 文 件 为
/boot/boot.0300, 使 用 下 面 的 命 令 即 可:
---- dd if=/boot/boot.0300 of=/dev/_had bs=446 count=1

---- ( 作 者 地 址: 巨 化 集 团 公 司 计 算 中 心,324004; 收 稿 日 期:1999年6 月)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top