|
发表于 2008-12-8 00:02:29
|
显示全部楼层
X200... 
Post by mexi;1916525
原创哟,可以申精的么?
先说说我机器的情况:
我的机器是Thinkpad X200,总体上F10对硬件的支持还是不错的,就是摄像头不能用,但也与此无关;硬盘160G,开始分了四个区:10G主/20主/20扩展/100主,的确是Vista太烂了,所以还是重新格掉;第一个主分区拿来做还原系统了,第二个分区拿来装了XP,因为Linux的分区一般会多一点,比较复杂,所以就把20G扩展分区留给fedora了,最后一个分区格成NTFS,方便交换资料。
因为我用惯了PE和WinPM,Windows的MBR修复起来又比GRUB要方便,所以我习惯使用OSLoader(ntldr)来装载grldr引导各种系统,比如PE,SLAX,GHOST(不要鄙视我:-);如此我更习惯于使用GRUB4DOS而不是直接把GRUB安装到MBR,因为这样可以使实现功能文件尽可能的集中到一个分区。GRUB4DOS版本是0.4.3。
在F10正式版发布之前,我下载过一个livecd版来安装,因为是在朋友的机器上,所以就没有把grub安装到mbr了,然后就考虑使用GRUB4DOS来启动,不过实际上GRUB4DOS虽然可以root这个分区,但是使用kernel命令的时候是找不到内核文件的,亦即根本是无法启动linux的,只好郁闷的用虚拟机玩了一下。
网速比较慢,直到昨天我才下好fedora的光盘镜像,考虑到如上文的原因,第一次安装我并没有把GRUB安装到MBR;因为之前用的不是正式版,所以我仍抱有一些侥幸心理,不过实际上GRUB4DOS仍然没能载入kernel,报错还是“错误的文件名”。不过一个细节引起我的注意,那就是对于ntfs格式分区的文件名,GRUB4DOS是可以自动补全文件名的,然而对于ext3分区却不能,所以我猜测GRUB4DOS并不能很好的支持ext3分区。
为了验证我的想法,我把kernel和initrd.img文件拷贝到第一个分区下并且修改了menu.lst文件,增加的内容如下。
title Fedora 10 ( test 1 )
kernel /vmlinuz-2.6.27.5-117.fc10.i686
initrd /initrd-2.6.27.5-117.fc10.i686.img
boot
实际上kernel被正常载入了,问题是没能够挂载系统分区,因为安装的时候出了一些小毛病,跟分区容量和UUID都发生改变了,所以找不到根分区了。
不过这也足够了,因为这意味着使用GRUB4DOS启动fedora是可行的。
我重新安装了一次fedora 10,为了以防万一,就把GRUB安装到了MBR。完成安装以后就用WinPM把MBR备份成fedora.mbr文件并且恢复成Windows的MBR。这次很顺利:即使没有把kernel和initrd.img文件放在Linux的分区里,启动也是可以完成。
不过我也想到了另外一种途径,这种方法会比上者更安全一些,那就是用用GRUB直接载入fedora.mbr。代码如下:
title Fedora 10 ( with MBR )
chainloader /fedora.mbr
boot
这样启动使用的内核文件是linux分区下内核文件,而前者是拷贝到出来的内核文件。
更有趣的是使用OSLoader也是可以装载fedora.mbr文件的,只需要在boot.ini文件中增加一行:
C:\fedora.mbr="Fedora 10"
额外的尝试:
对于GRUB,其所能支持的文件格式通常依赖于GRUB目录下的一批文件。因为用fedora安装好的GRUB可以正常载入,所以我就考虑给GRUB4DOS“升级”一下(笑):我把GRUB4DOS所产生的GRUB目录给删掉了,然后用fedora系统boot目录下的GRUB目录替代了它。不过实际上GRUB4DOS仍然没能认出linux分区下的内核文件,所以我就放弃了这个念头,不知道那位大大有解,洗耳恭听>_<。
此处附上部分已经确认有效的menu.lst文件( fedora根分区是hd0,4 ):
# 设置图形背景文件: set the background file
splashimage=/splash.xpm.gz
# 启动本地的Windows XP
title Windows XP
rootnoverify (hd0,1)
chainloader +1
# 启动本地的Fedora 10
title Fedora 10 ( with MBR )
chainloader /fedora.mbr
title Fedora 10 ( with Kernel File )
kernel /vmlinuz-2.6.27.5-117.fc10.i686
initrd /initrd-2.6.27.5-117.fc10.i686.img |
|