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

raj*_*eev 8 boot bcdedit uefi windows-10

注意 \xe2\x80\x93 此线程How to add UEFI image boot option in BCDedit? 类似,但答案不相关,因为它没有描述我的情况。

\n

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

\n

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

\n
C:\\windows\\system32>bcdedit /create /d "EFI_Shell" /application firmware\nThe application type switch specified is not valid.\nRun "bcdedit /?" for command line assistance.\n
Run Code Online (Sandbox Code Playgroud)\n

当我浏览/create /applicationbcdedit 帮助时,它没有将firmware参数显示为有效条目。

\n

唯一的apptype选择是

\n
 BOOTAPP\n BOOTSECTOR\n OSLOADER\n RESUME\n STARTUP\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n

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

\n

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

\n

注意 - 我已经有工作 Windows 10 并且 BCD 存储已经有 {bootmgr} 这是 Windows 启动管理器。像这样。

\n
Windows Boot Manager\n--------------------\nidentifier              {bootmgr}\ndevice                  partition=\\Device\\HarddiskVolume1\npath                    \\EFI\\Microsoft\\Boot\\bootmgfw.efi\ndescription             Windows Boot Manager\nlocale                  en-US\ninherit                 {globalsettings}\ndefault                 {current}\nresumeobject            {...}\ndisplayorder            {current}\ntoolsdisplayorder       {memdiag}\ntimeout                 30\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n
bcdedit /copy {bootmgr} /d "UEFI_Shell"\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n
bcdedit /create /d "EFI_Shell" /application firmware\n
Run Code Online (Sandbox Code Playgroud)\n

正如上面已经解释的以及 SU 上的其他答案所示,该答案返回无效。\n因此,bcdedit除了现有的 Windows 启动管理器之外,还有能力直接创建 UEFI 启动菜单项,如果是,如何在不复制现有 { bootmgr} 适用于 Windows。

\n