安装过程太心酸了,折腾了整整两天,安装失败了几十次,到现在凌晨3点半,可算把CentOS 7 安装上去了,成功实现了WIN10与CentOS的双系统。

        首先介绍下我的电脑配置,我的笔记本型号是联想Y400,一共有两块硬盘,128ssd(1号) + 1T的hdd(2号),128的SSD没有分区,用来装WIN10和各种windows软件,第二块硬盘用作仓库盘,打算把它作为CentOS的安装盘!

        安装过程:使用软碟通制作U盘启用,这个没什么问题,然后分配安装空间,直接使用了win10自带的硬盘管理工具,为了取得可用空间,在得到未分配空间后使用CMD运行命令窗口输入命令“diskpart”回车,然后在DISKPART>后面输入select disk 1 选择我们的硬盘,然后回车!(当然如果电脑上有好几块硬盘的话,你可以输入select disk X,X代表你的那个硬盘通常为数字0,1,2,3,4等等!由于我电脑中需要使用的是磁盘1,因此,输入select disk 1!)。注意:这一步中要注意磁盘变成动态磁盘的的简单卷,这一步会导致磁盘转换回原先基本磁盘的主分区、逻辑分区的不可逆,需要备份数据后,清空磁盘后才能转换回去,会大大浪费时间。

        在完成准备工作后的安装步骤简单,但是这里有一个问题得注意,需要先拆下SSD,再在HDD上安装CentOS,否则会出现安装完成后无法重启进去CentOS等等各种奇怪问题。安装步骤简单,只需注意(文中图均参考网络):


centos U盘安装 双系统 centos双硬盘安装_centos

       选中第一项,然后按TAB键,然后直接将按TAB键之后出来的文字修改为:>vmlinuzinitrd=initrd.img Linux dd quiet。改好之后回车,然后就会列出你的设备列表了:

centos U盘安装 双系统 centos双硬盘安装_双系统_02

       记住sdb4是我的U盘就行了,然后按电源键强制重启,再次进去安装界面,选中第一项按TAB,然后将底下的命令改成:>vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdb4 quiet,这样就可以进去图形化安装界面了。

       安装选项中,我的安装只选了GNOME桌面(不带任何附加选项),在安装位置中选择如下,选中需要安装在的硬盘,并点击我要配置分区,最后点击完成:

centos U盘安装 双系统 centos双硬盘安装_centos U盘安装 双系统_03

centos U盘安装 双系统 centos双硬盘安装_centos U盘安装 双系统_04

在上图中,选择标准分区,然后通过左下角的“+”号分区,分300mb的/boot分区,30GB的/分区,11GB的/home分区,8GB的swap空间,此时然后点击完成,选择“接受更改”,然后开始安装,设置root密码、创建账户,等安装完成后点击重启(这里需要注意的是swap的大小,一般来说,应该是实际内存的两倍,但是实际内存很大的话,设置8G也够了)。重启后需要安装许可证信息,按照提示依次输入1---2---c---c就行。

      重点:由于在之前的安装中,由于我的电脑是多硬盘,所以在安装Centos7时安装引导只能装在Centos7所在的那块硬盘上(默认的,如果更改也只能选择不安装引导),此时重启后的电脑没有像网上网友所说的那样“只有Centos7的启动菜单,而没有了win10的引导菜单”,我的电脑直接向往常一样直接进入win10的界面,然后启动进入win10,因为我的ssd默认为第一启动盘,而我装Centos7装在了第二块硬盘上,所以对ssd上的东西都没有影响,因此我尝试用第二块硬盘启动(F12选择以第二块硬盘启动),结果是屏幕左上角只有一个点和一个光标,此方法失败(仅仅是我的电脑这样失败了,有网友这样成功过,你也可以试一试),于是乎就在win10下装了一个EasyBCD,经下列设置:


centos U盘安装 双系统 centos双硬盘安装_双系统_05

centos U盘安装 双系统 centos双硬盘安装_HDD_06

       然后重启电脑,就可以看到NeoSmart Linux了(这个名称可以自己改,我改为了“menu list”)。

centos U盘安装 双系统 centos双硬盘安装_HDD_07

        回车进入该启动项列表:



centos U盘安装 双系统 centos双硬盘安装_HDD_08

       有启动项列表了,这下总算弄好了,但是回车后,发现屏幕黑屏,没什么反应,于是强制重启电脑,到CentOS Linux启动项列表这里时,不按回车,按字母“E”键,查看一下启动菜单哪有问题:


centos U盘安装 双系统 centos双硬盘安装_centos U盘安装 双系统_09

       发现这个启动菜单有些问题,我的电脑是两硬盘,而我的CentOS7是装在第二块硬盘上的,上图中我用红色圈出来的那块区域中显然不对,

set root='hd0,msdos2'  指定root为第一块硬盘的第二个分区,这里的root对应的是/boot分区(如果没有单独指定/boot分区的,这个root应该指向"/"分区)。这句配置语句显然与我的实际情况不符,我的Centos7是装在第二块硬盘的,所以应该是hd1,/boot是第二块硬盘的第一个分区,所以这句应改为set root='hd1,msdos1',

if下边那一段和else下边那一段是在寻找/boot分区,并为其设定uuid(全球唯一标示),这个东西知不知道无所谓,你只要知道if和else之间那一段中出现hd的地方都必须是hd1,msdos1就行了(这里我查过我通过虚拟机安装的Centos7的grub.cfg,事实证明确实出现hd的地方都要和root设定的值一致)。

       知道了这个我就进行了临时修改,然后通过ctrl+X执行启动菜单,结果依然无法进入系统,这就令我很郁闷,难道多硬盘引导Centos7就这么困难?

       于是就在网上发帖求教,有个大神告诉我在启动项列表 处选中第一项按"C"(或者在启动项菜单页面按"ctrl+ C")进入   grub>  界面,然后执行(一行一行的执行,不要一次写完再执行)

                   linux   (hd1,msdos1)/vmlinuz-3...    root=/dev/sdb3  (如果/boot分区不为单独分区,则执行linux    (hd1,msdos1)/boot/vm...   root=/dev/sdb2);

                   initrd  (hd1,msdos)/initramfs-3....img   (如果/boot分区不为单独分区,则执行  initrd  (hd1,msdos2)/boot/initramfs-3...img);

                   boot

        上边三行代码,前两行写到数字3时可以按下tab键补齐,root前有空格,其中(hd1,msdos)代表的是/boot分区,root代表的是/分区,所以/boot分区是单独分区和不是单独分区有一点小小差别!

        执行完上边的代码后,看到别人说果真进入了系统,可我依旧在系统门外徘徊,异常捉急,本想放弃双系统想法转而走向虚拟机,但心里依旧不甘心啊。又想到吧SSD拆掉,单独在HDD上安装CENTOS,然后改系统里面/boot/gurd2/gurd.cfg文件,于是从床上果断爬起,开机尝试。

        拆机,拔SSD,安装CentOS,重启,成功进入CentOS系统,修改 boot/grub2/grub.cfg里的linux16与initrd16后的16都去掉,将set之后else之前出现hd的地方都改为了'hd1,msdos1'以及’ahcil1,msdos1'。



centos U盘安装 双系统 centos双硬盘安装_双系统_10


         然后关机,装回SSD,开机进入win10,添加EasyBCD的启动条目(上面已述),重启,进去linux再次失败,抓狂ing。分析问题,这次装的是CentOS 7.3(1611),在重启后进入EasyBCD的gurd命令界面中用cat (hd1, 按tab显示文件的类型为unknown(之前的安装尝试中就发现了,而在CentOS 7.2中可以识别文件类型),猜测是否为EasyBCD并不支持CentOS 7.3的分区文件格式,因此考虑换CentOS7.2,重复上诉步骤,拆机,拔SSD,重新安装CentOS 7.2(1511),修改 boot/gurd2/gurd.cfg中的参数,再装回SSD,设置EasyBCD,重启,竟然真的通过Centos的启动菜单进入系统了。

         至此,SSD+HDD的多硬盘组合下,win10和Centos7双系统的引导终于算是完成了,可算能正常的使用双系统了!

         奇葩的问题:装单系统或是在虚拟机里装Centos7,linux16和initrd16都没有问题,系统可以启动,但是为什么在多硬盘多系统下就无法启动!

 

         此次安装过程中要注意的关键就是:拆下SSD后再安装CentOS 7.2(1511),然后修改gurd.cfg文件,最后设置EasyBCD GURD2启动条目!

         还有一个问题就是这种方法Centos7.3还不能安装成功,不知其具体原因,只能猜测EasyBCD还不能很好的支持Centos7.3吧。