Linux开不了机了,显示:“GRUB loading error:unknow filesystem grub rescue> ”重装系统时出现的
1个回答
展开全部
很多时候,特别是在linux调整分区后,开机重启时会出现
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,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos2) (hd0,msdos1)
注:上面是硬盘分区设备,每个人可能不一样,但原理都是一样的。
2、寻找linux所在分区: (就是寻找你的Linux系统是装在以上哪个分区里)
grub rescue> ls (hd0,msdos1)/
若出现unknown filesystem字样,则尝试下一个
……
若出现的是你的linux根分区下的文件夹和文件的名字,那就是的要找的分区了。
3、修改启动分区: (假如你找到的启动分区是hd0,msdos8)
grub rescue>root=(hd0,msdos8)
grub rescue>prefix=/boot/grub //grub路径设置
grub rescue>set root=(hd0,msdos8)
grub rescue>set prefix=(hd0,msdos8)/boot/grub
grub rescue>insmod normal //启动normal启动
grub rescue>normal
之后你就会看到熟悉的启动菜单栏了
4、进入命令行启动linux
如果从启动菜单选择后还是进不去系统,这是因为还没有真正的修改grub,这就要到linux里修改。选择系统启动项后,按C进入命令行模式
grub >set root=hd0,msdos8
grub >set prefix=(hd0,msdos8)/boot/grub
grub >linux /vmlinuz-xxx-xxx root=/dev/sda8
注: 这里的xxxx可以按Tab键补全,如果有acpi问题,在最后加一句acpi=off
grub >initrd /initrd.img-xxx-xxx
grub >boot
这样就可以进入了,进入linux后修复grub
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
重启,搞定!!
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,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos2) (hd0,msdos1)
注:上面是硬盘分区设备,每个人可能不一样,但原理都是一样的。
2、寻找linux所在分区: (就是寻找你的Linux系统是装在以上哪个分区里)
grub rescue> ls (hd0,msdos1)/
若出现unknown filesystem字样,则尝试下一个
……
若出现的是你的linux根分区下的文件夹和文件的名字,那就是的要找的分区了。
3、修改启动分区: (假如你找到的启动分区是hd0,msdos8)
grub rescue>root=(hd0,msdos8)
grub rescue>prefix=/boot/grub //grub路径设置
grub rescue>set root=(hd0,msdos8)
grub rescue>set prefix=(hd0,msdos8)/boot/grub
grub rescue>insmod normal //启动normal启动
grub rescue>normal
之后你就会看到熟悉的启动菜单栏了
4、进入命令行启动linux
如果从启动菜单选择后还是进不去系统,这是因为还没有真正的修改grub,这就要到linux里修改。选择系统启动项后,按C进入命令行模式
grub >set root=hd0,msdos8
grub >set prefix=(hd0,msdos8)/boot/grub
grub >linux /vmlinuz-xxx-xxx root=/dev/sda8
注: 这里的xxxx可以按Tab键补全,如果有acpi问题,在最后加一句acpi=off
grub >initrd /initrd.img-xxx-xxx
grub >boot
这样就可以进入了,进入linux后修复grub
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
重启,搞定!!
参考资料: http://blog.chinaunix.net/uid-27037833-id-3235145.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询