日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

双linux grub rescue,Grub Rescue修复方法

發布時間:2025/4/5 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 双linux grub rescue,Grub Rescue修复方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

癥狀:

開機顯示:GRUB loading

error:unknow filesystem

grub rescue>

原因:

已經發現下面幾種操作會導致這種問題:

1,想刪除ubuntu,于是直接在windows下刪除/格式化了ubuntu所在的分區。

2,調整磁盤,利用工具合并/分割/調整/刪除分區,使磁盤分區數目發生了變化。

3,重新安裝系統,把linux安裝到了新分區,原有分區已經格式化,但是沒有重新安裝grub2。

4,用ubuntu備份工具/衍生版制造工具等,把主分區回復成了8.X的老版本,結果老版本的grub是grub1,于是把grub2破壞掉了。

總歸,是由于操作者不知道grub2分為兩部分,一部分(一般情況下)寫在了mbr上,另一部分寫在了某個分區的/boot/grub目錄(如果/boot單獨分區,則直接寫在對應分區的/grub目錄)里面。由于上述操作,致使grub2的mbr里面的那一部分找不到/grub目錄里面的那一部分了(或者那一部分已經刪除了)。

思路:

方法1,徹底刪除grub2,讓這個提示不再出現:

適用于已經不想再使用ubuntu,要轉回windows的人。

這個很簡單,只要你有Windows啟動盤(非Ghost),用它啟動,至選擇安裝位置,不用真正安裝,退出重啟就可以。

或者用它啟動到故障修復臺,運行fixboot或者fixmbr都可以。

win7命令行下,則是執行:BootRec.exe /fixmbr

(/fixmbr修復mbr, /FixBoot修復啟動扇區,/ScanOs檢測已安裝的win7,/RebuildBcd重建bcd。)

方法2,重新安裝、修復grub2

1. 先使用ls命令,找到Ubuntu的安裝在哪個分區:

在 grub rescue>下輸入以下命令:

代碼:

ls

會羅列所有的磁盤分區信息,比方說:

引用:

(hd0,1),(hd0,5),(hd0,3),(hd0,2)

2. 然后依次調用如下命令: X表示各個分區號碼

如果/boot沒有單獨分區,用以下命令:

代碼:

ls (hd0,X)/boot/grub

www.2cto.com

如果/boot單獨分區,則用下列命令:

代碼:

ls (hd0,X)/grub

正常情況下,會列出來幾百個文件,很多文件的擴展名是.mod和.lst和.img,還有一個文件是grub.cfg。假設找到(hd0,5)時,顯示了文件夾中的文件,則表示Linux安裝在這個分區。

4,如果找到了正確的grub目錄,則設法臨時性將grub的兩部分關聯起來,方法如下:

以下是/boot沒有單獨分區的命令:

引用:

grub rescue>set root=(hd0,5)

grub rescue>set prefix=(hd0,5)/boot/grub

grub rescue>insmod /boot/grub/normal.mod

以下是/boot?單獨分區的命令:(這幾句有待驗證)

引用:

grub rescue>set root=(hd0,5)

grub rescue>set prefix=(hd0,5)/grub

grub rescue>insmod /grub/normal.mod

然后調用如下命令,就可以顯示出丟失的grub菜單了。

grub rescue>normal

不過不要高興,如果這時重啟,問題依舊存在,我們需要進入Linux中,對grub進行修復。

啟動起來,進入ubuntu之后,在終端執行:

代碼:

sudo update-grub

sudo grub-install /dev/sda

(sda是你的硬盤號碼,千萬不要指定分區號碼,例如sda1,sda5等都不對)

重啟測試是否已經恢復了grub的啟動菜單? 恭喜你恢復成功!

5,如果找不到正確的/grub目錄,比如第3、4種誤操作,則嘗試尋找是否有linux核心文件,則依次調用如下命令: X表示各個分區號碼:

grub rescue>下,輸入:

如果/boot沒有單獨分區:

代碼:

ls (hd0,X)/boot

如果/boot單獨分區,則:

代碼:

ls (hd0,X)

找名字類似與vmlinuz-3.0.0-12-generic這樣的文件,這是linux核心文件,如果找到,記下(hd0,X)中的X值。假設找到(hd0,5)時,顯示了文件夾中的文件。

然后用live cd 或者 live usb啟動,在live cd的ubuntu的終端中依次輸入以下命令(sda5中的“5”必須改成上面記錄下來數值)(這兩句需要驗證):

如果/boot沒有單獨分區:

代碼:

sudo mount /dev/sda5 /mnt

sudo grub-install --boot-directory=/mnt/boot /dev/sda

如果/boot單獨分區,則:

代碼:

sudo mount /dev/sda5 /mnt

sudo grub-install --boot-directory=/mnt /dev/sda

然后重新啟動即可。

(以上這兩句命令也可以解決安裝ubuntu時grub安裝位置不對,沒有將grub安裝到/dev/sda,造成啟動時不出現ubuntu啟動項直接進入windows的問題,不過需要自行確定sda5中的“5”改成什么數字。)

6,如果連linux核心文件都沒有,那么,徹底重新安裝吧

------------------------------------------------------------------------------------------------------------------------------------

由于在rescue模式下,只有少量的基本命令可用,必須通過一定的操作才能加載正常模塊,然后進入正常模式。

rescue模式下可使用的命令有:set,ls,insmod,root,prefix(設置啟動路徑)

先假設grub2的核心文件在(hd0,8)分區,再來看看怎樣從 rescue模式進入從(hd0,8)啟動的正常模式(normal)。

在 rescue模式下search命令不能用,對不清楚grub2文件處于哪個分區的,可以用ls命令查看,比如

ls (hd0,8)/ 查看(hd0,8)分區根目錄,看看有沒有boot文件夾

ls (hd0,8)/boot/ 查看(hd0,8)分區的/boot目錄下文件

ls (hd0,8)/boot/grub/ 查看(hd0,8)分區/boot/grub目錄下文件

通過文件查看,可以確定 grub2核心文件處于哪個分區,接下來就可以進行從rescue到normal的轉變動作:

先 ls 看看分區,根據分區列表,猜下 / 分區的編號再 ls (hd0,x)/ 看分區目錄下文件確定找到 / 分區,不對的話繼續找。找到 / 分區的 (hd0,x) 繼續

grub rescue>root=(hd0,x)

grub rescue>prefix=/boot/grub

grub rescue>set root=(hd0,x)

grub rescue>set prefix=(hd0,x)/boot/grub

grub rescue>insmod normal

rescue>normal -------->若出現啟動菜單,按c進入命令行模式

rescue>linux /boot/vmlinuz-xxx-xxx root=/dev/sdax

rescue>initrd /boot/initrd.img-xxx-xxx

rescue>boot

內核版本號 -xxx-xxx可以按Tab鍵查看后再手動補全。

總結

以上是生活随笔為你收集整理的双linux grub rescue,Grub Rescue修复方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。