<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          深 入Linux 的LILO

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

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

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

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

          ---- 和 其 他 系 統(tǒng) 的 引 導(dǎo) 加 載 程 序 相 比,LILO 具 有 更 高 的 靈 活
          性, 其 引 導(dǎo) 方 式 也 更 豐 富:

          ---- ① 當(dāng)LILO 被 安 裝 在 硬 盤 的MBR、 活 動 分 區(qū) 或 引 導(dǎo) 軟 盤 上 時,
          作 為 原 引 導(dǎo) 程 序 的 替 身, 它 能 引 導(dǎo) 任 一 硬 盤 任 一 分 區(qū) 上 的
          Linux 和 其 他 操 作 系 統(tǒng)。

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

          ---- ③ 它 能 引 導(dǎo) 幾 個 不 同 的 內(nèi) 核 配 置, 甚 至 是 幾 個 不 同 的 內(nèi)
          核。

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

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

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

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

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

          ---- ①/dev/hdaN~/dev/hddN:ST-506 兼 容 硬 盤,a 到d 上 的N 個 分 區(qū)。

          ---- ②/dev/sdaN~/dev/sdeN:SCSI 兼 容 硬 盤,a 到e 上 的N 個 分 區(qū)。

          ---- ③/dev/xdaN~/dev/xdbN:XT 兼 容 硬 盤,a 到b 上 的N 個 分 區(qū)。

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

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

          ---- 'image=': 指 定Linux 的 內(nèi) 核 文 件。

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

          ---- 'disk=': 此 參 數(shù) 為 某 一 特 殊 的 硬 盤 定 義 非 標(biāo) 準(zhǔn) 參 數(shù)。

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

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

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

          ---- 'table=': 說 明 包 含 分 區(qū) 表 的 設(shè) 備 名, 如 果 此 參 數(shù) 忽 略, 引
          導(dǎo) 加 載 程 序 將 不 能 傳 遞 分 區(qū) 信 息 到 已 引 導(dǎo) 的 操 作 系 統(tǒng)。

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

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

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

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

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

          ---- 對 策: 在IDE 硬 盤 上 劃 分 一 個 較 小 的Linux 分 區(qū)(/dev/hda2), 其
          中 包 含 基 本 文 件, 掛 接 到/u2 下, 其 配 置 文 件/etc/lilo.conf 的 主
          要 內(nèi) 容 為:

          boot=/dev/hda #LILO裝在主IDE的MBR
          install=/u2/etc/lilo/boot.b
          #從boot.b安裝LILO引導(dǎo)記錄
          map=/u2/etc/lilo/map 
          #安裝程序建立此映射文件,
          告訴引導(dǎo)載入程序內(nèi)核塊的位置
          compact
          timeout=50
          image=/u2/vmlinux  
          #內(nèi)核文件應(yīng)事先拷貝到/u2下
          label=linux
          root=/dev/sda1
          #告訴內(nèi)核根系統(tǒng)在SCSI硬盤上
          read-only
          other=/dev/hda1
          loader=/u2/etc/lilo/chain.b #指明加載程序
          label=dos

          ---- 例2: 一 個 標(biāo) 準(zhǔn) 的IDE 大 硬 盤 需 安 裝Linux 和DOS/Windows。

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

          ---- 對 策: 在 硬 盤 的 前500MB 中 劃 分350MB(/dev/hda1) 給DOS,
          150MB(/dev/hda2) 給Linux, 在 相 應(yīng) 的 配 置 文 件 中 應(yīng) 說 明 硬 盤 的 參
          數(shù):

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

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


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();