开机出现 Grub error: unknown file system 的解决办法

来源:互联网 发布:python测试脚本实例 编辑:程序博客网 时间:2024/05/18 13:31

昨天一个同学问我误删除分区的问题,为了分析原因,我就帮忙演示了一番…重新分出来一块分区,并分配了一个新的磁盘符给它,之后便没再管了。今天开电脑的时候悲剧了,出现了Grub error: unknown file system 的错误,不能正确启动电脑。 搜索了一下网上的资源,大致了解了原因,由于新建磁盘的原因,引导区所在磁盘的标号发生了改变,所以不能正确加载引导程序。(我是Linux, win8 双系统)

下面是解决方案:

在命令行模式中输入:
grub rescue> set
会看到当前的引导信息,但是这个信息是错误的,我们需要改掉才能正确地进入到系统中去。 首先我们要明确引导分区在到底在那个盘里,按照我这次的经验,由于我是因为新建了一个磁盘分区导致的这个问题,我预测我的引导分区应该在现在显示的分区的临近分区中,现在显示如下
grub>prefix=(hd0,msdos8)/boot/grub
grub>root=hd0,msdos8 

因此我就尝试了 msdos7。很幸运,一次就试出来了,下面是相应的设置信息
grub>set root=hd0,msdos7
grub>set prefix=(hd0,msdos7)/boot/grub

如果这里没有出错的话,说明猜对了
grub>insmod normal
grub>normal

敲入normal之后就可以看到熟悉的启动界面了
难道你以为到这里就结束了? 一开始我也是这么认为的!
事实证明,我们还是too simple, sometimes naive.
我愉快地使用了一天电脑之后,重启发现…… 同样的问题又出现了! 看来需要新的办法了,怎么保存刚才的配置信息呢?那就需要额外的工作了。 在刚才的基础上,进入启动界面之后,敲C键会进入命令行模式,敲入以下命令
grub>set root=hd0,msdos7
grub>set prefix=(hd0,msdos7)/boot/grub              
grub>linux /vmlinuz root=/dev/sda7
grub>initrd /initrd.img
grub>boot

接下来系统就会进入linux了,之后我们还要执行
sudo update-grub
sudo grub-install /dev/sda
现在重启一下试试吧! 大功告成咯

0 0