说是双系统,其实是三系统(还包括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不一样,即使是不作任何改变地在同一分区重装亦如此。