grub rescue的修复方法
2019獨角獸企業重金招聘Python工程師標準>>>
在win7下刪除了ubuntu的swap交換空間的分區(大約6G左右,根據自己的實際分區情況決定)。重新啟動電腦進入界面,直接顯示:
error:unknow filesystem grub rescue> |
所以自己就找到ubuntu的光盤準備從系統的安裝過程中將剛剛刪去的分區重新設置為swap分區,無奈,筆記本的光盤也不好使,所有就只能拿著手機百度了。
解決辦法
1 輸入ls
在grub rescue>中輸入ls,會顯示出磁盤中的磁盤分區情況,例如我這里顯示的:
(hd0),(hd0,msdos1),(hd0,msdos2),(hd0,msdos4),(hd0,msdos5),(hd0,msdos6),(hd0,msdos7)
2 查找主分區所在位置
在grub rescue>中輸入ls (hd0,msdosX)/并回車(這里需要將上面所列出的分區依次進行測試,X表示1,2,4,5,6,7),直到在屏幕中顯示出在主分區“/”中存在的所有文件,例如:
bin ? ?dev ? initrd.img ? ? ?lib32 ? ? ? media ?proc ?sbin ? ? sys ?var boot ? etc ? initrd.img.old ?lib64 ? ? ? mnt ? ?root ?selinux ?tmp ?vmlinuz cdrom ?home ?lib ? ? ? ? ? ? lost+found ?opt ? ?run ? srv ? ? ?usr ?vmlinuz.old |
就表示主分區“/”就是當前硬盤分區上。
注意:
1.這里也可以使用“ls (hd0,msdosX)/boot/grub"進行查找分區,如果/boot沒有進行單獨分區可以使用此方法。
如果/boot是進行單獨分區的,就需要使用”ls (hd0,msdosX)/grub"查找/boot分區所在磁盤
2. 在(hd0,msdosX)和文件路徑“/”或者“/boot/grub”之間沒有空格。本人之前由于使用手機以為之間有一個空格符,試了許多次都沒有找到,不過一個比較明顯的區別。測試其它的磁盤分區的時候都顯示的“unknown filesystem",只有在一個磁盤分區下顯示的為“bad filename”,后來找了找度娘,才發現磁盤分區(hd0,msdosX)和文件路徑之間是沒有空格的,需要連在一起。
3 進入系統
我這里找到的“/”在(hd0,msdos7)上,所以進行如下設置:
grub rescue>set root=(hd0,msdos7)
grub rescue>set prefix=(hd0,msdos7)/boot/grub
grub rescue>insmod /boot/grub/normal.mod
如果/boot是單獨分區的話,就進行如下設置:
grub rescue>set root=(hd0,msdosX)
grub rescue>set prefix=(hd0,msdosX)/grub
grub rescue>insmod /grub/normal.mod
如果你輸入正確的話,你會發現屏幕中最新的一行的字符由灰色變成了白色,這就證明你可以進入到開機的grub選擇界面了。
在白色的grub rescue>中輸入normal
grub rescue>normal
我這里就選擇進入ubuntu操作系統中,不過在屏幕中顯示UUID………………無法找到之類意思的一段信息(當時本人嚇出一身冷汗,以為還不能開機),進入操作系統中,使用ubuntu的“磁盤實用工具”將之前的磁盤分區重新設置為是swap交換空間,就以為可以了,不過重啟之后發現又進入了“grub rescue>”中,所以請不要相當然。
4 更改fstab文件
請確保已經進行swap分區,我這里通過“磁盤實用工具”進行分區的swap。使首先查找swap的UUID,這里有兩種方法:
使用“sudo blkid"查看UUID:
/dev/sda7: UUID="132e271d-ddb7-489d-94b2-3d3bd8dd5eb9" TYPE="ext4"?
/dev/sda8: LABEL="M-fM-^VM-0M-eM-^MM-7" UUID="b3a6e112-065f-472b-aeb2-86ca9f951e2c" TYPE="swap"?
這里TYPE為swap的UUID就是新創建的swap分區的UUID。
? 2. 使用“ls -l /dev/disk/by-uuid"查看UUID:
lrwxrwxrwx 1 root root 10 ?4月 ?1 19:31 132e271d-ddb7-489d-94b2-3d3bd8dd5eb9 -> ../../sda7
lrwxrwxrwx 1 root root 10 ?4月 ?1 19:31 b3a6e112-065f-472b-aeb2-86ca9f951e2c -> ../../sda8
更改fstab文件(在修改之前最好將該文件進行一下備份,以免出現錯誤)
使用root用戶 # vim /etc/fstab
可以看到文件中有一行含有swap的內容,這里表示之前未刪除swap分區的UUID,這里只需要將通過”sudo blkid"獲得的新的swap的UUID進行更改就可以了
UUID=7743e0a8-cb7b-409a-8b61-947d2c1071ae none ? ? ? ? ? ?swap ? ?sw ? ? ? ? ? ? ?0 ? ? ? 0(之前的文件內容)
更改為
UUID=b3a6e112-065f-472b-aeb2-86ca9f951e2c none ? ? ? ? ? ?swap ? ?sw ? ? ? ? ? ? ?0 ? ? ? 0(更改后的內容)
保存退出。
5 更新grub
完成上述內容后,就需要更新grub了
在終端中輸入“sudo grub-install /dev/sda",執行完成后,就可以了。重新啟動系統,你就會發現一切又正常了
轉載于:https://my.oschina.net/tongzhe/blog/215213
總結
以上是生活随笔為你收集整理的grub rescue的修复方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 被遮挡的绝对定位 z-index
- 下一篇: HDUOJ---1879 继续畅通工程