当前位置: 首页 > news >正文

100 一块硬盘多个EFI分区?UEFI固件最终选择了谁启动?

一块硬盘多个EFI分区?UEFI固件最终选择了谁启动?

我们日常看见的情况都是比较标准的,一块硬盘上面有一个EFI分区,而且通常位于硬盘上的第一个分区.大概有200MB-500MB大小.EFI分区文件系统类型通常都是FAT32,FAT16,FAT类型.

但是思考EFI分区的本质,也就是一个文件系统为FAT32的分区,里面有引导文件而已(本文仅考虑FAT32).那么,如果一个硬盘上面有好几个文件系统为FAT32的分区,而且每一个这样的分区里面都有系统引导文件,那么UEFI固件在启动计算机的时候默认应该做和选择呢?

为探究以上问题,笔者进行了实验.


实验准备

  • 本实验采用vmware17.5进行模拟.

由于不同的主板UEFI固件不同,不能保证实验结果具有普适性.实验结果针对vmware主板生效.

  • 硬盘分区结构如下:

    • 分区1:EFI1
    • 分区2:安装一个Windows10系统
    • 分区3:EFI2
    • 分区4:NTFS文件系统的数据存储分区
    • 分区5:EFI3

    分区顺序按硬盘上从左至右排序.


实验思路

通过对EFI1,EFI2,EFI3三个EFI分区添加不同的引导区分UEFI固件启动的是哪一个EFI分区里的引导文件.(主要是通过修改BCD文件里的菜单.)通过删除任意一个EFI分区后,观察UEFI固件启动哪一个EFI分区确定UEFI启动时选择EFI分区的逻辑.


进行实验

分别创建EFI1,2,3的引导文件,使其可以引导分区2里的Windows系统.

分别编辑EFI1,EFI2,EFI3里的BCD文件,具体如下:
$$
BCD
$$

  • EFI1:
    • Windows10
    • 1111
  • EFI2:
    • Windows10
    • 2222
  • EFI3:
    • Windows10
    • 3333

注:1111,2222,3333仅用于区分这个BCD文件属于哪一个EFI分区,进而推导UEFI固件启动的EFI分区是哪一个.

将虚拟机目前的状态保存,命名为快照1.


启动虚拟机.Windows boot manager界面显示如下:

说明启动了EFI1,也就是顺序有效的第一个EFI分区.


格式化EFI1,重启虚拟机.Windows boot manager界面显示如下:

说明启动了EFI2,同样是顺序第一个有效的EFI分区.


格式化EFI2,重启虚拟机.Windows boot manager界面显示如下:

说明启动了EFI3,同样是顺序第一个有效的EFI分区.


将虚拟机恢复至快照一,也就是初始状态.

格式化EFI2.重启虚拟机,Windows boot manager界面显示如下:

说明启动了EFI1,是顺序有效的第一个EFI分区.


将虚拟机恢复至快照一,也就是初始状态.

格式化EFI3.重启虚拟机,Windows boot manager界面显示如下:

说明启动了EFI1,是顺序有效的第一个EFI分区.


将虚拟机恢复至快照一,也就是初始状态.

格式化EFI1,EFI3.重启虚拟机,Windows boot manager界面显示如下:

说明启动了EFI2,是顺序有效的第一个EFI分区.


将虚拟机恢复至快照一,也就是初始状态.

格式化EFI1,EFI2,EFI3.重启虚拟机,虚拟机无法启动至Windows boot manager.


实验结论

综上所述,vmware虚拟机的UEFI主板在遇到一块硬盘上有多个EFI分区的时候,默认读取硬盘上顺序第一个有效的EFI分区来启动系统.这和EFI分区的位置,分区参数,分区大小均无关.

更广义上来说,UEFI固件默认读取硬盘上他可以识别的第一个有效的启动分区来启动系统.(因为有的UEFI固件可以识别exFAT)

http://www.jsqmd.com/news/56477/

相关文章:

  • 85 微PE吕了了修改版--更新!
  • 使用LoRa进行远程黑客攻击的技术实践
  • 57 新机自动化ps脚本:一键卸载讨厌的预装软件
  • 可维护性——代码的“长寿密码” - 20243867孙堃2405
  • 95 某白菜PE行为分析:如何自动安装推广软件并更改注册表
  • [技术向] [新手入门] VMWare 虚拟机到底如何配置操作?VMWare 教材全解来啦!
  • 118 什么是磁盘分区表?
  • 60 对UEFI引导的深入探究:efi引导程序的位置一定是死的吗?
  • 代码质量的根基——从“能跑”到“好用”的思维跃迁 - 20243867孙堃2405
  • 36PE启动盘新秀:Ventoy(附各种PE的ISO下载)
  • 115 系统坏了不想重装?吕了了手搓系统修复软件帮你修复系统
  • 116Dism++备份系统,如何选择性的备份文件?
  • 66重装系统被驱动难倒?几个重要的驱动安装技巧,建议收藏!
  • 86 [深度解析] 系统的产生依赖于什么?
  • ArkTS 泛型编程指南:提升代码复用性与类型安全
  • 87 Windows 系统安装的本质是什么?
  • 内存溢出问题
  • 140 Windows 11 新系统一分钟打不开一个软件?原来卡顿的真凶在这里!
  • 124 禁用Windows更新有bug?不如先暂停它2000年!
  • 43 微软官方安装Windows途径
  • 82 深入解析 Windows RE:系统维护的强大工具
  • 126 激活Windows系统的四种终极方法
  • 99 如何破解 Windows 系统密码?
  • 讲讲django的文件对象
  • 香港中文大学(深圳) PHY1001 - Mechanics 笔记
  • P9606 ABB
  • 微PE的磁盘化启动:不再使用WEPE64.WIM,直接从分区启动PE系统!
  • 73 Windows系统磁盘与分区知识详解
  • isnumeric() 和 isdigit() 的区别
  • 109 C盘又变红了?清理C盘的便捷方法!