安装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. 计算机组成原理第五章(中央处理器CPU)

    ---恢复内容开始--- 指令周期(取指令.分析指令到执行完该指令所需的全部时间) 机器周期通常又称CPU周期 通常把一条指令周期分成若干个机器周期,每个机器周期完成一个基本操作 以主存的工作周期(存 ...

  2. Web前端——JavaScript扩展补充

    JS补充 document也是windows的一个子对象 a标签点击事件 要想设置点击a标签,执行某种方法,推荐在a标签的herf属性使用JavaScript伪协议,实现点击之后执行的js方法,而不是 ...

  3. Spark 中 RDD的运行机制

    1. RDD 的设计与运行原理 Spark 的核心是建立在统一的抽象 RDD 之上,基于 RDD 的转换和行动操作使得 Spark 的各个组件可以无缝进行集成,从而在同一个应用程序中完成大数据计算任务 ...

  4. Spring Aware 到底是什么?

    通过如下前序两篇文章: Spring Bean 生命周期之"我从哪里来"? Spring Bean 生命周期之"我要到哪里去"? 我们了解了 Spring Be ...

  5. go 学习笔记之初识 go 语言

    Go 是一种开源编程语言,可以轻松构建简单,可靠,高效的软件. 摘录自 github: https://github.com/golang/go,其中官网(国外): https://golang.or ...

  6. 模拟用户登录,内含验证码验证和request等操作

    模拟用户登录,内含验证码验证和jsp等操作 1.案例需求: 1. 访问带有验证码的登录页面login.jsp 2. 用户输入用户名,密码以及验证码. * 如果用户名和密码输入有误,跳转登录页面,提示: ...

  7. vue项目目录结构详解

    项目简介基于 vue.js 的前端开发环境,用于前后端分离后的单页应用开发,可以在开发时使用 ES Next.scss 等最新语言特性.项目包含: 基础库: vue.js.vue-router.vue ...

  8. PHP-2.数据库小功能

    <?php /* * <PHP数据库部分功能实现> */ $KCNUM = @$_POST['KCNUM']; //建立一个数据库连接 $conn = mysql_connect(' ...

  9. .NET Core 3.0之深入源码理解HttpClientFactory(二)

      写在前面 上一篇文章讨论了通过在ConfigureServices中调用services.AddHttpClient()方法,并基于此进一步探讨了DefaultHttpClientFactory是 ...

  10. LeetCode 448. Find All Numbers Disappeared in an Array找到所有数组中消失的元素

    题目 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次. 找到所有在 [1, n] 范围之间没有出现在数组中的数字. 您能 ...