安装win10

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

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

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

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

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

安装centos7

安装centos7,会强制你挂载/boot/efi分区,类似安装win10的ESP分区。因我先安装的win10,后安装centos7,所以有两个ESP分区,win10的ESP分区有前面,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的启动,可以看到启动文件在\windows\system32\winload.efi,即开机之后读取ESP分区的EFI/Microsoft/bootmgfw.efi文件,bootmgfw.efi文件指向同目录下的BCD文件,BCD是一个配置文件,存储有windows系统启动文件的信息,(多系统启动,比如win7、win10,选择启动顺序界面即读取BCD文件中存储的信息),BCD文件第一个默认项“Windows…"指向“\windows\system32\winload.efi”,之后 由winload.efi加载windows内核,完成启动过程。

试验:

添加一个centos7的启动项

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

选择该项目,显示

实测win10 efi启动及centos7双系统引导顺序修改的更多相关文章

  1. win10 + Ubuntu 20.04 LTS 双系统 引导界面美化

    版权声明:本文为CSDN博主「ZChen1996」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/ZChen1 ...

  2. Win10+CentOS7双系统引导修复

    在有Win10的系统下安装了CentOS7后,CentOS7的引导并不会像CentOS6一样自动加载入Win10驱动.难道是grub2不能引导Win驱动?查了一下资料原来是CentOS不能识别Win1 ...

  3. win10 EFI装ubuntu14.04双系统 及初始配置

    这次第二次装ubuntu系统了,第一次是在win7下安装的,到了win10,由于用了efi,跟win7的安装方法不太相同,相同点有: 1.仍然可以用u盘启动,我用的是UltroISO这个软件. 2.装 ...

  4. 修复Centos7双系统引导

    1.进入CentOS系统 2.命令行输入 vi /boot/grub2/grub.cfg 3.在文件空白处添加下列代码 menuentry 'Windows 7'{ insmod part_msdos ...

  5. win10下安装centos7双系统

    国庆最后一天了,闲来无事装个双系统,用虚拟机的linux总有些不方便. window下安装linux双系统有两中方法: 1.U盘安装 (我采用的方法,后面详述) 2.EasyBCD工具安装 (使用Ea ...

  6. win10和centos7双系统双磁盘引导的实现

    win10和centos7双系统双磁盘引导的实现1.背景:dell5460笔记本电脑M2-120G固态盘无法在bios中引导,新装了M360G固态盘后,考虑把120G固态盘安装centos7.5系统做 ...

  7. Windows安装Centos7双系统后Windows启动项消失

    原文: https://www.cnblogs.com/xinglichao/p/9999049.html https://blog.csdn.net/yingzinanfei/article/det ...

  8. 如何安装win10+Red Hat Enterprise Linux双系统?

    1,如何安装win10+Red Hat Enterprise Linux双系统???? 有很多人(没做过调查,可能就我自己想装吧)想要安装Red Hat Enterprise Linux系统,但是又不 ...

  9. Win7上装CentOS7 双系统

    今天折腾了半天,终于在Win7上把CentOS装上了,Win7和CentOS双系统共存,可自由切换. 你问我为什么不装在虚拟机上,我只能说我的电脑卡得一B. 装机参考: 1.Window7+CentO ...

随机推荐

  1. MyBatis从入门到精通:第一章数据库创建文件

    /*创建数据库mybatis,并指定编码方式为utf8,字符比较规则为utf8_general_ci*/ CREATE DATABASE mybatis DEFAULT CHARACTER SET u ...

  2. E11000 duplicate key error index

    E11000 duplicate key error index mongodb插入报错,重复主键问题,有唯一键值重复 一般使用collection.insertOne(doc);插入一条已存在主键的 ...

  3. Git命令行之快速入门

    从头开始创建一个版本库,添加一些内容,然后管理一些修订版本. 有两种建立 Git版本库 的基础技术.第一:从头开始创建,用现有的内容填充它.第二:可以克隆一个已有的版本库.这里选择从一个空的版本库开始 ...

  4. .Net微信网页开发之使用微信JS-SDK自定义微信分享内容

    第一步.微信JS-SDK的使用步骤,配置信息的生成获取讲解: 关于JS-SDK的使用步骤和timestamp(时间戳),nonceStr(随机串),signature(签名),access_token ...

  5. Flutter初体验--环境搭建

    Fluter最近火了起来,它的有点很多,今天我做一篇在Windows下安装Flutter的教程. 一.下载    无论你要安装什么软件,都要先下载下来.我用的是SourceTree,地址: https ...

  6. 【Java高级】(一)JVM

    5.2.1.在Java中如何判断对象已死? 引用计数算法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一1:当引用失效时,计数器值就减1:任何时刻计数器为0的对象就是不可能被使用的 ...

  7. mysql添加外键失败解决方案

    mysql重启命令: [root@wshCentOS centOS7Share]# service mysqld stopRedirecting to /bin/systemctl stop  mys ...

  8. 使用Java实现数据库编程 项目(宠物商店)

    创建数据库代码: DROP DATABASE IF EXISTS petShop; CREATE DATABASE petShop; USE petShop; /*创建表*/ CREATE TABLE ...

  9. Scrapy框架安装失败解决办法

    安装报错信息 正常安装: pip3 install scrapy 出现报错信息如下: 两种解决办法 第一种方法 最根本得解决办法 需要我们安装  Microsoft Visual C++ 14.0  ...

  10. 【iOS】UIAlertController 弹出框

    UIAlertView 虽然还能用,但已经废弃了.因此以后尽量用 UIAlertController.示例代码如下: UIAlertController *alert = [UIAlertContro ...