本節會介紹在使用 GRUB 開機時,經常遇到的問題以及可能解決方案的簡要說明。部份問題已經在「支援資料庫」文件提供討論,網址是 http://portal.suse.de/sdb/en/index.html。如果您的特殊問題未包含在此清單中,使用「支援資料庫」的搜尋對話方塊 (網址是 https://portal.suse.com/PM/page/search.pm) 來搜尋像 GRUB、 boot 以及 boot loader 的關鍵字。
XFS 在分割區開機區塊中,不會保留空間給 stage1。因此,不要將 XFS 分割區指定成開機載入器的位置。您可以建立不是以 XFS 格式化的個別開機分割區來解決這個問題。
雖然技術上可行,不過 GRUB 和 JFS 的組合仍有問題。在此範例中,建立個別開機分割區 (/boot) 並以 Ext2 格式化。在此分割區安裝 GRUB。
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。