<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 深 入Linux 的LILO

深 入Linux 的LILO

作者: 時(shí)間:2007-05-10 來(lái)源:網(wǎng)絡(luò ) 收藏
---- Linux 的 引 導 可 以 采 用 多 種 方 式, 其 加 載 器LILO(Linux Loader)
是 一 個(gè) 靈 活 的 引 導 加 載 程 序, 對 其 深 入 的 理 解, 將 有 助 于 我
們 方 便 地 處 理 多 重 系 統、 網(wǎng) 絡(luò ) 引 導、 大 硬 盤(pán) 及 大 內 存 等 諸 多
問(wèn) 題。

一、 LILO 的 引 導 機 制
---- 眾 所 周 知, 計 算 機 的 最 初 啟 動(dòng) 是 由BIOS 控 制 的, 在 對 一 些
硬 件( 如 內 存、 鍵 盤(pán) 等) 初 始 化 之 后, 它 會(huì ) 試 圖 加 載 硬 盤(pán) 的 主
引 導 記 錄(MBR) 或 軟 盤(pán) 的 引 導 扇 區。
---- MBR 可 通 過(guò) 兩 種 方 式 運 行: 其 一 是 定 位 到 活 動(dòng) 分 區 并 加 載
相 應 的 引 導 扇 區, 然 后 由 引 導 扇 區 完 成 該 分 區 內 操 作 系 統 的
基 本 組 件 的 加 載; 其 二 是 直 接 從 一 指 定 分 區 中 加 載 信 息, 并
通 過(guò) 它 裝 入 任 一 分 區 中 的 操 作 系 統, 諸 如LILO、OS/2 Boot Loader
以 及Partition Magic 等 引 導 加 載 程 序 都 可 以 配 置 成 這 種 方 式。 軟
盤(pán) 的 引 導 扇 區 相 當 于 硬 盤(pán) 活 動(dòng) 分 區 的 引 導 扇 區, 它 用 于 裝 入
軟 盤(pán) 上 的 操 作 系 統。

---- 由 此 可 見(jiàn), 只 要 把LILO 安 裝 在MBR、 活 動(dòng) 分 區 或 者 引 導 軟 盤(pán)
上, 就 能 接 管 計 算 機 的 控 制 權, 然 后 由LILO 完 成 后 繼 的 引 導 過(guò)
程。LILO 中 建 有 一 個(gè) 引 導 表 地 址 編 碼, 借 此, 它 的 引 導 程 序 就
能 定 位 到Linux 的 內 核 文 件, 這 種 地 址 編 碼 既 可 以 按 照 柱 面/ 磁
頭/ 扇 區(CHS) 模 式, 又 可 以 采 用LBA 的 線(xiàn) 性 塊 號 模 式, 因 此, 即
使 是 對 某 些SCSI 控 制 程 序,LILO 也 能 良 好 運 行。

---- 當LILO 定 位 到 配 置 文 件 后, 經(jīng) 過(guò) 預 引 導 過(guò) 程, 就 顯 示 提 示
符LILO boot:, 此 時(shí), 系 統 允 許 選 擇 引 導 不 同 的 操 作 系 統 或 者
不 同 的 內 核 配 置, 按Tab 鍵 顯 示 可 選 項 列 表, 然 后 輸 入 可 選 項
或 者 直 接 回 車(chē) 選 擇 缺 省 配 置, 如 果 選 擇 了 引 導Linux, 還 可 以
直 接 傳 遞 參 數 到 系 統 內 核。

---- 和 其 他 系 統 的 引 導 加 載 程 序 相 比,LILO 具 有 更 高 的 靈 活
性, 其 引 導 方 式 也 更 豐 富:

---- ① 當LILO 被 安 裝 在 硬 盤(pán) 的MBR、 活 動(dòng) 分 區 或 引 導 軟 盤(pán) 上 時(shí),
作 為 原 引 導 程 序 的 替 身, 它 能 引 導 任 一 硬 盤(pán) 任 一 分 區 上 的
Linux 和 其 他 操 作 系 統。

---- ② 除 了 引 導 扇 區, 它 沒(méi) 有 任 何 隱 含 文 件, 也 不 需 要 使 用
特 定 的 分 區, 它 的 配 置 文 件 可 以 在 任 何 分 區, 甚 至 是 存 放 在
與Linux 毫 不 相 干 的DOS 分 區 的 某 個(gè) 子 目 錄 下。

---- ③ 它 能 引 導 幾 個(gè) 不 同 的 內 核 配 置, 甚 至 是 幾 個(gè) 不 同 的 內
核。

---- ④ 它 能 引 導 同 一 機 器 上 的 多 個(gè)Linux 版 本。

---- ⑤ 它 能 從 網(wǎng) 絡(luò ) 上 引 導Linux。

---- 正 是 由 于LILO 的 靈 活 性, 使 得 其 配 置 變 得 相 當 復 雜, 當 有
多 個(gè) 系 統 共 存 時(shí), 建 議 先 安 裝 其 他 操 作 系 統, 最 后 再 安 裝
Linux, 這 樣, 設 置LILO 對 其 他 系 統 的 引 導 會(huì ) 相 對 簡(jiǎn) 單 一 些。

二、LILO 引 導 的 幾 個(gè) 參 數
---- 在 此 只 介 紹 本 文 涉 及 到 的 幾 個(gè) 參 數。
---- 'boot=': 此 參 數 指 明 包 含 引 導 扇 區 的 設 備 名( 如/dev/had),
若 此 項 忽 略, 則 從 當 前 的 根 分 區 中 讀 取 引 導 扇 區。

---- 'root=': 此 參 數 告 訴 內 核 啟 動(dòng) 時(shí) 以 哪 個(gè) 設 備 作 為 根 文 件
系 統 使 用, 其 設 定 值 為 構 造 內 核 時(shí) 根 文 件 系 統 的 設 備 名, 可
用 的 設 備 名 有:

---- ①/dev/hdaN~/dev/hddN:ST-506 兼 容 硬 盤(pán),a 到d 上 的N 個(gè) 分 區。

---- ②/dev/sdaN~/dev/sdeN:SCSI 兼 容 硬 盤(pán),a 到e 上 的N 個(gè) 分 區。

---- ③/dev/xdaN~/dev/xdbN:XT 兼 容 硬 盤(pán),a 到b 上 的N 個(gè) 分 區。

---- ④/dev/fdN: 軟 盤(pán),A:(N=0) 或B:(N=1)。

---- ⑤/dev/nfs: 由 網(wǎng) 絡(luò ) 取 得 根 文 件 系 統 的 標 志。

---- 'image=': 指 定Linux 的 內 核 文 件。

---- 'delay=': 設 定 引 導 第 一 個(gè) 映 像 前 的 等 待 時(shí) 間。

---- 'disk=': 此 參 數 為 某 一 特 殊 的 硬 盤(pán) 定 義 非 標 準 參 數。

---- 'append=': 為 內 核 傳 遞 一 個(gè) 可 選 的 參 數 行, 其 典 型 的 應 用
是 為 不 能 完 全 由 系 統 自 動(dòng) 識 別 的 硬 盤(pán) 指 定 參 數, 如
append=hd=64,32,202。

---- 'label=': 此 參 數 為 每 個(gè) 映 像 指 定 一 個(gè) 名 字, 以 供 引 導 時(shí)
選 擇。

---- 'install=': 安 裝 一 個(gè) 指 定 文 件 作 為 新 的 引 導 扇 區, 缺 省 為
/boot/boot.b。

---- 'table=': 說(shuō) 明 包 含 分 區 表 的 設 備 名, 如 果 此 參 數 忽 略, 引
導 加 載 程 序 將 不 能 傳 遞 分 區 信 息 到 已 引 導 的 操 作 系 統。

三、LILO 典 型 配 置 方 法
---- 通 常 情 況 下,Linux 的 安 裝 程 序 自 身 就 可 以 完 成LILO 的 安 裝
配 置, 從 而 較 好 地 解 決 多 重 系 統 的 引 導 問(wèn) 題, 如 果 系 統 不 能
自 動(dòng) 完 成 這 種 配 置, 那 么 可 以 通 過(guò) 手 工 修 改 配 置 文 件
/etc/lilo.conf 來(lái) 實(shí) 現 不 同 條 件 下 的 引 導。
---- 1 . 當 系 統 能 自 動(dòng) 完 成 配 置 時(shí)

---- 對 于 這 種 情 況, 只 有 一 個(gè) 建 議: 將LILO 安 裝 到Linux 分 區 的
根 上, 而 不 是MBR。 假 設 當 前hda1 中 裝 有DOS/Windows,hda2 中 安 裝
Linux, 則/etc/lilo.conf 的 內 容 大 致 如 下:

boot=/dev/hda2 #指定引導位置
compact
delay=5 #延時(shí)5秒
root=current #根在當前分區
image=/boot/vmlinux #指定Linux的內核文件
label=linux #用Linux為代表名稱(chēng) 
other=/dev/hda1 #其他操作系統所在的分區
table=/dev/hda #指定包含分區表的硬盤(pán)
label=dos #用dos為代表名稱(chēng)
---- 2 . 當 系 統 無(wú) 法 自 動(dòng) 完 成 配 置 時(shí)

---- 不 外 乎 兩 種 情 況: 其 一 是BIOS 不 能 直 接 看 到Linux 的 根 分 區
; 其 二 是BIOS 只 能 讀 寫(xiě) 標 準IDE 硬 盤(pán) 的 前504MB。 這 時(shí), 必 須 遵 循
一 個(gè) 最 基 本 的 原 則: 建 立 一 個(gè)BIOS 能 存 取 的 較 小 的Linux 分 區,
其 中 包 含 內 核 文 件、 映 射 文 件 以 及 鏈 加 載 程 序 等 必 要 的 內
容, 而 根 則 可 以 是 另 外 一 個(gè) 獨 立 的 分 區。 至 于 配 置 上 的 其 他
細 節, 從 以 下 實(shí) 例 來(lái) 說(shuō) 明。

---- 例1: 主 硬 盤(pán) 為IDE 接 口, 第 二 硬 盤(pán) 為SCSI 接 口, 根 文 件 在SCSI
上。

---- 對 策: 在IDE 硬 盤(pán) 上 劃 分 一 個(gè) 較 小 的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硬盤(pán)上
read-only
other=/dev/hda1
loader=/u2/etc/lilo/chain.b #指明加載程序
label=dos

---- 例2: 一 個(gè) 標 準 的IDE 大 硬 盤(pán) 需 安 裝Linux 和DOS/Windows。

---- BIOS 的int 13 調 用 是 采 用3 個(gè) 位 元 組 的 CHS 編 碼,10 位 為 柱 面
號,8 位 為 磁 頭 號,6 位 為 扇 區 號。 可 能 的 柱 面 號 碼 是0 ~1023, 可
能 的 磁 頭 號 碼 是0 ~255, 而 磁 道 上 可 能 的 扇 區 號 碼 是1 ~63, 以
這24 位 最 多 可 以 定 址7.875GB。 但 不 幸 的 是, 標 準 的IDE 界 面 容 許
256 個(gè) 扇 區 / 磁 道、 65536 個(gè) 柱 面 以 及16 個(gè) 磁 頭。 它 自 己 本 身 可
以 存 取128GB, 但 是 除 去BIOS 方 面63 個(gè) 扇 區 與1024 個(gè) 柱 面 后 只 剩
504MB 可 以 定 址。

---- 對 策: 在 硬 盤(pán) 的 前500MB 中 劃 分350MB(/dev/hda1) 給DOS,
150MB(/dev/hda2) 給Linux, 在 相 應 的 配 置 文 件 中 應 說(shuō) 明 硬 盤(pán) 的 參
數:

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 覆 蓋 了 引 導 扇 區 時(shí), 它 會(huì ) 保 留 一 個(gè) 引 導 扇 區 的 備 份
在/boot/boot.xxyy 中, 其 中xxyy 是 十 六 進(jìn) 制 的 設 備 主 / 次 號 碼
(major/minor numbers), 利 用 命 令ls -l /dev/device 就 可 獲 得 硬 盤(pán) 或
分 區 的 主 / 次 號 碼。 若 要 卸 裝LILO, 只 需 恢 復 初 始 的 引 導 扇
區。 例 如:LILO 安 裝 在/dev/had, 對 應 的 備 份 文 件 為
/boot/boot.0300, 使 用 下 面 的 命 令 即 可:
---- dd if=/boot/boot.0300 of=/dev/_had bs=446 count=1

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


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>