ubuntu 安裝之后開機顯示 grub rescue>


最近嘗試着把ubuntu安裝到一塊移動硬盤上,實現即插即用,也避免使用虛擬機帶來到性能下降,算是“真正的”體驗一下ubuntu。但是安裝完成,重啟之后卻總是進入 grub rescue> 模式,開不了機。當然,對於小白到我來說,肯定是baidu啦,畢竟不能google。結果發現出現這樣問題到同學還真不少,很多熱心到朋友都給出了解決方法。

引起這類問題的原因倒還不少,比如在windows系統中刪除linux系統或者是直接格式化啦linux盤,linux系統到啟動分區被更改了……總之就是grub2配置文件損壞啦,導致不能正常啟動,而進入了救援模式。具體原理不太懂,以后再補上.....

此文講解到比較詳細,可以參考。

主要分為一下幾個步驟:

1. 利用 ls 命令列出磁盤信息:

     grub rescue>ls

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

     (hd0,msods1),(hd0,msdos2),(hd0,msdos3),(hd1,msdos2),.....

2. 繼續利用 ls 命令來查找 ubuntu 分區:這里需要注意區分在安裝ubuntu時是否單獨分了/boot分區
   grub rescue> ls (hd0,msdos1)/boot/grub    # 未單獨分出/boot分區

 grub rescue> ls (hd0,msdos1)/grub   # 單獨進行啦/boot分區

  針對以上所示到磁盤分區逐個調用上述命令,直到結果顯示沒有錯誤,而是列出一系列文件為止。我的是 ls (hd0,msdos2)/grub 到時候列出了一些文件,說明找到啦ubuntu分區。

3. 修改啟動分區:同樣區分/boot是否單獨分區的情況

/boot沒有進行單獨分區:

 grub rescue>set root=(hd0,msdos2)

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

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

    grub rescue>normal

/boot進行單獨分區:

   grub rescue>set root=(hd0,msdos2)

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

    grub rescue>insmod /grub/normal.mod

    grub rescue>normal       # 正常情況下,這就可以啟動進入ubuntu啟動界面啦

我的情況是/boot單獨分區啦,可是利用上述方法並不成功,總說找不到文件,后來百度經驗的方法給了答案(厲害):

  set root=(hd0,msdos2)/grub

  set prefix=(hd0,msdos2)/grub

  insmod normal

  normal

 

4.進入ubuntu之后,修復grub:

  開機之后,打開終端:

  sudo update-grub

  sudo grub-install /dev/sdb   # 這里sdb就是ubuntu安裝到了那個硬盤,我到是在移動硬盤里面,剛好是sdb,千萬不要寫sdb2等具體分區

 

寫下來備忘,原理不懂,盼大神指教。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM