安装Linux_mint17.3和win8.1双系统(UEFI+GPT模式)简单教程


因为预装win8的系统都是UEFI+GPT的引导,所以用支持UEFI的Linuxmint 17.3与win8.1做双系统比较方便,并能方便的用rEFind做一个间接引导的界面,比较好看方便,遂写此文。

需要工具:

  • rufus-2.2:制作UEFI模式引导的U盘启动盘
  • winPE
  • DiskGenius:硬盘分区
  • Linuxmint 17.3
  • rEFind

介绍步骤前,最好先了解一下UEFI+GPT的原理,其实这里百度贴吧的一篇已经讲得蛮详细了, [ 这里 ]。

不过有点麻烦,我这里更简洁直接些,原理的介绍也直接引用它。

UEFI+GPT模式的启动原理,首先我们来回顾下BIOS引导MBR分区的流程,BIOS开机自检——》读取硬盘MBR分区的主引导记录—》控制权交给引导程序-》引导程序根据安装时候的配置读取各分区记录—》根据各分区已经有的系统情况,列出启动目录—》根据用户选择,启动选择的引导文件启动用户选择的系统。
现在我们来说说UEFI的情况,主板上的UEFI模块—》硬盘内的第一个fat分区,如果分区内有EFI这个文件目录,就根据EFI文件目录的引导文件加载各类型的驱动和引导文件,启动系统同时完成自检。(如果第一个fat分区没有EFI目录则选择第二个,如果第一块硬盘没有,择选择第二块,或者U盘以此类推)

第一步:用DiskGenius给Linux划分分区。可以看到,C盘之前的三个小盘,分别是WINRE(预装系统系统恢复用)、ESP(UEFI引导!)、MBR(主引导区,用来兼容BOIS+MBR模式),其中ESP是我们做双系统最重要的,存放所有系统的引导。最后一个分区为RECOVERY,也是厂商留的,不管它。可以看到我为Linux预先分好了分区8和9,分别作为swap和主分区。

第二步:用rufus-2.2软件制作UEFI模式引导的winpe和Linuxmint安装盘(这步很重要!)(UEFI模式引导的U盘必须是一个Fat32格式并包含Boot和EFI文件夹,来存放系统的引导文件,为.efi格式),按照图中选项设置,注意分区方案要选对,并在下面选择相应的ISO,点开始,制作完即可。(为什么这步重要,因为本人起初制作的不是UEFI启动的U盘,是MBR方式的,结果安装linux的过程中给ESP分区写的很乱,走了很大的弯路,最后好在有备份推导重来。。。)

第三步:也很重要,用winpe启动,(用U盘启动时,由于做的就是UEFI引导的,所以不用把BOIS中的Secure Boot关上,不用动就行,然后选择U盘启动时,U盘名字前是带有UEFI前缀的),备份ESP分区中的内容,这里图片只给一个简单目录,到时候全部备份就好了。主要就是EFI文件夹。
这里写图片描述

第四步:U盘启动,安装Linuxmint 17.3 。这个过程教程太多,就不上图了,值得注意的就是选择自定义安装模式,把swap分区按到之前分好的分区8,把分区9挂载到根目录上。然后不要忽略下面选择安装引导器的位置,这里就直接选择ESP分区!linux不会覆盖它,而是添加一个Ubuntu目录,专门用grub引导linux,装完Linux后再用winpe启动,看到的ESP分区目录结构就应该是这个样子。
这里写图片描述


安装好Linuxmint后,这时查看BIOS的自启动项,应该还是windows boot manager在第一个,就是说开机还是直接启动win8.1,其在ESP中的启动过程大概是:启动程序先找到Boot/bootx64.efi,接着被引导到EFI/Microsoft/bootmgfw.efi,再被引导读取EFI/Microsoft/BCD,然后再被引导到C盘中windows系统相关的引导程序……为了能够在开机时选择系统,需要用到rEFind(启动管理程序),为了不更改系统原有的启动顺序,即引导会先找Boot/bootx64.efi>>>EFI/Microsoft/bootmgfw.efi,我们用一个间接引导(rEFind)伪装成为bootmgfw.efi,伪装的间接引导被执行后,会提供一个界面供用户选择系统,根据选择的系统,间接引导再去执行对应系统的引导


第五步:rEFind。有了上面的介绍,就可以用winpe启动,去替换ESP分区中的引导文件了,首先下载rEFind,解压后,将根目录的refind文件夹取出,其他的这里用不着。refind文件夹中内容如下:(refind.conf是此时是没有的)
这里写图片描述

第六步:将refind文件夹考到ESP分区下的EFI文件下内,此时EFI文件夹内应有如下内容
这里写图片描述

第七步:为了将refind文件夹内的引导.efi文件伪装成Microsoft中的引导文件,我们将Microsoft文件夹重命名为win8.1(随便取),把refind文件夹重命名为Microsoft,并互相保持原有的目录结构,即在新Mircosoft文件下中新建Boot目录,将原来refind内的文件都考到新的Microsoft/Boot内,同时将win8.1/Boot中的文件全部考到win8.1根目录下,删除win8.1/Boot。最后!将新Microsoft/Boot中的refindx64.efi重命名为bootmgfw.efi,所有伪装完成!。此时ESP分区的目录结构为下图
这里写图片描述

最后一步:修改refind中的脚本文件。第七步做好后,这时系统在启动时就会启动假的Microsoft/Boot中的假的bootmgfw.efi引导,这个引导应该显示一个系统选择的界面,在用户选择完系统后根据选择的系统启动相应的引导。因此,这个界面应该显示哪些系统?按什么格式显示?用户选择后如何找到那个系统真正的引导?就都需要我们在脚本中确定。 下面打开Microsoft/Boot中的refind-conf-sample文件,另存为refind-conf文件,其部分内容如下图:
这里写图片描述
这里的每一块都对应一条语法的详细介绍和一个用法示例,讲的非常清楚,可以根据自己的喜好设定界面的壁纸,图标等等,功能很全面。这里贴上我所使用的:

timeout 20

hideui banner

scanfor external,manual

scan_all_linux_kernels true

menuentry Linux-mint {
    loader /EFI/ubuntu/grubx64.efi
    icon /EFI/Microsoft/Boot/icons/os_linuxmint.png
}

menuentry "Windows 8.1" {
    loader /EFI/Win8.1/bootmgfw.efi
    icon /EFI/Microsoft/Boot/icons/os_fatdog.png
}

意思大致是:
- 20s后键盘没反应,就进入默认系统引导
- 取消界面上方的banner条,原始内容是rEFind的logo,也可以自定义图像
- 搜索.efi的顺序为先外部,再找手动设置的,即最下面两段
- 搜索整个磁盘上的linux内核,若存在则直接加到选择菜单里
- 倒数第二段,Linux-mint为显示的选项的名称,loader指定Linuxmint的.efi引导文件位置,icon指定该选项显示的图标,(可以自定义)
- 最后一段,同上。
**

最后附上开机效果图:

**
这里写图片描述

**

PS:win8.1我专门给了个FatDog的图标:)

**

没有更多推荐了,返回首页