装双系统(win10和elementary os),elementary os是ubuntu的一个分支。在win10中合并了一块空白磁盘分区,再开机的时候出问题了。
遇到filesystem unknown,grub rescue错误。
这是因为ubuntu使用的是grub2引导程序,grub2分为两部分,一部分写入MBR(磁盘上存储引导程序和硬盘分区表的地方,大小为512byte),
另一部分存在ubuntu的/boot/grub目录下,这两部分有一个损坏就会出现此错误。
-------------------------------------------------------------------------------------------
解决方法:
先输入ls回车,查看显示的内容。如:
(hd0) (hd0,msdos1) (hd0,msdos2) ....
这里的msdos分别表示磁盘上的各个分区,依次尝试
ls (hd0,msdos1)/boot/grub
ls (hd0,msdos2)/boot/grub
.....
尝试所有的,直到返回内容不再是error:unknown filesystem为止。
我的elementary os装在第六块磁盘分区里,所以我就直接操作了。
找到系统所在分区后,依次输入以下内容:
set root=(hd0,msdos6)/boot/grub
set prefix=(hd0,msdos6)/boot/grub
insmod normal
normal
normal执行之后就进入了选择启动项的界面,可以正常进入系统了。
进入Linux系统后,需要更新MBR的grub部分来适应新的分区情况,在终端输入:
sudo update-grub2
sudo grub-install /dev/sda
这样下次再开机就有正常的grub开机选项了,否则将还是会出现grub sescue错误。