下面我要講的是一個悲傷的故事
引子
電腦狀況簡介:兩塊硬盤(1HHD、1SSD),SSD上裝了LINUX(40G)+WIN10(50G)的雙系統,SSD剩余部分在WIN下使用裝程序,HHD做倉庫。LINUX引導WIN。
問題的產生:WIN10的C盤快滿了,寶寶手賤用分區助手從裝程序的分區划了幾個G給C盤。
然后重啟就TM進到grub rescue了,吶,就這樣
其實出了這個界面的時候寶寶是不擔心的,因為這是linux的東西的問題。如果是WIN出了問題……那真是一場災難
出這個毛病的原因應該是分區助手改了分區,結果grub就懵逼了,所以提示我找不到引導文件了。解決的方法也很簡單,重新定位文件位置(沒錯,看起來逼格好像很高但實際上……呵呵)。
然后講一下怎么恢復
解決
主要的步驟呢很簡單,在rescue模式下確認引導文件的實際位置,然后暫時重新定位它使我們可以進入grub,然后就可以進入UBUNTU更新grub完成修復。(網上還有用安裝盤進行恢復的,但一是我覺得麻煩,二是我手上也沒安裝盤,所以就沒用那種方法)
首先ls看看我磁盤(中間輸錯了一次命令,而且還執行了!!在這里算是自我提醒一下吧,敲回車之前千萬要確認命令的正確性啊啊啊)
這里能夠看到我的一塊磁盤分了4個區,另一塊分了三個區,在這里請根據自身情況判斷哪塊盤是哪塊盤(判斷不出來也沒事,像我一樣所有分區都遍歷一遍就好了23333)。
然后需要做的就是依次 ls (hdx,msdosy) 來確認哪個是linux分區(這里的x,y對應盤和分區的序號),如下(我把所有分區都打了一遍)
很容易看出來,這里ext2的是linux下的分區,而unknown的就是win的了(中間又打錯了一個)。
然后就是在這些分區下找我們的引導文件,如果你的/boot單獨掛出來了(比如我),就用這個指令(x,y含義同上面)
ls (hdx,msdosy)/grub
如果不是,就用這個
ls (hdx,msdosy)/boot/grub
可以看到(hd0,msdos2)里面有grub目錄,文件也在里面
然后關聯文件
boot掛出來了的用這個
set root=(hd0,msdos2) set prefix=(hd0,msdos2)/grub insmod normal normal
沒掛出來的用這個
set root=(hd0,msdos2) set prefix=(hd0,msdos2)/boot/grub insmod normal normal
總之你敲完最后一行的normal以后按下回車就能進入grub了,這里就不截圖了。
然后進入linux,打開控制台,更新grub
sudo update-grub2
sudo grub-install /dev/sda
然后就沒有然后了。如果你要用WIN引導LINUX的話……你以前是怎么做的,你現在就怎么做就好了
又學到了新東西,還是蠻開心的233333