gpt4 book ai didi

windows - 使用 bcdedit 添加 UEFI 固件启动项

转载 作者:可可西里 更新时间:2023-11-01 09:28:34 27 4
gpt4 key购买 nike

如何使用 bcdedit 添加新的 UEFI 固件启动菜单条目(在 NVRAM 中)。例如我尝试了以下步骤,但未添加启动项。

bcdedit /create /d "LinuxLoader" /application osloader 

这将返回一个新的 guid(比如 newguid)

bcdedit /set {newguid} device partition=S:
bcdedit /set {newguid} path \boot\efi\bootx64.efi
bcdedit /set {fwbootmgr} displayorder {newguid} /addfirst

提前致谢。

最佳答案

您不能使用类型为 OSLOADER 的应用程序来启动 Linux:这种类型用于 Windows 加载器,此类应用程序是启动应用程序(不是与 EFI 应用程序 相同),它们由 Microsoft 独家签名并由 Windows 启动管理器启动(有关该过程的详细说明,请参阅 this UEFI document 的第一张幻灯片。)

另一方面,应该可以添加另一个 boot manager 以及 Windows',并将其注册到 UEFI(在 NVRAM 存储中);步骤和你写的差不多,用

bcdedit/create/d "LinuxLoader"{bootmgr}

作为第一个操作。 bcdedit(实际上是bcdsrv)的操作理论是,在最后一步,条目也应该复制到 NVRAM;所以你的 UEFI 管理器现在至少有两个选项可供选择,Windows 启动管理器可能仍然是默认选项。这意味着实际上您可能必须使用一些魔术键来启动此菜单(UEFI 引导管理器)。要更改默认条目,您可以尝试

bcdedit/set {fwbootmgr} 默认 $newguid

这会更新 NVRAM 中的 BootCurrent 变量,因此 UEFI 固件应该然后选择 Linux 加载程序而不是 Windows;虽然不能保证,但我相信有一些 UEFI 固件在这个问题上的编程很糟糕;根据 this question , 它甚至似乎是 Windows 8 启动过程的标准行为来恢复这种变化:-(

另外,我会创建另一个条目,与标准位置 (ESP)\EFI\BootX64.efi 不同,作为 {fwbootmgr} 列表中的一项规定:当某些(不明智的)工具将决定恢复 正确 值并用 Microsoft 的 bootmgfw.efi...

完全删除标准位置

关于windows - 使用 bcdedit 添加 UEFI 固件启动项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31291158/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com