GPT下rEFInd引导Windows8.1和CentOS双系统


1、安装windows8.1   [先装windows8是因为它会默认创建2个隐藏分区]
     光驱启动, 全新安装windows8.1,默认采用GPT分区表,安装过程不做详述。500G硬盘,分区情况:

关于GPT与MBR的区别可以查看】

  • 分70G做windows系统盘即C盘,会生存两个隐藏分区,一个300M恢复区和一个100M格式为FAT32的EFI分区用于存放引导文件,要想双系统引导后面主要就是操作这里了。

  • 划分三个102400M(100G)分区,作为D、E、F盘。

  • 剩下的不划分。


2、安装centos6.5
     光驱启动,简要说下分区情况: 选择自定义分区 ——>


  • / 分区  10240M   (10G)

  • swap分区 4096M (4G)

  • /var  分区 10240M  (10G)

  • /home 分区 20960M (20G)

  • 其余不划分

  注意 在最后面能进入centos系统前会选择启用一个dump恢复分区默认128m
   安装过程不作详述

3、安装好后会重启系统,[默认会进入windows,发现不会有centos的启动项]
既然进入windows,那就再作两件事:

  • 进入磁盘管理,再划分一个500M FAT32格式的分区J,可以直接挂载在linux下;

  • 下载一个引导管理工具:rEFInd  (百度) ,下载下来后解压并拷贝到J分区

注意 解压后里面有个docs文件夹,里面就是这个工具的介绍和使用说明

4、重启,选择从光驱启动进入 centos的rescue模式

  • chroot /mnt/sysp_w_picpath    切换到根目录

  • mkdir -p /mnt/efi          在mnt目录下新建efi目录

  • mount -t vfat /dev/sda2 /mnt/efi    将windows下隐藏的EFI分区,linux下默认是sda2分区挂载到/mnt/efi/目录下

ls  /mnt/efi/  可以看到里面有个EFI目录 即可以看到和操作EFI分区里的文件了,默认有一个BOOT和Microsoft目录

  • cp /boot/efi/EFI/redhat  /mnt/efi/EFI/   拷贝linux 的EFI引导文件到EFI分区


5、安装refind第三方启动管理器

  • mkdir -p /mnt/refind   在mnt目录下新建refind目录

  • mount -t vfat /dev/sda12 /mnt/refind  将最后分的fat32分区挂载到/mnt/refind目录下

ls /dev/  可以看到最后有个sda12 来确定就是我们最后划分的500Mfat32分区
     ls /mnt/refind  可以看到我们下载解压的rEFInd所在目录refind-bin-0.7.6文件夹了

  • cd /mnt/refind/refind-bin-0.7.6/  进入rEFInd所在目录

  • ./install.sh   运行安装脚本

此时发现报错,提示该安装工具必须将EFI分区挂载在/boot或/boot/efi目录下

  • mount -t vfat /dev/sda2 /boot    将EFI分区即sda2挂载到/boot目录下

  • ./install.sh  再次执行脚本,提示安装成功


6、查看/mnt/efi目录发现里面有BOOT、Mircosoft、redhat、tools目录,即安装成功refind后,发现EFI分区里面只多了一个tools目录 查看该目录是空的。因此需要将refind安装包里的refind目录拷贝到EFI中。但直接复制refind目录到EFI分区下,这样启动时还是会默认进入windows。并不能进入refind管理器。到了此处就有两种思路:
1)、将refind目录下的文件拷贝到EFI分区下的Mircosoft/Boot下。并重新进入windows下载EasyBCD 2.2 ,通过修改windows启动菜单进入refind
【至于refind的配置可以看思路2中refind.conf详解部分】

2)、将refind和windows默认引导文件替换掉[下面详解该思路]

  • cd /mnt/efi/EFI/      进入EFI分区

  • mv Mircosoft/Boot  windows             将Microsoft/Boot目录改成windows目录

  • cp -r  /mnt/refind/refind-bin-0.7.6  Mircosoft/Boot           将refind目录拷贝成Microsoft/Boot目录

  • cd Mircosoft/Boot/      进入Mircosoft/Boot目录下,ls可以看到是refind的一些文件及目录

  • rm -rf drivers_ia32 tools_ia32  refind_ia32.efi      删除这些32位系统文件  (此步可略)

  • mv redfindx_64.efi  bootmgfw.efi     系统启动默认会找bootmgfw.efi文件,用refind的替换

  • cp refind.conf-sample  refind.conf       拷贝refind的配置文件

  • vi refind.conf   编辑refind配置文件

其实安装好后不需要编辑refind配置文件,就可以重启引导系统了,但此时会发现开机进入refind界面后有很多重复的或多余的引导菜单。且有的根本无法引导系统,因此就需要编辑refind.conf文件。
主意:上面每次重启如果都不能正常进入centos,则都可以先从光驱进入rescue模式,进行操作。
 在下载的refind包里的docs目录下可以查看该工具的所有帮助文档[E文]。
【查看关于refind.conf文件所有选项及参数的详细说明(中文)】
下面给出本文有关refind.conf文件的配置示例:

# Sample refind.conf file
timeout 0
banner my.bmp
scan_driver_dirs drivers,EFI/tools/drivers
scanfor manual
default_selection CentOS


menuentry "CentOS 6.5" {
   icon /EFI/tools/cons/os_centos.icns    
  loader /EFI/redhat/grubx64.efi
}

menuentry "Windows 8.1" {
   icon \EFI\tools\cons\os_win8.1.icns
   loader \EFI\windows\bootmgfw.efi
}


注意:本文的os_centos.icns及os_win8.1.icns是自定义图标,大小为144*144的icns格式,可以在线转换
将选择好的或自己做好了图片转换成icns格式,【在线转换网址: http://iconverticons.com 】放置到tools/icns目录下。
现在重启系统是否OK啦?!

下面放张图 :

Windows8.1和CentOS6.5双系统安装_第1张图片

——————————————————————————————————

最后:在windows8下识别ext2/3/4格式的linux分区