UEFI 系统是否识别 MBR 启动代码?

UEFI 系统是否识别 MBR 启动代码?

这个答案解释 的输出efibootmgr -v,并针对以下几行:

Boot0003* ATA HDD2: WDC WD5000LPVT-08G33T1                      ACPI(a0341d0,0)PCI(1f,2)03120a00010000000000..bYVD.A...O.*..
Boot0004* ATA SSD1: SanDisk SSD U100 24GB                       ACPI(a0341d0,0)PCI(1f,2)03120a00000000000000..bYVD.A...O.*..

该文件指出:

在大多数情况下,当您看到类似这样的引用磁盘设备的条目时,该引用实际上是指磁盘 EFI 系统分区 (ESP) 上的后备引导加载程序文件(EFI/BOOT/bootx64.efi,至少在 x86-64 系统上)。EFI 不像 BIOS 那样使用嵌入在磁盘 MBR 中的引导加载程序。

我对自己的情况感到疑惑:我有一台预装了 Windows 的新 PC(当然,这是一台 UEFI 机器)。我想安装 Ubuntu,因此我在 USB 上创建了一个 Live-CD,重新启动了装有 USB 的计算机,Ubuntu 启动了,这样我就可以安装它了。该 USB 没有 EFI 分区,启动可能是从 MBR 代码进行的(该 Live-CD 上有 MBR 代码)。

有人能解释一下吗?

答案1

实时媒体既有 MBR 引导记录,又有 UEFI 引导功能 - 整个文件系统符合 EFI 分区的 EFI 标准,/EFI 目录是 UEFI 引导加载程序的位置。您的机器在 UEFI 设置中的设置方式决定了实时媒体的引导方式(传统或 UEFI)以及安装方式。


如果缺少 /EFI 下的引导加载程序,传统模式下的 MBR 引导仍将有效,但无法进行 UEFI 引导。这就是 ISO 的文件系统,一个大文件系统——但用于将 ISO 信息刻录到介质的一些工具可能会创建额外的分区,甚至可能会做一些坏事,比如将正在运行的系统的部分复制到新创建的安装介质上(当版本不匹配时会导致问题)。简单的 dd 字节复制会生成一个与 ISO 一样的实时介质。

相关内容