实测win10 efi启动及centos7双系统引导顺序修改

安装win10 

安装win10过程中,系统自动建立esp分区,分区格式为FAT16,目录如下

 

1,EFI/Boot文件夹保持不动

删除 EFI/Microsoft/boot/ 文件夹下面除BCD文件外的其它文件,系统不能启动;

复制原本EFI/Microsoft/boot/文件夹下面的bootmgfw.efi文件进去,即EFI/Microsoft/boot文件夹下面有两个文件,BCDbootmgfw.efi,系统可以启动。

2,在1的基础上,即保留Microsoft/boot/文件夹下面的BCDbootbgfw.efi文件,删除EFI/Boot/bootx64.efi文件,重启正常进系统。

安装centos7

安装centos7,会强制你挂载/boot/efi分区,类似安装win10的ESP分区。因我先安装的win10,后安装centos7,所以有两个ESP分区,win10ESP分区有前面,centos7的ESP分区在后面。当win10的ESP分区不能启动时,硬盘从centos7的ESP分区进centos7系统。

efi引导顺序修改测试 

为了方便,复制centos7的ESP分区下的EFI/centos/文件夹到 windows的ESP分区EFI/目录

EFI/centos/目录:

 

 EFI/Microsoft/目录

  

BOOTICE软件的UEFI启动项管理,可以修改uefi的启动顺序

 

 点击‘修改启动序列’,

 

点击添加,找到上面提到的ESP分区的EFI/centos7/shimx64.efi(需要将ESP分区挂载出来),可以选择它们的先后顺序实现开机启动windows还是Centos7。

这个应该是直接修改的主板的rom存储(需要bios电池供电的那个存储),和MBR模式修改启动顺序应该一样)

 

  

开机进bios,也可以修改这个启动顺序。

UEFI模式

 

最下面的'UEFI Hard Disk  Drive BBs Priorities'就是修改UEFI启动顺序,和上面用软件修改的效果是一样的。

  

进入之后

将centos7的选项调到最上面

再返回,可以看到‘Boot Option #3’选项已经变成 centos7 

之后开机就可以直接进centos7系统。

 总结 :

  • win10 efi启动只需要esp分区中的bootmgfw.efi和BCD两个文件即可。
  • efi引导顺序的信息存储在主板rom存储器中(主板小电池供电那个),引导顺序可以进bios修改,也可以用bootice软件直接修改。
后续小测试:

BOOTICE软件,还有BCD编辑功能BCD文件是windows启动时bootmgfw.efi读取的开机启动项目文件,是在上面说的修改UEFI启动顺序为windows之后都会读取的一个文件,是一个注册表文件

点击‘智能编辑模式’,第一项默认的是windows的启动,可以看到启动文件在windowssystem32winload.efi,即开机之后读取ESP分区的EFI/Microsoft/bootmgfw.efi文件,bootmgfw.efi文件指向同目录下的BCD文件,BCD是一个配置文件,存储有windows系统启动文件的信息,(多系统启动,比如win7、win10,选择启动顺序界面即读取BCD文件中存储的信息),BCD文件第一个默认项“Windows…"指向“windowssystem32winload.efi”,之后 由winload.efi加载windows内核,完成启动过程。

试验:

添加一个centos7的启动项

 

由于windows不能识别centos7的ext分区,所以启动文件没法指向centos7的启动文件。但保存之后,开机会显示该项目,但无法启动。

 

选择该项目,显示

原文地址:https://www.cnblogs.com/focus-g/p/11355350.html