8.0 開機載入程式 GRUB

本章將描述如何設定 GRUB,即 SUSE® Linux Enterprise Server 使用的開機載入程式。一種特殊的 YaST 模組可以用於執行所有設定。如果您不熟悉 Linux 開機的要點,請閱讀以下章節,取得部份背景資訊。本章節也敘述使用 GRUB 開機時,經常遇到的部份問題以及它們的解決方案。

附註: 使用 UEFI 的機器上未安裝 GRUB

依照慣例,GRUB 將會安裝在配有傳統 BIOS 的機器上與使用相容支援模組 (CSM) 的 UEFI (統一可擴充韌體介面) 機器上。未啟用 CSM 的 UEFI 機器會自動安裝 eLILO (如果 DVD1 開機成功)。如需詳細資訊,請參閱系統上 /usr/share/doc/packages/elilo/ 中的 eLILO 文件。

本章節著重於開機管理以及開機載入程式 GRUB 的組態。整個開機程序簡述於節 7.0, 啟動及設定 Linux 系統。開機載入程式是機器 (BIOS) 與作業系統 (SUSE Linux Enterprise Server) 之間的介面。開機載入程式的組態會直接影響作業系統的開機。

下列詞彙將在本章節中經常出現,而且可能需要說明:

主開機記錄

MBR 的結構是由作業系統 (獨立會議) 所定義。前 446 位元組是保留給程式碼。它們通常包含一部分開機載入程式程式或作業系統選取器。接下來的 64 位元組為最多包含四項的分割區表提供空間。分割區表包含磁碟分割以及檔案系統類型相關資訊。作業系統需要此表格來處理硬碟。在 MBR 中使用傳統標準程式碼的情況下,只有一個分割區必須標示為作用中。MBR 的最後兩個位元組必須包含靜態的魔術編號 (AA55)。包含不同值的 MBR 會被一些 BIOS 視為無效,所以開機時不列入考慮。

開機磁區

開機磁區是除了擴充分割區以外,硬碟分割區的第一個磁區,它只會當成其他分割區的容器。這些開機磁區有 512 位元組的空間供程式碼使用,而這些程式碼是用來啟動各自分割區中安裝的作業系統。此適用於 DOS、Windows 和 OS/2 分割區格式的開機磁區,它們也包含檔案系統的部份重要基本資料。相反的,Linux 分割區的開機磁區一開始是空白,直到設定不同於 XFS 的檔案系統之後,才會寫入記錄。因此,Linux 分割區無法自行啟動,即使它包含核心以及有效的根檔案系統。開機磁區如果包含可以啟動系統的有效程式碼,則它的魔術編號與 MBR 的最後兩個位元組相同 (AA55)。