linux刷除U盘grub,删除linux系统出现grub rescue
癥狀:
開機(jī)顯示:GRUB loading
error:unknow filesystem
grub rescue>
原因:
已經(jīng)發(fā)現(xiàn)下面幾種操作會導(dǎo)致這種問題:
1,想刪除ubuntu,于是直接在windows下刪除/格式化了ubuntu所在的分區(qū)。
2,調(diào)整磁盤,利用工具合并/分割/調(diào)整/刪除分區(qū),使磁盤分區(qū)數(shù)目發(fā)生了變化。
3,重新安裝系統(tǒng),把linux安裝到了新分區(qū),原有分區(qū)已經(jīng)格式化,但是沒有重新安裝grub2。
4,用ubuntu備份工具/衍生版制造工具等,把主分區(qū)回復(fù)成了8.X的老版本,結(jié)果老版本的grub是grub1,于是把grub2破壞掉了。
總歸,是由于操作者不知道grub2分為兩部分,一部分(一般情況下)寫在了mbr上,另一部分寫在了某個分區(qū)的/boot/grub目錄(如果/boot單獨(dú)分區(qū),則直接寫在對應(yīng)分區(qū)的/grub目錄)里面。由于上述操作,致使grub2的mbr里面的那一部分找不到/grub目錄里面的那一部分了(或者那一部分已經(jīng)刪除了)。
思路:
方法1,徹底刪除grub2,讓這個提示不再出現(xiàn):
適用于已經(jīng)不想再使用ubuntu,要轉(zhuǎn)回windows的人。
這個很簡單,只要你有Windows啟動盤(非Ghost),用它啟動,至選擇安裝位置,不用真正安裝,退出重啟就可以。
或者用它啟動到故障修復(fù)臺,運(yùn)行fixboot或者fixmbr都可以。
win7命令行下,則是執(zhí)行:BootRec.exe /fixmbr
(/fixmbr修復(fù)mbr, /FixBoot修復(fù)啟動扇區(qū),/ScanOs檢測已安裝的win7,/RebuildBcd重建bcd。)
方法2,重新安裝、修復(fù)grub2
1. 先使用ls命令,找到Ubuntu的安裝在哪個分區(qū):
在 grub rescue>下輸入以下命令:
代碼:
ls
會羅列所有的磁盤分區(qū)信息,比方說:
引用:
(hd0,1),(hd0,5),(hd0,3),(hd0,2)
2. 然后依次調(diào)用如下命令: X表示各個分區(qū)號碼
如果/boot沒有單獨(dú)分區(qū),用以下命令:
代碼:
ls (hd0,X)/boot/grub
如果/boot單獨(dú)分區(qū),則用下列命令:
代碼:
ls (hd0,X)/grub
正常情況下,會列出來幾百個文件,很多文件的擴(kuò)展名是.mod和.lst和.img,還有一個文件是grub.cfg。假設(shè)找到(hd0,5)時,顯示了文件夾中的文件,則表示Linux安裝在這個分區(qū)。
4,如果找到了正確的grub目錄,則設(shè)法臨時性將grub的兩部分關(guān)聯(lián)起來,方法如下:
以下是/boot沒有單獨(dú)分區(qū)的命令:
引用:
grub rescue>set root=(hd0,5)
grub rescue>set prefix=(hd0,5)/boot/grub
grub rescue>insmod /boot/grub/normal.mod
以下是/boot 單獨(dú)分區(qū)的命令:(這幾句有待驗(yàn)證)
引用:
grub rescue>set root=(hd0,5)
grub rescue>set prefix=(hd0,5)/grub
grub rescue>insmod /grub/normal.mod
然后調(diào)用如下命令,就可以顯示出丟失的grub菜單了。
grub rescue>normal
不過不要高興,如果這時重啟,問題依舊存在,我們需要進(jìn)入Linux中,對grub進(jìn)行修復(fù)。
啟動起來,進(jìn)入ubuntu之后,在終端執(zhí)行:
代碼:
sudo update-grub
sudo grub-install /dev/sda
(sda是你的硬盤號碼,千萬不要指定分區(qū)號碼,例如sda1,sda5等都不對)
重啟測試是否已經(jīng)恢復(fù)了grub的啟動菜單? 恭喜你恢復(fù)成功!
5,如果找不到正確的/grub目錄,比如第3、4種誤操作,則嘗試尋找是否有l(wèi)inux核心文件,則依次調(diào)用如下命令: X表示各個分區(qū)號碼:
grub rescue>下,輸入:
如果/boot沒有單獨(dú)分區(qū):
代碼:
ls (hd0,X)/boot
如果/boot單獨(dú)分區(qū),則:
代碼:
ls (hd0,X)
找名字類似與vmlinuz-3.0.0-12-generic這樣的文件,這是linux核心文件,如果找到,記下(hd0,X)中的X值。假設(shè)找到(hd0,5)時,顯示了文件夾中的文件。
然后用live cd 或者 live usb啟動,在live cd的ubuntu的終端中依次輸入以下命令(sda5中的“5”必須改成上面記錄下來數(shù)值)(這兩句需要驗(yàn)證):
如果/boot沒有單獨(dú)分區(qū):
代碼:
sudo mount /dev/sda5 /mnt
sudo grub-install --boot-directory=/mnt/boot /dev/sda
如果/boot單獨(dú)分區(qū),則:
代碼:
sudo mount /dev/sda5 /mnt
sudo grub-install --boot-directory=/mnt /dev/sda
然后重新啟動即可。
(以上這兩句命令也可以解決安裝ubuntu時grub安裝位置不對,沒有將grub安裝到/dev/sda,造成啟動時不出現(xiàn)ubuntu啟動項(xiàng)直接進(jìn)入windows的問題,不過需要自行確定sda5中的“5”改成什么數(shù)字。)
6,如果連linux核心文件都沒有,那么,徹底重新安裝吧。
方法3
沒什么難度,只是準(zhǔn)備工作稍微麻煩了一點(diǎn),你需要一個啟動U盤或者光盤。
用U盤直接啟動(改變系統(tǒng)引導(dǎo)順序,使之先從U盤開始引導(dǎo)),在U盤上運(yùn)行l(wèi)inux,打開終端,輸入以下內(nèi)容:
(下面是基于debian的系統(tǒng)(其實(shí)就是普通個人電腦的系統(tǒng)),其他系統(tǒng)自己轉(zhuǎn)換命令)
sudo apt-get install lilo
sudo lilo -M /dev/sda mbr
lilo是一種以前的引導(dǎo)組件,現(xiàn)在基本上已經(jīng)被放棄了,大部分系統(tǒng)采用的都是grub引導(dǎo),通過lilo就可以修復(fù)MBR的正常引導(dǎo)了。
我的問題及解決:我是直接格式化linux安裝盤導(dǎo)致進(jìn)入時出現(xiàn)grub rescue>,用三種方法解決了問題,所以刪除系統(tǒng)的時候還是得按照規(guī)矩來啊
以上為碰到問題到處百度后的各方答案的總結(jié),本人只驗(yàn)證了第三種方法的正確性
總結(jié)
以上是生活随笔為你收集整理的linux刷除U盘grub,删除linux系统出现grub rescue的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 年薪百万 华为又一天才少年曝光:发表21
- 下一篇: 除了 TikTok,字节跳动“占领”美国