概述
在本文中,學習為一個 Linux 系統選擇、安裝和配置引導管理器。您將學習:
配置多個引導位置和備份引導選項
安裝和配置一個啟動程序載入程式,比如 GRUB、GRUB 2 或 LILO
在啟動時添加引導參數或運行啟動程序載入程式命令
恢複常見引導問題
使用 GRUB Legacy 引導 GRUB 2 系統
本文將討論 PC 啟動過程和 Linux 中使用的 3 個主要啟動程序載入程式:GRUB、GRUB 2 和 LILO,它 們可以協助您準備 Linux Professional Institute's Junior Level Administration (LPIC-1) 考 試 101 中主題 102 下的目標 102.2。 該目標的權值為 2。請注意,LPIC-1 不 再要求掌握 LILO。本文包含 LILO 內容以便於您對其有所瞭解。
先決條件
為了最有效地利用 本系列中的文章,您應該具有基本的 Linux 知識,並準備一個 Linux 系統,用於練習本文介紹的命令 。您還應該熟悉文章 “學習 Linux 101:硬碟布局” 中討論的硬碟布局。有時候不同版本的程 序輸出格式不同,因此您所得到的結果未必總是與這裡所示的清單和圖相同。
注意:本文中的圖 像是從啟動過程初期採集的螢幕截圖。如果您正在使用一個螢幕讀取器閱讀本文,您可能會發現擁有對 應的設定檔以便參考的好處;從本文後面的 下載 部分下載它們。
啟動過程概述
在深 入瞭解具體啟動程序載入程式之前,先回顧一下如何啟動或引導 PC。名為 BIOS(表示 Basic Input Output Service)的代碼儲存在 一個非臨時記憶體中,比如 ROM、EEPROM 或快閃記憶體。當開啟或重新啟動 PC 時,會執行這個代碼。通常,它 執行一個啟動自測 (POST) 來檢查機器。最後,它從引導磁碟機上的主引導記錄(MBR)載入第一個扇區 。
正如文章 “學習 Linux 101:硬碟布局” 所述,MBR 還包含分區表,因此 MBR 中的可執行 代碼小於 512 位元組,這個代碼量不算多。注意,每個磁碟(甚至是磁碟片))都在它的 MBR 中包含可執 行代碼,即使這個代碼只夠輸出一條訊息,比如 “Non-bootable disk in drive A:(磁碟機 A 中沒有 可引導磁碟:)”。這個由 BIOS 從第一扇區載入的代碼稱為第一階段啟動程序載入程式 或階段 1 啟動加 載程式。
MS DOS、PC DOS 和 Windows? 作業系統使用的標準硬碟 MBR 會檢查分區表,以 尋找標記為 active 的引導磁碟機上的主要磁碟分割,從該分區載入第一個扇區,然後將控制權交給已載入的 代碼。這個新的程式碼片段也稱為分區引導記錄。分區引導記錄實際上是階段 1 的另一個啟動程序載入程式, 但它只能從分區載入一組塊。該新組塊中的代碼稱為階段 2 啟動程序載入程式。MS-DOS 和 PC-DOS 使用的 階段 2 載入程式直接繼續載入作業系統其餘部分。以上就是作業系統啟動並啟動並執行引導進程。
這個引導進程對於單作業系統很適用。但是,如果您想要使用多個作業系統,比如 OS/2、Windows XP 和 3 個不同的 Linux 發行版,那麼會出現什麼樣的情況呢?您可以 使用某個程式(比如 DOS FDISK 程式)來更改使用中的磁碟分割並重新啟動,但這種方法比較笨拙。此外,一個磁碟只能擁有 4 個主要磁碟分割,而標 准 MBR 只能擁有一個主要磁碟分割;系統不能從邏輯分區引導。但我們假設的樣本提到了 5 種作業系統,每 個系統都需要一個分區。
該問題的解決方案是使用一些特殊代碼,允許使用者選擇引導哪個操作系 統。此類程式包括:
Loadlin
一個 DOS 可執行程式,可以在一個正在啟動並執行 DOS 系統中調用它來引導一個 Linux 分區。如果多 引導系統的設定過程很複雜且存在風險,那麼這個代碼就能夠派上用場。
OS/2 Boot Manager
這個程式安裝在一個專用小分區上,分區被標記為 active,標準 MBR 引導進程啟動 OS/2 Boot Manager,該程式顯示一個菜單,允許選擇要啟動的作業系統。
智能啟動程序載入程式
該程式可以駐留在作業系統的分區上,通過一個使用中的磁碟分割的分區引導記錄或主引導記錄進行調用。這 類程式包括:
BootMagic,Norton PartitionMagic 的一部分
LILO,即 LInux LOader
GRUB,即 GRand Unified Boot 載入程式 (現在稱為 GRUB Legacy)
GRUB 2,最近才在常用發行版中出現的一個新的啟動程序載入程式