重新分配驅動器後如何使 grub 再次工作?
我的配置:opensuse 11.4,在 pendrive 和硬碟上的引導分區,分區為 sda1、sda2、sdb1。
今天我為我的電腦更換了機箱,並且錯誤地將第二個驅動器連接到了 SATA 3 而不是 SATA 2。所以第二個驅動器沒有正確安裝。我關閉電腦,正確連接它,然後我的問題開始了。
現在,我根本無法啟動系統。以前我在 BIOS (pendrive) 中設置了從可移動驅動器啟動,但現在電腦 (BIOS) 似乎無法將 pendrive 辨識為可移動驅動器,而是將普通硬碟辨識為普通硬碟。所以它不會為“可移動驅動器”啟動。當我更改引導順序並選擇從硬碟驅動器引導(並且我將第一個硬碟驅動器設置為 pendrive)或者如果我直接從引導菜單設置為從 pendrive 引導時,我在進入救援模式的 GRUB 中出現錯誤。
我的猜測是,由於某種原因,pendrive 不再被辨識為可移動媒體,但是硬碟、硬碟驅動器的映射方式不同,我應該修復映射。
我可以啟動 CD 安裝程序並掛載 pendrive 以查看 grub 配置的內容,但是當我處於 grub 救援模式並執行“ls”時,我得到
(hd0) (hd0,msddos1) (hd1) (hd1,msddos2) (hd1,msdos1) (hd2) (hd2,msddos1)
但是我沒有看到映射,所以我不知道 hd0 的真正含義。我只能懷疑這裡的 hd1 是 sda,因為它有 2 個分區(如果後綴 msdsos 表示分區)。
我怎樣才能讓 grub 再次工作?
問題可能是 grub 在啟動時看到的 USB 磁碟與從正在執行的系統執行時不同。以下是您可以解決的方法:
當您啟動(通常是從 hd 啟動)並出現 grub 時,打開 grub 控制台(通常您只需按 即可
c
)。在 grub 提示符下,開始輸入root (hd
:grub> root (hd
然後按
Tab
,您將看到磁碟盡可能完成。選擇您所在的磁碟和分區/boot
。如果您不確定,那麼對於您懷疑的每一個,請執行以下操作:
- (完成
root
命令選擇分區並按Enter
)- 輸入
cat /
並按Tab
。您將看到在分區上找到的文件列表。- 查看文件列表,確定它是否是包含核心的分區(在 下
/boot/
)。- 如果沒有,請按
Esc
並重新開始。一旦你發現了 grub 是如何知道分區的,你可以重新安裝引導載入程序(使用
setup
命令)並指向你的/boot/grub/menu.lst
或/boot/grub/grub.conf
中正確的分區/文件(你必須確定你的版本使用哪個,或者只是使它們包含相同的內容)。$$ Edit $$:根據 Macias 的特殊要求,這裡有更多關於如何使用 grub 修復 MBR 的詳細資訊:
在驅動器上重新安裝 MBR 的一種方法
grub
是setup
我上面提到的命令。這是 grub 0.9X 版已知的命令(請參閱文件)。但是您似乎使用的是較新的 grub 分支(1.9X),並且它的命令不同。查看相應的文件- 在此版本中,您可以使用該grub-install
實用程序將 grub 安裝到 MBR ,但我不確定是否有任何其他方式 - 從 grub“救援”提示符開始,與 grub-0.97 一樣。也許不是,也許這就是許多發行版更喜歡“傳統”版本的原因之一。