自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

手撕開機grub-rescue問題

系統(tǒng) Linux 系統(tǒng)運維
grub2主要分為2個部分,一部分一般情況下寫在MBR中,而另1部分寫在某個分區(qū)的/boot/grub目錄中。如果grub沒有正確的被安裝就可能會引發(fā)問題。

[[175085]]

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

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

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

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

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

  • 找到Linux安裝的分區(qū)
  • 進行臨時grub的關(guān)聯(lián)
  • 重新生成grub

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

找到分區(qū)

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

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

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

  1. ls (hd0,msdosX)/boot/grub 

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

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

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

  1. ls (hd0,msdosX)/grub 

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

  1. ls (hd0,msdosX)/ 

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

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

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

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

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

  1. grub resuce> insmod normal 
  2. grub resuce> normal 

在這里,normal命令會讀取/boot/grub/grub.cfg文件并運行菜單。

重新生成grub

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

  1. cat@cat-pc:~$ sudo update-grub 
  2. Generating grub configuration file ... 
  3. Found theme: /boot/grub/themes/deepin/theme.txt 
  4. Found background image: /boot/grub/themes/deepin/background.png 
  5. Found linux image: /boot/vmlinuz-4.4.0-2-deepin-amd64 
  6. Found initrd image: /boot/initrd.img-4.4.0-2-deepin-amd64 
  7. Found Windows 7 (loader) on /dev/sda1 
  8. done 
  9. cat@cat-pc:~$ sudo grub-install /dev/sda 
  10. Installing for i386-pc platform. 
  11. Installation finished. No error reported. 

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

這樣,我們就***的解決了開機啟動時grub rescue導(dǎo)致無法正常啟動的問題了。

如果某天某個MM向你咨詢這個問題,不要吝惜這樣的好機會,因為花不了你10分鐘又可以拉近關(guān)系。

參考文章:

http://www.gnu.org/software/g...

http://blog.chinaunix.net/uid...

責任編輯:武曉燕 來源: segmentfault
相關(guān)推薦

2010-06-12 12:46:04

Grub Rescue

2010-06-12 12:29:16

Grub Rescue

2010-06-17 09:39:07

Ubuntu Grub

2010-06-13 15:46:41

Grub Rescue

2010-06-12 11:26:21

Grub Rescue

2012-06-11 09:47:58

UbuntuGrub Rescue

2010-06-17 10:41:24

開機進入Grub

2010-06-17 10:32:13

開機顯示Grub

2020-12-07 11:52:55

Linux開機流程

2010-06-12 14:04:16

Grub.conf

2010-06-13 11:12:49

Ubuntu 9.10

2010-03-09 16:38:22

Linux grub啟

2010-06-17 11:35:24

Ubuntu 修復(fù)Gr

2010-06-12 09:02:12

Ubuntu Grub

2010-04-08 18:25:03

Unix操作系統(tǒng)

2010-06-13 16:32:19

Linux Grub命

2010-06-12 13:49:50

Ubuntu 10.0

2010-06-17 11:17:34

裝系統(tǒng)出現(xiàn)Grub

2010-06-13 11:20:31

win7 Ubuntu

2010-06-13 16:23:28

Linux Grub命
點贊
收藏

51CTO技術(shù)棧公眾號