原文地址:html
在實際折騰Linux的過程當中,遇到grub-rescue問題是件很正常的事情。實際上這個問題,沒有什麼技術含量,可是要看什麼場合。
記得以前教了某個MM玩Linux,主要也是工做須要吧。原本一切都是很美好的,但是下午卻被一通電話吵醒了。電話的那頭很着急的跟我說,她的電腦啓動不了了,電腦啓動不了的理由有千萬種死法。因而我平靜的問她,由什麼提示或輸出嗎?
而後她跟我講屏幕中出現了grub resuce
的字樣。對於這樣的狀況,不用說我都知道,她把某些東西給搞壞了。可是按照網上的教程卻沒法修復,因而詳細詢問後就有了這篇文章了。
實話說,grub2主要分爲2個部分,一部分通常狀況下寫在MBR中,而另1部分寫在某個分區的/boot/grub
目錄中。若是grub沒有正確的被安裝就可能會引起上面的問題。
對於這樣的問題,咱們能夠經過以下的方式來進行修復:shell
找到Linux安裝的分區ui
進行臨時grub的關聯.net
從新生成grubunix
下面咱們分別來進行說明。
在這裏,要修改的Linux爲Ubuntu 14.04版本,對於其餘的發行版也是相似的。code
咱們先在提示符grub rescue>
下輸入命令ls
列出全部的磁盤分區信息,這裏假設獲得以下的結果:orm
(hd0),(hd0,msdos8),(hd0,msdos7),(hd0,msdos6),....
接着,咱們須要嘗試列出某個分區上是否存在/boot/grub
這個目錄。對於Windows系統的分區來講,會直接獲得1個unknow filesystem
的錯誤提示。換句話說,咱們須要進行以下的操做:htm
ls (hd0,msdosX)/boot/grub
在這裏,X表明上面分區中獲得的數字,好比msdos8中的數字8。
若是按照這種方式應該是能夠找到對應分區的,這也是網上教程的方法,可是因爲她的電腦中將boot分區單獨進行了分區,所以使用上述的方式會出現1個對應文件不存在的提示。
所以,咱們須要將上述的方式修改成:blog
ls (hd0,msdosX)/grub
在這裏,咱們去掉了boot目錄,這樣就能夠搜索到對應的目錄了。
對於在使用ls命令時提示文件不存在的狀況咱們能夠進行以下的操做:
ls (hd0,msdosX)/
緊接着,若是找到了正確的grub目錄後,咱們須要將其與grub關聯起來,在這裏,咱們主要經過set命令來進行設置操做,從而臨時進行關聯操做:
grub resuce> set root=(hd0,msdos6) grub resuce> set prefix=(hd0,msdos6)
而GRUB的正常啓動過程涉及到經過grub-install
生成的核心鏡像的環境變量prefix
。而環境變量root主要用於從前綴中加載normal模塊。
在這裏,咱們假設正確的分區爲(hd0,msdos6)
,咱們經過set命令設置其root和prefix都爲該分區。以後咱們須要進行加載的操做了:
grub resuce> insmod normal grub resuce> normal
在這裏,normal命令會讀取/boot/grub/grub.cfg
文件並運行菜單。
經過上述的方式咱們能夠現實丟失的grub菜單了。此時不要高興的太早了,所以這只是臨時的關聯,若是重啓的話,這個問題仍是會再次出現的。爲了解決這個問題,咱們須要進入Linux中從新生成grub來進行修改:
cat@cat-pc:~$ sudo update-grub Generating grub configuration file ... Found theme: /boot/grub/themes/deepin/theme.txt Found background image: /boot/grub/themes/deepin/background.png Found linux image: /boot/vmlinuz-4.4.0-2-deepin-amd64 Found initrd image: /boot/initrd.img-4.4.0-2-deepin-amd64 Found Windows 7 (loader) on /dev/sda1 done cat@cat-pc:~$ sudo grub-install /dev/sda Installing for i386-pc platform. Installation finished. No error reported.
在這裏,咱們假設使用的是deepin的發行版,而後使用update-grub
從新生成grub菜單。最後再使用grub-install
將其安裝在硬盤上。
這樣,咱們就完美的解決了開機啓動時grub rescue致使沒法正常啓動的問題了。
若是某天某個MM向你諮詢這個問題,不要吝惜這樣的好機會,由於花不了你10分鐘又能夠拉近關係。
參考文章:
http://www.gnu.org/software/g...
http://blog.chinaunix.net/uid...