1. 程式人生 > >Ubuntu 16.04 + win7 雙系統 引導修復 grub修復之路

Ubuntu 16.04 + win7 雙系統 引導修復 grub修復之路

環境: win7 + Ubuntu 16.04雙系統   250G SSD 

win7一開始是C盤100G,D盤150G,裝Ubuntu時從D盤壓縮出40G

問題產生原因:裝Ubuntu的時候分配了40G的空間(swap 4G,/  36G)不夠用了,於是在win7中從D盤又壓縮出20G空間準備給Ubuntu系統用,但是重啟的時候遇到了

grub rescue>

首先要進入Ubuntu系統,才能進行修復吧

解決方法:

第一步:grub rescue> 下先進入Ubuntu系統

由於在rescue模式下,只有少量的基本命令可用,必須通過一定的操作才能載入正常模組,然後進入正常模式。

rescue模式下可使用的命令有:set,ls,insmod,root,prefix(設定啟動路徑)

先假設grub2的核心檔案在(hd0,8)分割槽,再來看看怎樣從 rescue模式進入從(hd0,8)啟動的正常模式(normal)。

在 rescue模式下search命令不能用,對不清楚grub2檔案處於哪個分割槽的,可以用ls命令檢視,比如

ls (hd0,8)/ 檢視(hd0,8)分割槽根目錄,看看有沒有boot資料夾

ls (hd0,8)/boot/ 檢視(hd0,8)分割槽的/boot目錄下檔案

ls (hd0,8)/boot/grub/ 檢視(hd0,8)分割槽/boot/grub目錄下檔案

通過檔案檢視,可以確定 grub2核心檔案處於哪個分割槽,接下來就可以進行從rescue到normal的轉變動作:先 ls 看看分割槽,根據分割槽列表,猜下 / 分割槽的編號再 ls (hd0,x)/ 看分割槽目錄下檔案確定找到 / 分割槽,不對的話繼續找。找到 / 分割槽的 (hd0,x) 繼續
grub rescue>root=(hd0,x)

grub rescue>prefix=/boot/grub

grub rescue>set root=(hd0,x)

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

grub rescue>insmod normal

rescue>normal

於是進入了Ubunt系統,但是總不能每次都這麼進系統吧,於是我嘗試修復grub ,以下是出了以下問題,如果你沒有出以下問題,可以跳過,直接進入第四步

第二步:解決“Minimal BASH-like line editing is supported.”問題

用了網上不知道哪裡的一個教程,結果出問題了,開機進入了這個介面,然後只有一個   grub>

我嘗試使用ls列出分割槽列表什麼的,發現並不能!後來想了以下,發現這是windows的引導介面,首先要進入Windows啊,可是怎麼進呢?

解決方法:

使用 uuid 命令可以列出所有的硬碟分割槽,由於我們的Windows一般都是安裝在 (hd0,0)分割槽的,所以進行以下幾步可以進入Windows系統

grub> root (hd0,0)

grub> chainloader (hd0,0)+1

grub> boot


敲完回車就發現可以進Windows系統了

可是進Windows系統是為了幹什麼呢?

第三步:重新進入Ubuntu安裝介面來修復引導

因為我需要做一個Ubuntu啟動盤,進入Ubuntu的安裝介面,這又是為什麼呢?

因為我進不去Ubuntu系統!哭!

但是在製作Ubuntu U盤啟動盤的過程中,發現會出現問題,沒有辦法用U盤啟動,於是果斷放棄,使用硬碟安裝Ubuntu(只是為了進入安裝介面修復引導,並不是重灌),具體教程請移步:Windows 7下硬碟安裝Ubuntu 14.04圖文教程

好了,現在重啟,進入Ubuntu安裝介面就好!

第四步:修復Ubuntu引導

1.進入之開啟終端,先在終端輸入sudo fdisk -l (注意是小寫的L,不是數字1,此步用於確定電腦中安裝 Ubuntu所在分割槽的位置,輸入以後會輸出類似如下資訊,找到ID為83的那行,記住/dev/sdaX的情況,比如本人的電腦是/dev /sda10。)

2.輸入sudo -i(此步用於得到root許可權,方便以下操作。)

3.輸入mkdir /media/tempdir(建立一個資料夾tempdir,用於掛載剛才的sda10,此資料夾名稱你可以依個人愛好而定,沒有太多要求。)

4.輸入mount /dev/sda10 /media/tempdir(將sda10掛載於tempdir資料夾下。)

5.輸入grub-install --root-directory=/media/tempdir /dev/sda(本步驟用於來重新安裝grub2到硬碟的主引導記錄MBR裡面。)

   輸入以後如果出現“Installation Finished.No Error Reported.”字元,就表示操作成功了。

6.重啟,熟悉的紫色介面    

淚流滿面!!