前不久发布了fedora17,第一个想法就是实际体验。过去因为学习嵌入式需要linux环境,故系统都安装在虚拟机中,但是这样对于低配置电脑来说完全就是晴天霹雳;并且linux装在虚拟机中并不能发挥他的极致,有些实验也得不到完好的效果(网络视频监控系统效果确实不佳)。于是这次我狠下心要安装双系统,不过安装的过程中还是遇到了很多的问题的,以下是我安装前收集的一些参考资料。
http://hi.baidu.com/sf_chipan/item/59c3272d425bf72e43634a6b
http://www.linuxsight.com/blog/3825
我的主系统是XP,经过多日来的反复操作,我也总结了我的解决方案。虽然安装fedora17有很多方法,我建议采用grub2来安装,毕竟系统默认都是采用greb2来引导启动(grub比较老了不推荐)。
1. 硬盘分区。
我是直接将硬盘划分出80G的空间来作为linux的磁盘分区,为了让双系统完美兼容需将这80G空间完全从拓展分区中隔离出来(删除),这样做XP就不会卡了。然后准备一个4G大小的FAT32用来存放安装包ISO文件(我尝试过NTFS,fedora系统确实不支持此文件类型),这个4G不仅仅可以作为临时安装用,还可以存放windows的页面文件(一般页面文件是内存的1.5-2倍)算算也不会超过4G,因为物理内存够大的话,页面文件甚至都可以关闭,这里也是起到一个优化windows的作用。注:这些磁盘格出来都要放到磁盘的末尾,下图为已经安装好fedora17的分区布局、
2. 安装GRUB2并写好脚本。
下载GRUB2的windows版本,并将其解压到C盘,然后运行C:\grub\install\grub24dos.exe进行安装,其实最主要的目的还是写boot.ini的启动文件(也可以手动添加:我的电脑->属性->高级->启动和故障恢复->点击设置按钮后弹出窗口点击编辑就会弹出boot.ini的文件内容添加一行C:\grub\winloader\grub.xp.stage1="Grub 2 For Dos"即可)。将C:\grub\guib.cfg重写,内容列出如下(以下有几种GRUB2的安装方法,建议用方法3):
menuentry "1. install fedora 17"{ insmod fat linux (hd0,msdos6)/vmlinuz linux repo=hd:/dev/sda6:/ initrd (hd0,msdos6)/initrd.img } menuentry "2. install fedora 17" { insmod fat loopback loop (hd0,6)/Fedora-17-i386-DVD.iso linux (loop)/isolinux/vmlinuz linux repo=hd:/dev/sda6:/ initrd (loop)/isolinux/initrd.img } menuentry "3. auto install fedora17"{ insmod fat insmod loopback search --set -f /Fedora-17-i386-DVD.iso loopback loop ($root)/Fedora-17-i386-DVD.iso linux (loop)/isolinux/vmlinuz linux repo=hd:/dev/sda6:/ initrd (loop)/isolinux/initrd.img }以上内容可以完全覆盖grub.cfg文件,第一种方法需要将ISO文件中的isolinux目录下相应文件解压出来并共同放在根目录下;前两种方法均需要指定安装包所在路径,后两种方法可以不解压安装包的任何文件,这里的msdos6可以用6代替,主分区从1-4,拓展分区为5之后(这里主分区是C盘及为1,D盘为5,我放在D后的一个FAT32盘中则为6)。这些也不是固定的,需要具体情况具体分析;第三种方法是我建议的,这个方法不用指定安装包,自动搜索路径。注意:从fedora17就不支持askmethod了,只能用repo,如果repo指定的路径不对,安装中会提示你没有合适的安装包,我是这样解决的在dos中直接键入ls /dev/sda然后tab补全就知道有哪些sda了,根据自己磁盘的情况也能猜出安装包的位置。
grub我也尝试过,并且成功安装了fedora17,这里我也简单介绍下;下载windows版本的grub,将其中的grldr解压到C盘根目录,再新建一个menu.lst文件,内容如下:
title initall fedora 17 kernel (hd0,4)/vmlinuz linux repo=hd:/dev/sda5:/ initrd (hd0,4)/initrd.img以上方法需要将ISO文件中的isolinux目录下相应文件解压出来并共同放在根目录下;这里也需要注意一些关于grub2的区别,(hd0,4)这个4序列是从0开始的而grub2改为从1开始了,grub不支持ISO中直接读取,故只能解压isolinux目录中vmlinuz和initrd.img于根目录下。