CentOS(with XEN)&Ubuntu双系统引导的问题

本文描述了一个三系统(XP、CentOS5.4和Ubuntu10.04)环境下,由于XEN导致CentOS无法启动的问题。在尝试多种方法未果后,发现grub2的bug可能是原因。解决方案包括备份grub2,卸载并重新安装旧版grub,更新启动菜单项,并特别指出了设备UUID和grub中分区编号的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说是双系统,其实是三系统(还包括XP),但问题不在于XP,暂时把它忽略掉。。。
首先系统上有XP,保留之。
然后安装了CentOS5.4(选择安装了Virtualization-->Virutalization,即安装系统的时候安装了XEN)。
最后安装了Ubuntu10.04。
结果:能够顺利进入XP和Ubuntu10.04,但无法进入CentOS5.4,提示说:Error:invalid magic number。
试了网上的各种方法,依然无法进入CentOS5.4。。。
最后看到一个说法:grub2有一些bug会导致xen无法正常启动,所以需要删除grub2,换回老版本grub。。。

基本步骤:
1、备份
sudo cp /etc/default/grub   /etc/default/grub.old
sudo cp -R /etc/grub.d   /etc/grub.d.old
sudo cp -R /boot/grub    /boot/grub.old
2、卸载grub2
sudo apt-get purge grub2 grub-pc
3、安装grub
sudo apt-get install grub
4、更新启动菜单项及安装grub到相应设备
sudo update-grub                         #产生menu.lst;有提示时选择Yes
sudo grub-install   /dev/sdX          #X为a,b,c……一般而言为Ubuntu系统所在设备

XP引导项:
title               Microsoft Windows XP Professional
root               (hdX,Y)
makeactive
chainloader   +1

CentOS引导项:
tiltle              CentOS(2.6.8)
# 启动XEN
uuid              XXXX
kernel           /boot/xen.gz……
module         /boot/vmlinuz……  ro root=LABEL=/ rhgb quiet
moudle         /boot/initrd…….img
# 不带XEN启动
root              (hdX,Y)
kernel           /boot/vmlinuz…… ro root=LABEL=/ rhgb quiet
initrd            /boot/initrd…….img

其他:
1、查看设备的UUID:
sudo dumpe2fs  /dev/sdXY | grep UUID                  # X为设备号,Y为分区;可以查看任意设备的UUID
sudo grub-probe  -t  fs_uuid  /boot/grub                  # 缺陷:只能查看当前系统所在设备分区的UUID
2、注意区别:
grub中第一个设备从0开始,第一个分区从0开始;grub2中第一个设备从0开始,第一个分区从1开始。
3、重装操作系统会导致UUID不一样,即使是不作任何改变地在同一分区重装亦如此。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值