Monday, December 11, 2006

多操作系统混装纪实(二)----Writen by welv

Windows的启动菜单既然恢复起来了,linux就简单了,重新用SUSE10的安装盘引导,修复Grub bootloader即可。

由于暂时还没完成虚拟机xen的研究,于是在SUSE10上运行Redhat AS3也就化作了泡影,只能铤而走险,再装一个系统了,如果失败,将意味着先前所安装的三个系统全部功亏一篑,只有哭的份了...

应该说,linux的双系统安装要比windows简单,可从来没试过,所以显得有点虚。

事先考虑了一下,觉得问题最大的地方是在分区的时候,要注意不能误删SUSE的,swap分区可以共用,不必额外划分,只利用一块未分区空间作为其根分区即可;其次就是bootloader了,由于想保留SUSE实用的引导菜单,决定不再安装AS3的bootloader而选择在安装后进入SUSE配置。

和预期结果吻合,AS3装完后没有任何影响到SUSE,可以说跟没装一样,于是工作重心转移到如何引导起AS3:

SUSE下有个GUI系统管理工具YaST2,相当好用:YaST2-->System-->bootloader
有这么个类似于windows里的那个bootpro一样的配置程序,很直观,你可以很清楚地指定你所要引导的OS,不管是windows还是linux,不过有些小小的bug,只许引导本分区的kernel,这可就为难我了——我的OS可是一个分区一个的,难不成要把AS3的拷到本分区的boot目录下?

只好尝试了一下再说了,于是先将安装了AS3的分区mount到SUSE下的/AS3目录下,紧接着copy它的vmlinuz和initrd到SUSE的boot目录下,执行bootloader配置程序,添加一启动项,kernel文件就用前两个,Root Device指向AS3的根分区(eg:/dev/sda6),之后保存重启,结果不成,报了个什么"无效分区格式"的错,SUSE默认的文件系统格式是reiserfs,而AS3默认的是ext3——一下子让我心凉了半截,这可怎么混?

还不死心,不能就这么完了呀,于是又翻出来那张SUSE安装盘(真是好东西啊),引导--〉修复,这里的菜单跟系统里的差不多,也不能自动找到AS3,但是有点区别是,它可以让我选择添加其他分区的,于是赶紧这样填上:/AS3/boot/vmlinuz-2.4.21-20EL,(/dev/sda6,root=/dev/sda6)

保存重启...进入启动菜单--〉选"Reahat AS3"...谢天谢地,成功了!

事后再察看SUSE里/boot/grub/menu.lst,发现是这个样子滴:

# Modified by YaST2. Last modification on Sun Dec 10 22:27:39 CST 2006

color white/blue black/light-gray
default 0
timeout 10
gfxmenu (hd0,2)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE LINUX 10.0
root (hd0,2)
kernel /boot/vmlinuz root=/dev/sda3 vga=0x31a selinux=0 apm=off acpi=off mce=off barrier=off ide=nodma idewait=50 i8042.nomux psmouse.proto=bare irqpoll resume=/dev/sda2 splash=silent showopts
initrd /boot/initrd

###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows
chainloader (hd0,0)+1

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- SUSE LINUX 10.0
root (hd0,2)
kernel /boot/vmlinuz root=/dev/sda3 vga=normal showopts ide=nodma apm=off acpi=off noresume selinux=0 nosmp noapic maxcpus=0 edd=off 3
initrd /boot/initrd


title Redhat AS3
root (hd0,5)
kernel /boot/vmlinuz-2.4.21-20.EL root=/dev/sda6 vga=0x31a
initrd /boot/initrd-2.4.21-20.EL.img

我的系统分布是这样的:
/dev/sda3 /(SUSE)
tmpfs /dev/shm
/dev/sda1 /windows/C
/dev/sda5 /windows/D
/dev/sda6 /AS3(Redhat)

No comments: