溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么解決開機(jī)grub-rescue問題

發(fā)布時(shí)間:2021-12-31 17:20:54 來源:億速云 閱讀:2809 作者:柒染 欄目:系統(tǒng)運(yùn)維

這篇文章給大家介紹怎么解決開機(jī)grub-rescue問題,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

在實(shí)際折騰Linux的過程中,遇到grub-rescue問題是件很正常的事情。實(shí)際上這個(gè)問題,沒有什么技術(shù)含量,但是要看什么場(chǎng)合。

記得之前教了某個(gè)MM玩Linux,主要也是工作需要吧。本來一切都是很美好的,可是下午卻被一通電話吵醒了。電話的那頭很著急的跟我說,她的電腦啟動(dòng)不了了,電腦啟動(dòng)不了的理由有千萬(wàn)種死法。于是我平靜的問她,由什么提示或輸出嗎?

然后她跟我講屏幕中出現(xiàn)了grub  resuce的字樣。對(duì)于這樣的情況,不用說我都知道,她把某些東西給搞壞了。但是按照網(wǎng)上的教程卻無法修復(fù),于是詳細(xì)詢問后就有了這篇文章了。

實(shí)話說,grub2主要分為2個(gè)部分,一部分一般情況下寫在MBR中,而另1部分寫在某個(gè)分區(qū)的/boot/grub目錄中。如果grub沒有正確的被安裝就可能會(huì)引發(fā)上面的問題。

對(duì)于這樣的問題,我們可以通過如下的方式來進(jìn)行修復(fù):

  • 找到Linux安裝的分區(qū)

  • 進(jìn)行臨時(shí)grub的關(guān)聯(lián)

  • 重新生成grub

下面我們分別來進(jìn)行說明。 在這里,要修改的Linux為Ubuntu 14.04版本,對(duì)于其他的發(fā)行版也是類似的。

找到分區(qū)

我們先在提示符grub rescue>下輸入命令ls列出所有的磁盤分區(qū)信息,這里假設(shè)得到如下的結(jié)果:

(hd0),(hd0,msdos8),(hd0,msdos7),(hd0,msdos6),....

接著,我們需要嘗試列出某個(gè)分區(qū)上是否存在/boot/grub這個(gè)目錄。對(duì)于Windows系統(tǒng)的分區(qū)來說,會(huì)直接得到1個(gè)unknow  filesystem的錯(cuò)誤提示。換句話說,我們需要進(jìn)行如下的操作:

ls (hd0,msdosX)/boot/grub

在這里,X代表上面分區(qū)中得到的數(shù)字,比如msdos8中的數(shù)字8。

如果按照這種方式應(yīng)該是可以找到對(duì)應(yīng)分區(qū)的,這也是網(wǎng)上教程的方法,但是由于她的電腦中將boot分區(qū)單獨(dú)進(jìn)行了分區(qū),因此使用上述的方式會(huì)出現(xiàn)1個(gè)對(duì)應(yīng)文件不存在的提示。

因此,我們需要將上述的方式修改為:

ls (hd0,msdosX)/grub

在這里,我們?nèi)サ袅薭oot目錄,這樣就可以搜索到對(duì)應(yīng)的目錄了。 對(duì)于在使用ls命令時(shí)提示文件不存在的情況我們可以進(jìn)行如下的操作:

ls (hd0,msdosX)/

進(jìn)行關(guān)聯(lián)

緊接著,如果找到了正確的grub目錄后,我們需要將其與grub關(guān)聯(lián)起來,在這里,我們主要通過set命令來進(jìn)行設(shè)置操作,從而臨時(shí)進(jìn)行關(guān)聯(lián)操作:

grub resuce> set root=(hd0,msdos6) grub resuce> set prefix=(hd0,msdos6)

而GRUB的正常啟動(dòng)過程涉及到通過grub-install生成的核心鏡像的環(huán)境變量prefix。而環(huán)境變量root主要用于從前綴中加載normal模塊。

在這里,我們假設(shè)正確的分區(qū)為(hd0,msdos6),我們通過set命令設(shè)置其root和prefix都為該分區(qū)。之后我們需要進(jìn)行加載的操作了:

grub resuce> insmod normal grub resuce> normal

在這里,normal命令會(huì)讀取/boot/grub/grub.cfg文件并運(yùn)行菜單。

重新生成grub

通過上述的方式我們可以現(xiàn)實(shí)丟失的grub菜單了。此時(shí)不要高興的太早了,因此這只是臨時(shí)的關(guān)聯(lián),如果重啟的話,這個(gè)問題還是會(huì)再次出現(xiàn)的。為了解決這個(gè)問題,我們需要進(jìn)入Linux中重新生成grub來進(jìn)行修改:

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.

在這里,我們假設(shè)使用的是deepin的發(fā)行版,然后使用update-grub重新生成grub菜單。最后再使用grub-install將其安裝在硬盤上。

關(guān)于怎么解決開機(jī)grub-rescue問題就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI