如何使用bcdedit添加新的UEFI固件启动菜单项(在NVRAM中)。 例如,我尝试了以下步骤,但启动条目没有得到添加。
bcdedit /create /d "LinuxLoader" /application osloader
这将返回一个新的GUID(说newguid)
bcdedit /set {newguid} device partition=S: bcdedit /set {newguid} path bootefibootx64.efi bcdedit /set {fwbootmgr} displayorder {newguid} /addfirst
提前致谢。
用windows8上的C读取引导扇区
可启动的Qt-Linux应用程序
MongoDB无法启动 – ***在fassert()失败后中止
Linux内核header.S源码,为什么在调零BSS时需要_end + 3?
Linux应用程序的Linux启动脚本
编写我自己的init可执行文件
检查哪个键从USB或CD启动?
Windows驱动程序 – 如何确定Windows是否正在启动或已经启动?
如何在启动时运行Linuxterminal命令
WinAPI和程序在用户禁用的启动位置
您不能使用osloADER类型的应用程序来引导Linux:这种类型的应用程序是Windows加载程序,这种应用程序是启动应用程序 (与EFI应用程序不同 ),它们由Microsoft独占签名并由Windows启动管理器启动(请参见第一张幻灯片这个UEFI文件对这个过程有很好的描述。)
另一方面,应该可以添加另一个引导管理器和Windows',并且在UEFI(NVRAM存储器)中注册它。 步骤和你写的一样,只是使用而已
bcdedit /create /d "LinuxLoader" {bootmgr}
作为第一次手术。 bcdedit的操作理论( bcdsrv真的)是,在最后一步,这个入口也应该复制到NVRAM; 所以您的UEFI管理器现在至少有两个选项可供选择,Windows Boot Manager可能仍然是默认的选项。 这意味着在实践中,您可能不得不使用一些魔术键来启动这个菜单(UEFI启动管理器)。 要更改默认条目,您可以尝试
bcdedit /set {fwbootmgr} default $newguid
这会更新NVRAM中的BootCurrent变量,所以UEFI固件应该选择Linux加载程序而不是Windows; 没有保证,但我相信有UEFI固件这是严重的程序设计在这个问题上; 根据这个问题 ,甚至似乎是Windows 8启动过程的标准行为来恢复这样的变化:-(
此外,另外我还会在{fwbootmgr}列表中另外输入一个与标准位置(ESP) EFI BootX64.efi不同的条目:当某个(不明智的)工具决定恢复 正确的价值,并平坦地抹去与微软的bootmgfw.efi标准的地方…
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。