9.7. 疑難排解

本節會介紹在使用 GRUB 開機時,經常遇到的問題以及可能解決方案的簡要說明。部份問題已經在「支援資料庫」文件提供討論,網址是 http://portal.suse.de/sdb/en/index.html。如果您的特殊問題未包含在此清單中,使用「支援資料庫」的搜尋對話方塊 (網址是 https://portal.suse.com/PM/page/search.pm) 來搜尋像 GRUB boot 以及 boot loader 的關鍵字。

GRUB 和 XFS

XFS 在分割區開機區塊中,不會保留空間給 stage1。因此,不要將 XFS 分割區指定成開機載入器的位置。您可以建立不是以 XFS 格式化的個別開機分割區來解決這個問題。

GRUB 和 JFS

雖然技術上可行,不過 GRUB 和 JFS 的組合仍有問題。在此範例中,建立個別開機分割區 (/boot) 並以 Ext2 格式化。在此分割區安裝 GRUB。

GRUB 報告 GRUB Geom 錯誤

GRUB 會在系統啟動時檢查連接硬碟的位置。有時候,BIOS 會傳回不一致的資訊,而且 GRUB 會報告 GRUB 位置錯誤。如果發生此狀況,使用 LILO 或更新 BIOS。如需關於 LILO 的安裝、組態和維護的詳細資訊,請參閱「支援資料庫」中的關鍵字 LILO。

如果 Linux 安裝在其他硬碟上,而且未註冊在 BIOS,GRUB 也會傳回此錯誤訊息。開機載入器的 stage1 可以正確找到和載入,不過 stage2 則找不到。將新磁碟登錄在 BIOS 就可以解決此問題。

包含 IDE 和 SCSI 硬碟的系統不會啟動

安裝時,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

有些作業系統 (例如 Windows) 只能從第一個硬碟啟動。在第一個硬碟以外的硬碟安裝類似作業系統時,會影響個別功能表項目的邏輯變更。

...
title windows
   map (hd0) (hd1)
   map (hd1) (hd0)
   chainloader(hd1,0)+1
...
     

在此範例中,Windows 是從第二個硬碟啟動。基於此目的,硬碟的邏輯順序是使用 map 變更的。此變更不會影響 GRUB 功能表檔案中的邏輯。因此,第二個硬碟必須指定成 chainloader