花了一天时间,终于在老本上折腾好了Win7+CentOS的双系统,记录一下安装步骤。
- Win7下的分区设置
在Win7中利用分区助手从F:中划出30G自由空间,再将30G中的10G建立新分区I:格式为FAT32,还剩余20G自由空间。其中10G的I盘用于存放硬盘安装CentOS所需的镜像文件,20G的自由空间即为Linux所分硬盘大小,可根据需要自行调整。
- 硬盘安装的准备工作
将CentOS的镜像文件即CentOS-6.3-i386-bin-DVD1.iso拷贝至I盘,并用WinRAR打开CentOS-6.3-i386-bin-DVD1.iso将其中image文件夹和ioslinux文件夹中的vmlinuz、initrd.img文件解压到I:分区。
下载wingrub工具选择工具栏中Tools->Partiton List,查找并记录刚才创建的分区I的Name,格式应为(hd0,X),我的为(hd0,7)。
下载EasyBCD创建多重启动,添加新条目->NeoGrub->安装
再选择配置,进入menu.lst编辑。将如下代码复制到menu.lst
title install CentOS6.3 kernel (hd0,7)/vmlinuz initrd (hd0,7)/initrd.img
其中(hd0,7)即为之前记录I:的值。保存退出,至此硬盘准备工作完成。
- 硬盘安装
重启,选择NeoGrub Boot loader启动项进入CentOS的安装。
在选择安装路径时,选择/dev/sdaY,其中Y=X+1,X即为刚才记录的(hd0,X)。这是因为(hd0,X)为grub中的硬盘分区编号,从0开始;/dev/sdaY为Linux中设备文件名,从1开始。所以我这应为/dev/sda8。
一路安装至CentOS分区设置,选择Create Custom Layout。选择sda8下面的空闲空间,即之前预留20G的自由空间,分1G为swap,其余为ext4格式的根分区/。
之后选择引导加载程序(boot loader)的安装位置,应安装在MBR中。在下方操作系统列表中,应有一项为Other即为Win7系统,可编辑名称为Windows7,并根据需要选择默认操作系统。
之后按照说明完成剩余步骤,此时Win7+CentOS双系统安装完成。
- 清理工作
重启,此时MBR中已经为CentOS的引导装载程序grub,可选择进入Win7或者CentOS。进入Win7,在EasyBCD中删除之前创建的启动安装项NeoGrub Boot loader。
至此,整个安装及清理已经完成,但我选择将删除安装时划分出来的I:并将其合并至F:,这一操作导致分区表发生变化:
操作前 | 操作后 | |
C:(Windows7引导程序所在分区) | (hd0,0) | (hd0,0) |
Extended分区(包括D、E、F盘) | (hd0,1) | (hd0,3) |
swap | (hd0,2) | (hd0,1) |
/(CentOS引导程序所在分区) | (hd0,3) | (hd0,2) |
但grub的配置文件menu.lst中仍为操作前的分区情况:
default=1 timeout=5 splashimage=(hd0,3)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.32-279.el6.i686) root (hd0,3) kernel /boot/vmlinuz-2.6.32-279.el6.i686 ro root=UUID=70499906-706d-4bc1-ac59-8202b9efb98c rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /boot/initramfs-2.6.32-279.el6.i686.img title Windows7 rootnoverify (hd0,0) chainloader +1
使得开机时,只能进入grub shell环境,无法进行操作系统各自引导加载程序的选择。只能使用grub命令手动进入操作系统再进行配置:
#进入Windows7 grub> root (hd0,0) grub> makeactive grub> chainloader +1 grub> boot #进入CentOS grub> root (hd0,2) grub> kernel /boot/vmlinuz[tab] ro root=/dev/sda3 rhgb quiet grub> initrd /boot/ininramfs[tab].img
进入CentOS后配置/boot/grub/menu.lst:
default=1 timeout=5 splashimage=(hd0,2)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.32-279.el6.i686) root (hd0,2) kernel /boot/vmlinuz-2.6.32-279.el6.i686 ro root=UUID=70499906-706d-4bc1-ac59-8202b9efb98c rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /boot/initramfs-2.6.32-279.el6.i686.img title Windows7 rootnoverify (hd0,0) chainloader +1
并在终端中恢复grub:
sudo grub find /boot/grub/stage1 root (hdX,Y) setup (hdX) quit
- 参考资料
Win7下硬盘安装Linux(http://hi.baidu.com/sf_chipan/item/59c3272d425bf72e43634a6b)
删除Linux与恢复grub(http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=65991)