Linux引導載入程式之爭:瞭解 LILO 和 GRUB(轉)

BSDLite發表於2007-08-11
Linux引導載入程式之爭:瞭解 LILO 和 GRUB(轉)[@more@]  從普通的桌面使用者到 Linux? 系統管理員,大部分 Linux 使用者都使用過一種名為引導載入程式的工具。此類工具的不同變種會提供不同層次的支援和功能。在很多情況下,Linux 發行版預設安裝的引導載入程式並不總是適合需要;每個引導載入程式的預設設定也是如此。在本文中,Laurence Bonney 討論了兩個流行的引導載入程式 —— LILO 和 GRUB —— 的優點和缺點,並建議了很多配置,以充分發掘機器的潛力。

在不考慮他們的工作或專業情況下,所有 Linux 使用者都會使用的是哪個工具?引導載入程式。透過本文了解引導載入程式的工作原理,認識兩個流行的引導載入程式 LILO(LInux LOader)和 GNU GRUB(GRand Unified Boot loader), 並研究兩者各自的優點和缺點。

什麼是引導載入程式?

最簡單地講,引導載入程式(boot loader) 會引導作業系統。當機器引導它的作業系統時,BIOS 會讀取引導介質上最前面的 512 位元組(即人們所知的 主開機記錄(master boot record,MBR))。在單一的 MBR 中只能儲存一個作業系統的引導記錄,所以當需要多個作業系統時就會出現問題。所以需要更靈活的引導載入程式。

主開機記錄本身要包含兩類內容 —— 部分(或全部)引導載入程式以及分割槽表(其中包含有關於介質其餘部分如何劃分為分割槽的資訊)。當 BIOS 引導時,它會尋找硬碟驅動器第一個扇區(MBR)中儲存的資料;BIOS 使用儲存在 MBR 中的資料啟用引導載入程式。

由於 BIOS 只能訪問很少量的資料,所以大部分引導載入程式分兩個階段進行引導。在引導的第一個階段中,BIOS 引導一部分引導載入程式,即 初始程式載入程式(initial program loader,IPL)。IPL 查詢分割槽表,從而能夠載入位於不同介質上任意位置的資料。首先透過這步操作 來定位第二階段引導載入程式(其中包含載入程式的其餘部分)。

第二階段引導載入程式是引導載入程式的主體;很多人認為這才是引導載入程式的真正部分。它包含有載入程式更需要磁碟空間的部分,比如使用者介面和核心載入程式。從簡單的命令列到繪聲繪色的 GUI,這些使用者介面的範圍很廣泛。

引導載入程式通常配置為兩種方式的其中之一:要麼是作為主引導載入程式(primary boot loader),要麼是作為二級引導載入程式(secondary boot loader)。主載入程式 是安裝在 MBR 上的第一階段引導載入程式(見先前的描述)。 二級引導載入程式 是安裝在可引導分割槽的第一階段引導載入程式。必須在 MBR 上安裝單獨的引導載入程式,並配置它將 控制權轉交給二級引導載入程式。

很多較新的 Linux 引導載入程式特別實用,因為它們提供了不同程度的互動,比如高階的 GUI 和加密的口令,以及透過選擇作業系統進行引導的能力。這樣,可以在具有多個物理磁碟的同一機器上共存多個作業系統。這種設定越來越常見,因為它幫助很多使用者在安裝新的 Linux 時,能夠保留先前由 Windows? 機器所生成的寶貴資料資料。我個人認為這種設定非常美妙;只使用一臺機器就可同時擁有 Linux 和 Windows。

隨著時間的推移,引導載入程式已經得到了增強,為使用者引入了大量的功能。各個載入程式的功能和配置存在差異,但基本的目標是相同的。

現在來看兩個較為流行的引導載入程式:LILO 和 GRUB。

LILO

LInux LOader(LILO) 已經成為所有 Linux 發行版的標準組成部分。作為一個 較老的/最老的 Linux 引導載入程式,它那不斷壯大的 Linux 社群支援使它能夠隨時間的推移而發展,並始終能夠充當一個可用的現代引導載入程式。有一些新的功能,比如增強的使用者介面,以及對能夠突破原來 1024-柱面限制的新 BIOS 功能的利用。

雖然 LILO 仍在不斷地發展,但 LILO 工作原理的基本概念保持不變。

使用 LILO 作為引導載入程式

要使用 LILO 作為引導載入程式,需要做的事情取決於是要進行全新安裝還是要讓已經安裝的 Linux 改為使用 LILO。如果是要進行全新安裝,那麼直接跳轉到 配置 LILO 那一節。如果已經安裝了某個 Linux 發行版,那麼通常可以選擇安裝並配置 LILO(並可以將機器引導到新的 Linux 安裝)。

要將現有的 Linux 遷移到 LILO,首先必須獲得最新版本的 LILO(見 參考資料)。在做任何其他事情之前,建議您確保在手邊擁有一張 Linux 引導盤 —— 如果偶而弄錯了某些地方,它可以提供很大的幫助,能夠恢復到初始的 Linux 配置!將 LILO 安裝到系統中之後,讓它接管 MBR 非常簡單。以 root 使用者身份輸入:

程式碼:

# /sbin/lilo -v -v

這將使用當前的 LILO 預設值,抹去 MBR 中當前所有內容。不過,請閱讀 配置 LILO,以確保能夠按預期引導起來。也要注意,如果想要在同一機器上執行 Windows 和 Linux,那麼應該先安裝 Windows OS,然後再安裝 Linux OS,這樣,在 Linux 安裝中所選擇的引導載入程式就不會被 Windows 引導載入程式所覆蓋。與 Linux 引導載入程式不同,多數 Window 引導載入程式不支援引導 Linux。如果已經先安裝了 Linux,那麼只需要自己建立一張 Linux 引導盤,這樣就可以在安裝完 Windows 之後,回到 Linux 安裝中並重寫 MBR。

配置 LILO

LILO 的配置都是透過位於 /etc/lilo.conf 的一個配置檔案來完成的。清單 1 給出了一個示例配置,使用的是我的家用機器,支援 Linux 和 Windows 機器的雙重引導。瞭解我的工作站的基本配置,就可以想像出這些配置是如何與實際機器相關聯的: 主 HDD(物理磁碟 1)上安裝了 Windows XP(最初機器上只有它)。在 Linux 術語中,這個 HDD 是 /dev/hda(在 GRUB 術語中是 hd0,0)。 從 HDD(物理磁碟 2)上安裝了 Red Hat Linux;root 分割槽位於這個硬碟驅動器的第三個分割槽,即 /dev/hdb3(在 GRUB 術語中是 hd1,3)。

清單 1. lilo.conf 示例檔案

程式碼:
QUOTE:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-945704/,如需轉載,請註明出處,否則將追究法律責任。

Linux引導載入程式之爭:瞭解 LILO 和 GRUB(轉)
請登入後發表評論 登入
全部評論

相關文章