天天看點

grub rescue問題解決

grub 2介紹

grub的介紹:

https://zh.wikipedia.org/wiki/GNU_GRUB

GNU GRUB(簡稱“GRUB”)是一個來自GNU項目的啟動引導程式。GRUB是多啟動規範的實作,它允許使用者可以在計算機内同時擁有多個作業系統,并在計算機啟動時選擇希望運作的作業系統。現在是grub2版本。

啟動過程

計算機啟動後,BIOS将尋找第一個可啟動的裝置(通常為硬碟),而後從MBR中載入啟動程式,然後把控制交給這段代碼。MBR位于硬碟的前512位元組内。

GRUB第一版本

GRUB的步驟1包含在MBR中。由于受MBR的大小限制,步驟一所做的幾乎隻是裝載GRUB的下一步驟(存放在硬碟的其它位置)。步驟1既可以直接裝載步驟2,也可以裝載步驟1.5:GRUB的步驟1.5包含在MBR後面的30千位元組中。步驟1.5載入步驟2。

當步驟2啟動後,它将呈現一個界面來讓使用者選擇啟動的作業系統。這步通常采用的是圖形菜單的形式,如果圖形方式不可用或者使用者需要更進階的控制,可以使用GRUB的指令行提示,通過它,使用者可以手工指定啟動參數。GRUB還可以設定逾時後自動從某一個核心啟動。

GRUB第二版本

與GRUB第一版相似的是,boot.img像步驟1一樣在MBR或在啟動分區中,但是,它可以從任何LBA48位址的一個扇區中讀取,它(boot.img)将讀取core.img(産生于diskboot.img)的第一個扇區以用來後面讀取core.img的剩餘部分。core.img正常情況下跟步驟1.5儲存在同一地方并且有着同樣的問題,可是,當他被移動到一個檔案系統或一個純粹的分區時會比在步驟1.5移動或删除引起更少的麻煩。一旦完成讀取,core.img會讀取預設的配置檔案和其他需要的子產品。

當GRUB啟動後

一旦選擇了啟動選項,GRUB把選擇的核心載入記憶體并把控制交給核心。在此步驟中,對于Windows之類不支援多啟動标準的作業系統,GRUB也可以通過鍊式啟動把控制傳給其它啟動器。在這種情況下,其它作業系統的啟動程式被GRUB儲存了下來;與核心不同,其它作業系統如同直接自MBR啟動。類似Windows的啟動菜單,也許是另一個啟動管理器,它允許在多個不支援多啟動的作業系統中做進一步的選擇。(在已有Windows的系統上面,或者包含多個Windows版本的系統上安裝現代的Linux而不修改原作業系統,即屬于這類情況。)

Linux啟動流程介紹

https://zh.wikipedia.org/wiki/Linux%E5%90%AF%E5%8A%A8%E8%BF%9B%E7%A8%8B

grub rescue問題

原因

win10和ubuntu雙系統,win10大幅度更新時破壞了grub。

因為grub2其實分為兩部分,第一部分在MBR中,第二部分在Ubuntu的boot/grub中,win10更新導緻在MBR中的grub找不到在boot/grub中的grub2.

解決辦法

開機錯誤顯示:

error: file ‘/boot/grub/i386-pc/normal.mod’ not found.

Entering rescue mode…

grub rescue>

先輸入ls回車,檢視顯示的内容。如:

(hd0) (hd0,msdos14) (hd0,msdos13) (hd0,msdos12)….

然後找出哪個盤安裝了系統,

ls (hd0,msdos1)/boot/grub

ls (hd0,msdos2)//boot/grub

..

嘗試所有的,直到傳回内容不再是error: unknown filesystem.為止。

然後依次輸入如下内容:

set root=(hd0,msdos13)/boot/grub
set prefix=(hd0,msdos13)/boot/grub
insmod normal
normal
           

然後就可以顯示grub2的圖形界面。詳情見https://jingyan.baidu.com/album/c85b7a640cd7d6003bac95f8.html?stepindex=6&wap_detail_test=G6&st=2&os=0&bd_page_type=1&net_type=&ssid=&from=

但這并沒有結束,因為win10已經将grub破壞了,下一次重新開機我們仍會遇到grub rescue問題,是以我們必須重新開機進入ubuntu修複grub2.

修複grub

進入Linux系統後,在指令行裡

  sudo update-grub
  sudo grub-install /dev/sda     
  #=>sda是你的啟動磁盤,不是某一個扇區
           

下面是參考資料

1.http://jingyan.baidu.com/album/c85b7a640cd7d6003bac95f8.html?stepindex=6&wap_detail_test=G6&st=2&os=0&bd_page_type=1&net_type=&ssid=&from=

2.https://my.oschina.net/amath0312/blog/227225

3.http://m.blog.csdn.net/jscese/article/details/36865449

4.https://my.oschina.net/arvinjones/blog/139483

5.若以上資料仍未幫你解決問題,請參考一下grub的官網介紹吧

grub2中文繁體手冊

grub官網

grub英文手冊

繼續閱讀