Grub erro 17的解决方法

      前些天在Windows下修改了磁盘分区,重启之后,系统出现故障:grub erro 17...。结果Windows和Linux全都进不去了,最后就在网上g了一下解决办法。有一种是使用LiveCD修复grub ,可是不知道什么原因,我的光驱读取LiveCD速度很慢,进不到光盘系统中。没办法只有用其他方法,还有一种是用dos启动 ,然后使用命令fdisk /mbr,修复一下Windows的主引导记录mbr,使先能进入到Windows,重启后就可以正常进入到Windows了,可是还是没有办法进入Linux。然后我就使用grub4dos ,在其中提取grldr文件,把它放在c盘系统根目录,并在boot.ini文件最后添加一句:C:/grldr="GRUB",然后保存。最后一个工作就是,要编写系统引导菜单menu.lst(这是最关键的一步!) ,怎么写呢?网上有篇文章说,下载一个叫explore2fs的工具 ,这个工具可以在Windows下查看Linux里的东西。运行之,在/boot/grub/(可能有所差别)下找到menu.lst文件 ,然后右键点击它,选择“导出文本”(不是“导出文件”),保存到C盘根目录下,文件名和扩展名均不变,仍为menu.lst。可以用记事本打开,关键的只有几句,如:

title Ubuntu 9.04 , kernel 2.6.28
root (hd0,3)
kernel /boot/vmlinuz-2.6.28-11-generic root=UUID=37361df3-7884-4cfe-bfda-18cf504e5cc5 ro quiet splash
initrd /boot/initrd.img-2.6.28-11-generic
quiet

      我在网上down了一个explore2fs,大小只有800多kb。运行之发现一片空白,没有任何object,没有办法提取menu.lst文件,也就没有办法得到上面那五行东西了。这样就没有办法引导Linux系统,只有再想别的办法。
      做什么都应该有尝试的精神。如果系统中装有还原精灵什么的,在c盘根目录下会有一个系统引导菜单menu.lst文件,它用来引导ghost用的。抱着一试的想法,我把c盘根目录下的menu.lst然后删除了(否则无法使用grub4dos引导Linux,先把menu.lst备份到别处)。这时重启,突然发现系统自己引导可以进入Linux了,这时并没有编写Linux的引导菜单但是系统却进去了,我想会不会是grub4dos自己找的呢?进入系统后,一切正常没问题。至此Windows和Linux都可以进去了。
      虽然现在两个系统都可以进去了,但是c盘根目录下原本的menu.lst文件被删除了。这带来的结果是,系统原先装的还原精灵ghost用不了啦,这不是我所希望的,所以这个文件不能删除,我又把备份的menu.lst文件放到了c盘根目录下,但这带来的结果是Linux又找不到了,how to do?
      其实很简单,就是修改menu.lst文件,让它也能引导Linux。既然刚才的方法已经可以进入Linux了,我暂时还是先把menu.lst删了(注意备份),然后重启进入Linux。进入之后,在terminal终端下输入命令:

$more /boot/grub/menu.lst

      这样,就可以得到最开始讲的上面那五行东西了,把它记下来。然后再进入Windows,在c盘根目录的menu.lst文件最后加入这几句即可,系统就可以正常地引导进入Linux了。注意,root (hd0,3) ,我的Linux装在第三个主分区 ,这个可以通过刚才用grub4dos自动引导系统,在系统启动时会显示在屏幕上,要注意。也可以在/boot/grub/stage1中获取。  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值