我很好奇,并研究了我的 Windows 8 系统。维基百科关于 UEFI 的条目
UEFI 固件还可以自动检测引导加载程序,以便从可移动设备启动。自动检测依赖于操作系统加载程序的标准化文件路径,具体取决于要启动的实际架构。文件路径的格式定义为 EFI_SYSTEM_PARTITION/BOOT/BOOTMACHINE_TYPE_SHORT_NAME.EFI,例如 /efi/BOOT/BOOTX64.EFI
我决定安装我的 EFI 系统分区并检查一下。
我看到的唯一相关文件是 M:\boot\boot.sdi
在 M:\boot 中还有一个 en-us(其中包含 bootsect.exe.mui)、字体、资源文件夹以及 bcd、etfsboot.exe 和 memtest.exe
由于没有 BOOT*.efi,UEFI 如何知道在哪里找到启动文件?此外,“boot”文件夹是小写的,根据 Wiki,它应该是“BOOT”
答案1
在 UEFI 系统分区路径上以 \EFI 开头!
例如:
Z:\EFI\Boot\bootx64.efi
Z:\EFI\Microsoft\Boot\bootmgfw.efi
Z:\EFI\ubuntu\grubx64.efi
“\EFI\Boot”文件夹/目录存储默认的后备引导加载程序。
\EFI\'Company' – 也是保留名称。
“Company”文件夹可以具有任何结构(子文件夹、子子文件夹)。相应的启动项具有引导加载程序文件的正确路径,例如“\EFI\Microsoft\Boot\bootmgfw.efi”
答案2
请注意,确切的短语是
引导加载程序可以还被 UEFI 固件自动检测
重点是我。在本节前面,它指出:
UEFI 规范定义了一个“启动管理器”,这是一个固件策略引擎,负责加载操作系统加载程序和所有必要的驱动程序。启动配置由一组全局 NVRAM 变量控制,包括指示加载程序路径的引导变量。
再次强调,这是我的。EFI“BIOS”知道正确的加载程序在哪里,因为 Windows 在安装期间告诉它要查找的位置,并且显然它位于与默认位置不同的位置。