捣鼓了几天终于顺利的在win7上安装上CentOS7了,现在给大家分享下个人的经验。

参考文章:

        http://www.cnblogs.com/Johness/archive/2012/12/03/2800126.html

        http://fyq891014.blog.163.com/blog/static/20074019120136163938790/

1、难点介绍:

(1)linux系统能识别windows下FAT32文件系统,不能识别NTFS文件系统,所以在linux安装时,选择任何sda都不行,FAT32可以
(2)FAT32文件系统单个文件不能超过4G
(3)CentOS 6.4文件大于4G
结论:在win7下使用FAT32和NTFS系统存放安装ISO都不可行,则要想办法用工具分出一块linux文件系统,如:ext3,不受4G的限制

2.工具的准备

(1)EasyBCD:设置引导启动用

(2)EaseUS Partition Master 10.1:用于格式化成ext3

(3)Ext2Fsd:在win7下挂载linux文件系统ext2、ext3等

(4)WinGrub:只是为了看一下分区编号,其实很鸡肋,没有也可以,需要一个个地实验
     ps:分区编号,在配置grub时候要用上。

(5)CentOS 7: 64位安装文件,这个是必须有的。

Win7下硬盘安装CentOS7!_硬盘安装


3.准备一个空的盘符,最好是最后一个,而且不在逻辑分区内。

如果最后一个是逻辑分区的话,可以用EaseUS Partition Master 10.1转化成主分区,然后再删除。

(ps:我试过在倒数第二个分区安装,但是在划分/boot大小时候只能是2m,怎么也改不了,难道只是CentOS 7的缘故,至于到底是什么原因,目前还不知晓,望知情人士透露,感激不尽。)

    好了!准备工作完成之后我们开始吧! 

    首先,用EaseUS Partition Master 10.1将最后一个磁盘删除,然后在新建一个10g的ext3分区来存放CentOS 7 镜像文件。Windows是不识别ext2、3等linux文件系统的,所以创建好ext3分区之后要用ext2fsd工具将ext3文件系统挂载到win7上,如下图:

a:分区(ps:大家不懂用这个工具的话可以换其他的,或者找下EaseUS Partition Master 10.1的教程,这里我自己是分了将近50g的空间来放置CentOS 7 镜像文件)

  Win7下硬盘安装CentOS7!_硬盘安装_02


b:利用ext2Fsd工具启用支持ext3的功能,并给刚才划分ext3文件系统分配盘符。

   Win7下硬盘安装CentOS7!_win7_03

右键刚才分出来的ext3文件系统,添加-加载并推出-返回,看到ext3有盘符就说明可以了,如果没有就只执行刚才的操作。


Win7下硬盘安装CentOS7!_CentOS_04


Win7下硬盘安装CentOS7!_硬盘安装_05


Win7下硬盘安装CentOS7!_win7_06


Win7下硬盘安装CentOS7!_win7_07

c:将CentOS 7 用虚拟光驱加载,将里面的p_w_picpaths、isolinux文件夹复制到10g的ext3文件系统中,同时也要把CentOS 7镜像复制到10gext3里面。


Win7下硬盘安装CentOS7!_硬盘安装_08


       其次,做完上面的镜像准备工作之后就要开始配置grub了。配置的时候要用winGrub查看下10g ext3文件系统盘的分区号,然后在grub中写下如下配置:

title CentOS 7
root (hd0,6)
kernel (hd0,6)/isolinux/vmlinuz linux repo=hd:/dev/sda7:/
initrd (hd0,6)/isolinux/initrd.img

ps:这里的分区号就是用winGrub检测出来10g ext3的分区号,title后面的名字可以自定义,如果vmlinuz后面的 linux repo=hd:/dev/sdax:/这句话没有,就会出现/dev/root does not exist的提示,这是因为缺少这个指定,grub会找不到vmlinuz的位置,这是我感觉很奇怪的地方,不是明明指定了路径了么,怎么会找不到呢!目前是发现CentOS 7 这样而已。有人可能发现(hd0,6)和sda7相差1的差别了,貌似是CentOS中分区号是从1开始的。


没有指定linux repo的错误提示:


Win7下硬盘安装CentOS7!_win7_09


a:找出10G ext3分区号


Win7下硬盘安装CentOS7!_CentOS_10

Win7下硬盘安装CentOS7!_CentOS_11


b:配置grub。添加新条目-NeoGrub-安装-配置-保存退出

Win7下硬盘安装CentOS7!_win7_12


    然后是安装(因为没有截图,所以就只拿CentOS6.4的过来,基本的安装过程差不大。安装时候在选择语言时候悬赏中文支持,免去到时候安装中文支持的麻烦!)


安装CentOS过程:

  重启选择NeoGrub引导

Win7下硬盘安装CentOS7!_硬盘安装_13

  一步步安装

  Win7下硬盘安装CentOS7!_win7_14

  Win7下硬盘安装CentOS7!_硬盘安装_15

  语言选择,上面的表示简体中文,默认选中英语

  Win7下硬盘安装CentOS7!_CentOS_16

  这里是说你把安装文件DVD放到哪儿了?你一个个试吧……我不是很确定你的磁盘分区

  下面的图片表示开始安装了

  Win7下硬盘安装CentOS7!_win7_17

  继续下一步(Next)

  Win7下硬盘安装CentOS7!_win7_18

  区域选择,选到亚洲/重庆

  Win7下硬盘安装CentOS7!_win7_19

  到了这里是让你选择你系统安装所要使用的磁盘空间,最好是选择下面的选项表示你要自定义(PS:这个地方最好选择这项,选择其他会出现什么空间不足的错误

  Win7下硬盘安装CentOS7!_硬盘安装_20

  开始自定义了PS:这里用到的就是之前留给CentOS安装用的未格式化分区

Win7下硬盘安装CentOS7!_硬盘安装_21

  选中Free(空闲),继续

  Win7下硬盘安装CentOS7!_CentOS_22

  Win7下硬盘安装CentOS7!_CentOS_23

  默认就好,继续

  Win7下硬盘安装CentOS7!_win7_24

  按照图上的分配吧,大小(Size)以MB计算,我设置了100G,你可以按照自己的实际情况来分配

  Win7下硬盘安装CentOS7!_硬盘安装_25

  好了,点击下一步

  Win7下硬盘安装CentOS7!_win7_26

  点击确定(Yes)

  Win7下硬盘安装CentOS7!_硬盘安装_27

  继续   Win7下硬盘安装CentOS7!_CentOS_28

  这里需要更改设置,它默认把启动文件放到Windows所在分区,这样会损坏Win7的启动文件

  Win7下硬盘安装CentOS7!_win7_29

  继续,选择安装模式,多种,任君选择(PS:如果想用win7一样用CentOS,就选Desktop,minimal只能用命令行

  Win7下硬盘安装CentOS7!_win7_30

  开始安装了

Win7下硬盘安装CentOS7!_CentOS_31

  安装完成

Win7下硬盘安装CentOS7!_CentOS_32

  重启电脑


        最后,找回win7启动项。

        CentOS7安装好之后,原先的win7启动项就会消失,这时候有两种办法可以找回来。ps:我只知道两种而已。

    第一种暴力直接,但是有效果。(个人比较推荐第二种方法!)

    进入pe重建C盘的主引导记录,然后进入win7,在bcd中添加新条目-Linux/BSD-驱动器选择200m的linux(/boot)

Win7下硬盘安装CentOS7!_CentOS_33


    第二种就是在CentOS 7中添加Win7的启动项(还没研究透如何设置win7默认,grub2的模块还没理解啊!!)

    修改/etc/grub.d/40_coustom 添加如下内容:

    menuentry "Windows7"{

     set root=(hd0,1)

     chainloader +1

    }

    然后用grub2-mkconfig -o /boot/grub2/grub.cfg重建grub2引导。

    最后,整个过程就是这样,希望对大家有帮助!

后记:

    刚开始引导CentOS 7的时候报错的提示不是/dev/root does not exist 而是直接就无法加载\NST\NeoGrub.mbr 如图:

Win7下硬盘安装CentOS7!_win7_34

    经过几次试验时候发现了问题的根本所在,Win7系统的引导不是写在C盘的,而是写在一个350m的隐藏分区中,而easyBCD是写在从盘中,所以果断的重装了系统,让把MBR下载C盘下,之后引导果然成功。当时猜测是这个问题而已,然后没多想就直接重装了,后来想想,直接删除隐藏的350m分区然后在系统盘上重建下MBR不久行了么,只能怪自己当时被折腾的太厉害,想不到那么了,欠缺冷静啊!

(ps:其实后面删除隐藏分区的做法,自己还没试验过,只是猜想,如果大家也遇到同样的问题,就试试看吧,如果成功就不必装系统了。希望对大家有所帮助!当然如果有错误的地方也希望大家留言,感激不尽!)