红联Linux门户
Linux帮助

一块硬盘上安装XP,Ubuntu和CentOS三系统,并安全解决grub引导问题

发布时间:2008-08-23 00:57:41来源:红联作者:Dynsou
先前我已经安装了Ubuntu,说实话Ubuntu安装真是简单,而且他也不需要你格式化你的磁盘,你只要空一定的空间就可以了,当然把一个盘格式化了更好,这个就不细说了,凭着感觉来就行了,安装好之后Grub也会写好,Ubuntu和XP都在里面。

后来我又想安装centOS,用某位大哥的话Ubuntu是私家车,RedHat/CentOS是货车,虽然都是车但是还是有不同的,而且企业一般都开货车,所以咱也想去开开货车,于是就下载,刻盘,安装。默认安装的时候CentOS会检测到你的linux分区,并且是要删掉上面的内容来安装他自己,还好我看见了,没有一直Next,否则我的Ubuntu就惨遭毒手了,于是我又回去删掉一个分区(这时如果不做任何修改的话,Ubuntu建立的grub已经损坏了),再次安装,选择安装在空闲空间上,下面自己看着办,过程因人而异。

安装好了之后,重新启动,Grub只有CentOS,没有Ubuntu和XP。不要慌张,Grub坏了不是大事情,系统都还在。下面着重说说如何重写Grub,让三个系统都可以被引导。

换成Ubuntu的LiveCD,使用光盘上的Ubuntu进入,让我们找到这个两个Linux系统的grub文件夹,每一个Grub下都有一个menu.lst文件,用root权限打开它,我发现CentOS的里面很干净,我们需要的是一下的内容

title CentOS (2.6.18-92.el5xen)
root (hd0,12)
kernel /xen.gz-2.6.18-92.el5
module /vmlinuz-2.6.18-92.el5xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
module /initrd-2.6.18-92.el5xen.img
title Other
rootnoverify (hd0,0)
chainloader +1

其实可以看出,CentOS也是给其他系统留了位置,我觉得可能是我的前面的grub损坏,所以就没有加载其他的操作系统,不过这也无从考证了。

再打开Ubuntu的menu.lst,把上面的内容加到有类似内容出现的位置即可,比如放到最后面,最后面的一般是Windows操作系统,记得把title Other那些删掉。保存Ubuntu的menu.lst,退出。

然后打开Ubuntu的终端,输入sudo grub进入grub命令台,再次输入root (hd0,9),然后回车。这里的hd0代表是第一块硬盘,9是Linux分区(Ubuntu)的标号,如果你不知道你的Ubuntu的分区标号是多少的话,在输入“,”之后按Tab键就会出现你的硬盘上各分区的情况,找那些Filesystem type is ext2fs的。下一行输入setup (hd0),再回车。

出现几个yes和succeeded就OK了,重启吧。不出意外你的所有系统都可以启动了。当然这种恢复Grub的方法也可以用于其他的造成grub错误的情况。
文章评论

共有 6 条评论

  1. tkfly0324 于 2008-12-03 16:02:28发表:

    楼主好强

  2. kaiyinlee 于 2008-12-03 09:53:41发表:

    XP+FEDORA 装了,XP+VISTA+FEDORA也类似,
    4个以上就不会了,分区和引导很多问题没搞明白。

  3. young1977 于 2008-08-25 01:22:24发表:

    那不都一样吗?有什么值得炫耀的呢?两个与六个有何区别? 一块IDE硬盘可以分63个区,装63个也没问题,关键是你愿意动手。

  4. dumin0120 于 2008-08-24 11:01:24发表:

    如果硬盘是ntfs的行不行呢??????

  5. cxc5115 于 2008-08-23 11:39:44发表:

    引用:
    原帖由 qu898 于 2008-8-23 09:53 发表
    我更利害,在一台电脑上装了6系统:XP+VISTA+OS X10.7+UBUNTU+FEDORA+OPENSUSE,每个系统都顺利启动.

    那你也传授下GRUB启动的经验那

  6. qu898 于 2008-08-23 09:53:38发表:

    我更利害,在一台电脑上装了6系统:XP+VISTA+OS X10.7+UBUNTU+FEDORA+OPENSUSE,每个系统都顺利启动.