读书人

ubuntu、win7、centos5.3三系统的起动

发布时间: 2013-10-06 18:25:14 作者: rapoo

ubuntu、win7、centos5.3三系统的启动修复

参考:http://blog.renren.com/share/333599940/7902189715

http://blog.163.com/liulianyixin@126/blog/static/8548392420118862849100/

http://blog.chinaunix.net/uid-23823046-id-2657030.html

硬件:联想y450

系统环境:ubuntu12.10、win7、centos5.3

先讲一下我的启动环境,MBR中是ubuntu的grub2,由ubuntu的grub2进行引导。centos5.3通过在win7环境下用EasyBCD进行引导。

由于鸟哥的书籍的磁盘与文件系统管理这一章,有格式化、磁盘分区等内容,但是当时我装centos的时候没有预留下空间,这就难办了。通过win7的磁盘管理,找了一个不用的分区删掉了,然后新建卷,但是突然系统崩溃了。这样就进不了系统了,后来一想,其实不能盲目的删除分区。因为删除某个分区,磁盘的分区表就变了,比如本来sda5现在变为sda9,这样系统肯定启动不了啊。因为我猜想MBR中肯定指定了某个磁盘分区进行启动啊,现在磁盘分区编号变了,启动肯定有问题。

如何解决?

1、在rescue模式下修复MBR中的grub2

幸好,虽然启动不了,但是还是grub的救援模式中。grub救援模式只有有限的命令可以使用。

(1)寻找Ubuntu的安装分区

先使用ls命令,找到Ubuntu的安装在哪个分区:

grub rescue>ls

会罗列所有的磁盘分区信息,比方说:

先ls会显示分区的一些信息,我的是msdos1,msdos2等。

再 ls (hd0,msdos1)/ 或者ls (hd0,msdos9)/ ,或者 hd0,msdos3)/

看看boot文件夹在哪个分区,如果出现什么unknown file system错误之类的肯定不是这个分区。

假设找到(hd0,msdos5)时,显示了文件夹中的文件,则表示Linux安装在这个分区。

(3) 进ubuntu系统

然后依次调用如下命令: X表示各个分区号码

grub rescue>set root=(hd0,5)

grub rescue>set prefix=(hd0,5)/boot/grub

grub rescue>insmod normal

grub rescue>normal

若出现启动菜单,按c进入命令行模式。在命令行模式下输入以下命令,进入ubnutu系统。

sh:grub>set root=(hd0,5)

sh:grub>set prefix=(hd0,5)/boot/grub

sh:grub>linux /boot/vmlinuz-xxx-xxx(输完字母z后,按Tab键补全xxx-xxx)

sh:grub>initrd /boot/initrd.img-xxx-xxx(输完字母g后,按Tab键补全xxx-xxx)

sh:grub>boot

(3)安装grub2

进入ubuntu系统后,按ctrl+Alt+T探出终端。

输入,sudo grub-install /dev/sda,重新在MBR中安装grub2。输入,sudo update-grub2,更新一下grub2菜单。

(4)重启

(5)注意点

live cd修复(硬盘镜像也可以,但是你得会用easybcd启动硬盘镜像)

如果rescue也进入不了的话,可以用live cd修复。请参考http://blog.chinaunix.net/uid-23823046-id-2657030.html。

2、win7环境下用EasyBCD增加centos引导

(1)确定centos5.3所在的分区

首先确定一下centos5.3所在的分区,比如(hd0,7)

(2)新建NeoGrub引导

添加新条目>NeoGrub>安装>配置

在弹出的menulst,删除其中的内容并输入以下内容

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

这个内容在centos5.3系统的/boot/grub/menu.lst文件夹下,用ubuntu去查看吧。

(3)重启

终于写完了,希望对大家有帮助。

读书人网 >操作系统

热点推荐