事情的起因是台式机装的双系统,给Linux分的磁盘满了,于是进PE释放Window的磁盘,但是重启时没有及时把“老毛桃”拔下来,导致grub引导被破坏,于是就有了本篇文章。
另外,本文的第二部分介绍了一下,如果根本连grub rescrue界面都出不来的解决办法。
注意不要轻易使用fsck
,否则会出现难以恢复的数据损失。
环境:Ubuntu Mate 18.04
错误提示:
error : unknow filesystem
grub rescue >
grub rescue > ls
((hd0) (hd0,msdos2) (hd0,msdos1) (hd0,msdos5) ……
grub rescue >
grub rescue >ls (hd0,msdos1)
(hd1,msdos1): error: unknown filesystem
grub rescue >ls (hd0,msdos2)
(hd1,msdos2): error: unknown filesystem
直到找到一个grub rescue 认识的文件系统类型如
然后如果有多个grub rescue 认识的文件系统类型,需要再进一步的看下是否存在这个分区里有没有grub文件夹
grub rescue >ls (hd0,msdos5)/boot/grub/
如果boot分区是单独的一个分区,需要执行以下命令查看。
grub rescue >ls (hd0,msdos5)/grub/
直到看到下面的文件夹结构(重要的是找到i386-pc
文件夹),就可以确定grub分区是在(hd0,msdos5)/grub/
这时候就好办了。
grub rescue > set root = (hd0,msdos5)
grub rescue > set prefix = (hd0,msdos5)/boot/grub # 有些时候是 (hd0,msdos5)/grub
grub rescue > insmod normal
grub rescue > normal
这时,不出意外,已经能看到熟悉的Ubuntu启动画面了,然系统正常启动即可,启动完成后进入下一步。
打开一个终端,进行修复。
$ sudo update-grub
$ sudo grub-install /dev/sda
重启完成。
这个部分主要介绍的是一种重装windows系统以后,修复了windows启动项,但是grub不知道到哪去了的问题,在此做一记录。
sudo -i
取得root权限;
fdisk -l
找到linux的root分区和boot分区的位置,我这里是/dev/sda6。
mount /dev/sda6 /mnt
grub-install --root-directory=/mnt /dev/sda
还看到有人说系统起来以后可以用boot-repair的,这个办法没有试过,大家可以自己探索下,这里就只是简单的做个记录,不展开来了。
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair
1:win10 + ubuntu 18.04 双系统崩溃后 grub 引导项修复:https://my.oschina.net/u/2362565/blog/2252933
2:Ubuntu 16.04 grub rescue 模式下修复 grub:https://www.cnblogs.com/sddai/p/7214330.html?utm_source=itdadao&utm_medium=referral