Boot
如何用 grub 完全重建引導分區?
openSUSE 11.4,我在 pendrive 上有引導分區。
問題是當我啟動電腦時,grub 立即顯示錯誤“找不到文件”(我不知道是哪個文件)並切換到“救援模式”。
我可以從另一個 pendrive 啟動電腦,但我想使用原來的(上面提到的那個)。我嘗試使用 Yast 刷新 grub,或者手動執行
grub --batch < /etc/grub.conf
或者通過將所有文件從工作的pendrive複製到非工作(之後編輯device.map),仍然沒有成功,“救援模式”就是我所看到的。
我知道一種通過重新安裝整個系統來重建 pendrive 內容(它只包含引導分區)的方法,這將強制再次正確建構引導分區,但我正在尋找更聰明的東西。
那麼,如何重建整個引導分區+grub,而不僅僅是打磨其中的 2 或 3 個文件。
好的,因此,如果您可以將舊的 pendrive 作為第二個,那麼您可以這樣做:
- 備份舊隨身碟的內容。
- 一旦你連接了兩個 pendrive 並且你的系統正在執行,以類似於第二個分區的方式重新分區舊的 pendrive - 也就是說,使
/boot
舊的分區與新的分區具有相同的編號和類型一(參考 的輸出fdisk -l
)。不要忘記使其可啟動。- 清除(在某處保留備份)
/boot/
舊 pendrv 上的內容並複制新文件中的所有文件。- 解除安裝兩個筆式驅動器,記住哪個是哪個(我的意思是
/dev/sd[ab]
等等)- 用新的引導扇區覆蓋舊筆式驅動器的引導扇區:
在這裡,我假設
/dev/sdb
你的舊筆式驅動/dev/sdc
器是新的-確保用適當的設備名稱替換那些,否則你甚至會搞砸你的整個系統!dd if=/dev/sdc bs=512 count=1 of=/dev/sdb
再一次,
if=
參數必須指向新的——現在可以正常工作的那個,並且of=
參數必須指向舊的 pendrive(要修復的那個)。應該是這樣的。舊的 pendrive 現在應該和新的一樣工作。