我了解了 UEFI 和 BIOS 之间的区别,BIOS 似乎只能启动 MBR 硬盘,而 UEFI 只能启动 GPT 硬盘。而且 UEFI 无法启动普通 USB 闪存驱动器,所以我必须将 USB 闪存驱动器设为“UEFI 可启动”。普通 USB 驱动器和“UEFI 可启动”驱动器之间有什么区别?普通 USB 驱动器使用 MBR,而 UEFI 可启动 USB 驱动器使用 GPT,这是真的吗?我可以在仅支持旧版 BIOS 的旧电脑上启动 UEFI 可启动 USB 闪存驱动器吗?
答案1
大多数 UEFI 实现也可以从 MBR 分区的 USB 驱动器启动。它们需要/efi/boot/bootx64.efi
存在一个文件。为了获得最佳兼容性,强烈建议使用 FAT32 文件系统。
驱动器上可能存在额外的 BIOS 引导代码。它将被 UEFI 忽略。
底线:混合可启动 USB 驱动器是可能的,而且确实存在。
答案2
BIOS 和 UEFI 本质上都是固件版本(充当硬件和系统软件之间通信器的代码),UEFI 是较新且更高级的。它们都具有非常明显的功能集。
简而言之,UEFI 更快、更安全、高度兼容且可定制(免责声明:定制应由知识渊博的人员完成,否则可能会损坏您的系统),并且具有较新的硬件。
因此,如果您的操作系统支持 UEFI 启用的服务,则绝对应该选择 UEFI 而不是传统模式(尽管大多数操作系统 [系统软件] 都具有向后兼容功能,因此也可以与传统模式一起使用)。
UEFI 在固件级别提供了更多用于处理系统启动的基础设施。它远没有 BIOS 那么简单。与 BIOS 不同,UEFI 确实在不同程度上理解“磁盘分区”、“引导加载程序”和“操作系统”的概念。
您可以查看 BIOS 启动过程,查看 UEFI 过程,并了解 UEFI 过程如何扩展各个位来解决特定问题。
仔细想想,BIOS/MBR 查找引导加载程序的方法相当不靠谱。它非常“特殊”:磁盘前端的这个特别小的空间包含只有对系统固件和用于写入它的特殊实用程序才真正有意义的魔法代码。这种方法有几个问题。
- 处理起来很不方便——您需要特殊的实用程序来写入 MBR,而找出其中内容的唯一方法就是将内容dd出来并检查它们。
- 如上所述,MBR 本身对于许多现代引导加载程序来说不够大。它们所做的就是将自己的一小部分安装到 MBR 本身,其余部分则安装到传统 MBR 结束和第一个分区开始之间的磁盘空白空间中。这有一个相当大的问题(好吧,整个设计都是一个大问题,但没关系),即没有可靠的惯例来确定第一个分区应该从哪里开始,因此很难确保有足够的空间。您通常可以依赖的一件事是,对于某些引导加载程序配置来说,空间不足。
- 该设计没有提供任何标准化的层或机制来选择除磁盘以外的启动目标……但人们希望选择除磁盘以外的启动目标。即他们希望每个磁盘有多个可启动的“东西”——通常是操作系统。在 BIOS/MBR 世界中,做到这一点的唯一方法是让引导加载程序来处理它;但是没有广泛接受的正确方法来做到这一点。有许多不同的方法,其中没有一种特别能与其他方法互操作,没有一种是广泛接受的标准或惯例,而且很难在 OS/OS 安装层编写干净地处理多重引导的工具。这只是一个非常混乱的设计。
- 该设计不提供从磁盘以外的任何设备启动的标准方式。我们不会在本文中真正讨论这一点,但请注意,这是 UEFI 启动的另一个优势:它提供了一种从远程服务器等设备启动的标准方式。
- 固件以上级别没有机制来配置固件的启动行为。
回答你的问题:USB 通常是 GPT,直到其他指定或格式化为止,至少是较新的 USB。在旧版 BIOS 上启动 UEFI USB 时,通常会出现问题。但这也取决于 BIOS 及其版本。因此它仍然可以工作。
来源 :https://www.happyassassin.net/2014/01/25/uefi-boot-how-does-that-actually-work-then/、维基