4

如何使用bcdedit. 例如,我尝试了以下步骤,但没有添加引导条目。

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

提前致谢。

4

1 回答 1

2

您不能使用OSLOADER类型的应用程序来启动 Linux:这种类型是用于Windows加载程序的,此类应用程序是启动应用程序(与EFI 应用程序不同),它们由 Microsoft 独家签名并由 Windows 启动管理器启动(参见第一张幻灯片)此 UEFI 文档可以很好地描述该过程。)

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

bcdedit /create /d "LinuxLoader" {bootmgr}

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

bcdedit /set {fwbootmgr} default $newguid

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

此外,我还会在 {fwbootmgr} 列表中创建一个不同于标准位置 (ESP)\EFI\BootX64.efi 的条目:当某些(不明智的)工具决定恢复正确的值并用微软的bootmgfw.efi...

于 2015-08-31T08:26:49.877 回答