如何使用 bcdedit 在 UEFI 设置中创建启动菜单项,而无需复制现有的 {bootmgr}

如何使用 bcdedit 在 UEFI 设置中创建启动菜单项,而无需复制现有的 {bootmgr}

注意-这个线程如何在 BCDedit 中添加 UEFI 映像启动选项? 类似,但那里的答案不相关,因为它没有描述我的情况。

此主题 如何解决一个驱动器上有两个 EFI 分区的情况? 引起了我对这个问题的兴趣。

我有 Windows 10,我想在 UEFI 设置中创建一个新的启动项,指向位于 的 EFI Shell shell.efi 文件\Efi\Boot\Shell\Shell.efi。如何使用 bcdedit.exe 执行此操作而不复制现有的 {bootmgr} Windows 条目?我尝试了该答案中提供的解决方案,但命令未被接受。

C:\windows\system32>bcdedit /create /d "EFI_Shell" /application firmware
The application type switch specified is not valid.
Run "bcdedit /?" for command line assistance.

当我在 bcdedit 帮助中探索时/create /application,它没有将firmware参数显示为有效条目。

唯一的apptype选择是

 BOOTAPP
 BOOTSECTOR
 OSLOADER
 RESUME
 STARTUP

我能做到这一点的唯一方法是复制{bootmgr}到新条目并修改复制条目中的分区、路径和描述。

但是有没有直接使用 bcdedit 而不复制条目的方法{bootmgr}

注意 - 还有其他几种方法可以在 UEFI 设置中添加启动项,但我特别感兴趣的是 bcdedit,{bootmgr}如果可能的话,也不用复制。

注意 - 我已经拥有可以运行的 Windows 10,并且 BCD 存储区已经有 {bootmgr},即 Windows 启动管理器。就像这样。

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
resumeobject            {...}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

我现在能使用 bcdedit 命令的唯一方法是

bcdedit /copy {bootmgr} /d "UEFI_Shell"

然后获取新的 GUID 并更新路径和位置等。但是我尝试了命令

bcdedit /create /d "EFI_Shell" /application firmware

如上文所述,也如 SU 上其他答案所示,结果返回无效。因此,bcdedit除了现有的 Windows 启动管理器之外,是否能够直接创建 UEFI 启动菜单项?如果可以,如何在不复制现有的适用于 Windows 的 {bootmgr} 的情况下做到这一点。

相关内容