昨天给双系统的windows系统压缩了个分区,然后开机出现了
error:unknow filesystem
grub rescue>
然后好吧,百度解决方法
这表示你的grub2的配置文件坏了……
由于分区调整或分区UUID改变造成grub2不能正常启动,从而进入修复模式了(grub rescue),也称救援模式。
在救援模式下只有很少的命令可以用:set , ls , insmod , root , prefix
(1)set 查看环境变量,这里可以查看启动路径和分区。
(2)ls 查看设备
(3)insmod 加载模块
(4)root 指定用于启动系统的分区,在救援模式下设置grub启动分区
(5)prefix 设定grub启动路径
具体修复步骤如下:
1、查看分区:grub rescue> ls 回车会出现如下字样:
(hd0) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos2) (hd0,msdos1)
或者(hd0),(hd0,gpt0),(hd0,gpt1),(hd0,gpt2),(hd0,gpt3),(hd0,gpt4)
注:上面是我的分区设备,其中 Xhd0代表硬盘号,msdosX或者gptX代表分区号,每个人可能不一样,但原理都是一样的。
2、寻找grub文件所在分区:(就是寻找你的Linux系统是装在以上哪个分区里)
如果系统的「/boot」文件夹没有单独分区(大多数人应该是如此),那么使用
grub rescue> ls (hd0,msdos1)/boot/grub
直到不在返回unknown filesystem字样,则证明我们已经找到文件所在分区,记下硬盘号和分区号
同样的,如果系统的「/boot」文件夹单独为一个分区或者上一条指令没有找到需要的分区,则使用 grub rescue> ls (hd0,msdos1)/grub 命令查找。
3、修改启动分区:(假如你找到的启动分区是hd0,msdos7)
grub rescue>set root=(hd0,msdos7)
grub rescue>set prefix=(hd0,msdos7)/boot/grub
grub rescue>insmod normal //启动normal启动
grub rescue>normal
之后你就会看到熟悉的启动菜单栏了
4、进入系统之后,(按住Ctrl+Alt+T)打开终端,在终端下输入
$ sudo update-grub
$ sudo grub-install /dev/sda
这两条命令对引导进行更新修复,提示输入密码,输入密码之后敲击回车等待处理完成就可以鸟。
叨叨几句... NOTHING