首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用bcdedit添加UEFI固件引导项

使用bcdedit添加UEFI固件引导项
EN

Stack Overflow用户
提问于 2015-07-08 11:20:49
回答 1查看 19.5K关注 0票数 4

如何使用bcdedit添加一个新的UEFI固件启动菜单条目(在NVRAM中)。例如,我尝试了以下步骤,但是没有添加引导条目。

代码语言:javascript
复制
bcdedit /create /d "LinuxLoader" /application osloader 

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

代码语言:javascript
复制
bcdedit /set {newguid} device partition=S:
bcdedit /set {newguid} path \boot\efi\bootx64.efi
bcdedit /set {fwbootmgr} displayorder {newguid} /addfirst

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-08-31 08:26:49

您不能使用OSLOADER类型的应用程序来引导Linux:这类应用程序是针对Windows的,这类应用程序是引导应用程序(与EFI应用程序不同),它们是由微软独家签名并由Windows启动的(请参阅这个UEFI文档的第一张幻灯片,以获得对该过程的良好描述)。

另一方面,应该可以添加另一个引导管理器和Windows',并在UEFI (在NVRAM存储中)中注册它;步骤与您编写的步骤非常相同,只需使用

bcdedit /create /d "LinuxLoader" {bootmgr}

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

bcdedit /set {fwbootmgr} default $newguid

这将更新NVRAM中的BootCurrent变量,因此UEFI固件应该优先选择Linux加载程序,而不是Windows;不过,我不能保证,在此问题上编程错误的UEFI固件是存在的;根据这个问题,恢复这种更改甚至是Windows8引导进程的标准行为:(

另外,作为{fwbootmgr}列表中的一个规定,我还会做另一个条目,与标准place (ESP)\EFI\BootX64.efi不同:当一些(不明智的)工具决定恢复正确的值并使用微软的bootmgfw.efi清除标准位置时,这样的条目就会继续存在.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31291158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档