如何使用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提前谢谢。
发布于 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清除标准位置时,这样的条目就会继续存在.
https://stackoverflow.com/questions/31291158
复制相似问题