Rag*_*ghu 5 windows boot bcdedit bcdstore uefi
如何使用bcdedit. 例如,我尝试了以下步骤,但未添加启动项。
bcdedit /create /d "LinuxLoader" /application osloader
Run Code Online (Sandbox Code Playgroud)
这将返回一个新的 guid(比如 newguid)
bcdedit /set {newguid} device partition=S:
bcdedit /set {newguid} path \boot\efi\bootx64.efi
bcdedit /set {fwbootmgr} displayorder {newguid} /addfirst
Run Code Online (Sandbox Code Playgroud)
提前致谢。
您不能使用OSLOADER类型的应用程序来启动 Linux:此类应用程序用于Windows加载程序,此类应用程序是启动应用程序(与EFI 应用程序不同),它们由 Microsoft 独家签名并由 Windows Boot Manager 启动(请参阅这个 UEFI 文档对这个过程有很好的描述。)
另一方面,应该可以添加另一个启动管理器和 Windows 启动管理器,并将其注册到 UEFI 中(在 NVRAM 存储中);步骤与您写的大致相同,只需使用
bcdedit /create /d "LinuxLoader" {bootmgr}
作为第一次操作。bcdedit(实际上)的操作原理bcdsrv是,在最后一步,该条目也应该复制到 NVRAM 中;因此,您的 UEFI 管理器现在至少有两个选项可供选择,Windows 启动管理器可能仍然是默认选项。这意味着在实践中您可能必须使用一些魔术键来调出此菜单(UEFI 启动管理器)。要更改默认条目,您可以尝试
bcdedit /set {fwbootmgr} default $newguid
这将更新BootCurrentNVRAM 中的变量,因此 UEFI 固件应优先选择 Linux 加载程序而不是 Windows;但不能保证,我相信有一些 UEFI 固件在这个问题上编程得很糟糕;根据这个问题,恢复这样的更改甚至似乎是 Windows 8 启动过程的标准行为:-(
另外,我还会创建另一个条目,与标准位置 (ESP)\EFI\BootX64.efi 不同,作为 {fwbootmgr} 列表中的一项规定:当某些(不明智的)工具决定这样做时,这样的条目将继续存在。恢复正确的值并用微软的方法彻底删除标准位置bootmgfw.efi...
| 归档时间: |
|
| 查看次数: |
22581 次 |
| 最近记录: |