互联网 · 2012 年 6 月 10 日 0

Windows和Linux多系统Grub rescue错误问题

    查看自己网站的数据统计中,发现很多从谷歌和百度来的流量都是搜索Windows8和Windows安装到移动硬盘进来的,另外还有很多是搜索grub错误进来的,我就根据我自己的经历来帮帮大家吧。

多系统引起的grub rescue解决办法:


    教程1:Windows(仅适合Vista,Win7和Win8等NT6系统)安装到移动硬盘

    教程2:U盘安装Win7和Win8


    然后来谈谈多系统安装时导致的Grub Rescue错误,我曾经多次碰到这个错误,一般都是因为把Grub安装在移动硬盘或者硬盘上引起的(不是安装在C盘中),在网上找了很多办法,什么PE修复,什么DOS下修复,都不能解决,现在想一下,应该是Grub的优先级高于MBR,而MBR并没有损坏,当时GRUB的引导目录又在移动硬盘上,一旦把移动硬盘上的linux安装分区删除掉之后,GRUB无法找到引导目录,所以就显示grub rescue了,这种时候可以通过root (hd0,0)类似的方法来查看硬盘分区情况,然后chainloader +1命令加载分区达到启动效果,但是这种方法貌似不能修复。

    下面我就来提供一个更加直观的办法,没什么难度,只是准备工作稍微麻烦了一点,你需要一个linux启动U盘或者光盘。


Linux 启动U盘制作工具下载:Universal USB Installer
多重Linux启动U盘制作工具:YUMI – Multiboot USB Creator     




    方法来源:百度知道

    用U盘直接启动,在U盘上运行linux,打开终端,输入以下内容:

(下面是基于debian的系统,其他系统自己转换命令)

sudo apt-get install lilo
sudo lilo -M /dev/sda mbr

     lilo是一种以前的引导组件,现在基本上已经被放弃了,大部分系统采用的都是grub引导,通过lilo就可以修复MBR的正常引导了。

建议的多系统安装引导方式:

    上面讲到了修复,但是这只是治标,治本还得改变引导方式,我个人更加喜欢用Windows来引导linux,因为Windows是我使用的主系统,linux更多只是用来调试的,所以我推荐大家用EasyBCD来引导启动项。

    具体的安装办法是,Windows不动,然后清理出几十个G的未分配空间给linux用,在安装linux的时候再来自定义分区,根目录/和交换空间swap我就不多说了,关键是在于/boot的单独分区,而且这个分区最好在200M以上,然后将引导项也就是GRUB安装在/boot分区当中。分好区安装好之后重新启动,这时候不能进入linux,还需要用之前提到的EasyBCD来引导:

    在EasyBCD中新添加一个启动项,然后选择linux,Device选择你安装grub的那个/boot分区,然后保存,大功告成,重启试试,你会发现linux的Windows的启动菜单中已经有linux了,以后进入linux直接从Windows的MBR下就行了,没有出现grub rescue的风险,更没有重装Windows的风险。如果你觉得这篇文章不错,点击一下文章下面或者网站首页右上角的喜欢按钮吧,(图片中的广告也可以哦)你也可以打开左边的弹出式分享菜单把这篇文章分享给其他人….

0
希望看到您的想法,请您发表评论x