此章節列示使用 GRUB 啟動時,經常遇到的問題以及可能解決方案的簡要說明。部份問題已經在知識庫 (網址為 http://support.novell.com/) 的文章中做了說明。使用搜尋對話方塊尋找 GRUB、開機和開機載入程式這類的關鍵字。
XFS 在分割區啟動區塊中,不會保留空間給 stage1
。因此,不要將 XFS 分割區指定成開機載入程式的位置。您可以建立不是以 XFS 格式化的個別開機分割區來解決這個問題。
GRUB 會在系統啟動時檢查連接硬碟的位置。有時候,BIOS 會傳回不一致的資訊,而且 GRUB 會報告 GRUB 位置錯誤。如果發生此狀況,使用 LILO 或更新 BIOS。如需關於 LILO 的安裝、組態和維護的詳細資訊,請參閱「支援資料庫」中的關鍵字 LILO。
如果 Linux 安裝在其他硬碟上,而且未註冊在 BIOS,GRUB 也會傳回此錯誤訊息。開機載入程式的 stage1 可以正確找到和載入,不過 stage2 則找不到。將新磁碟登錄在 BIOS 就可以解決此問題。
安裝時,YaST 可能已經判斷硬碟的開機順序錯誤。例如,GRUB 可以將 /dev/hda
當成 hd0
而將 /dev/sda
當成 hd1
,即使 BIOS 中的啟動順序是其他方式 (SCSI 在 IDE 前面)。
發生此狀況,在啟動程序時,透過 GRUB 指令行的協助來更正硬碟。在系統啟動之後,編輯 device.map
來永久套用新的對應。然後檢查檔案 /boot/grub/menu.lst
和 /boot/grub/device.map
中的 GRUB 設備名稱,然後使用以下指令,重新安裝開機載入程式:
grub --batch < /etc/grub.conf
有些作業系統,例如 Windows,只可以從第一個硬碟啟動。在第一個硬碟以外的硬碟安裝類似作業系統時,會影響個別功能表項目的邏輯變更。
... title windows map (hd0) (hd1) map (hd1) (hd0) chainloader(hd1,0)+1 ...
在此範例中,Windows 是從第二個硬碟啟動。基於此目的,硬碟的邏輯順序是使用 map
變更的。此變更不會影響 GRUB 功能表檔案中的邏輯。因此,第二個硬碟必須指定成 chainloader
。