我尝试使用 BCDEdit 在 Windows 启动管理器中添加 grubx64.efi。但是,当我启动计算机并尝试通过单击我创建的条目从 Windows 启动管理器启动 GRUB 时,我得到:
文件:\EFI\ubuntu\grubx64.efi
状态:0xc000007b
信息:无法加载应用程序或操作系统,因为所需文件缺少或包含错误。
我知道 efi 文件可以工作,因为我可以使用 EFI shell 从同一个文件、从同一个位置(ESP 分区)启动 GRUB,比如在这个答案中找到的那个:https://unix.stackexchange.com/a/63898/167564
这是我的bcdedit
输出:
Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=\Device\HarddiskVolume2
path \EFI\Microsoft\Boot\bootmgfw.efi
description Windows Boot Manager
locale en-US
inherit {globalsettings}
flightsigning Yes
default {current}
resumeobject {4c60dca4-e732-11e5-be25-b3798e2bd780}
displayorder {current}
{4c60dcaf-e732-11e5-be25-b3798e2bd780}
toolsdisplayorder {memdiag}
timeout 10
Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \WINDOWS\system32\winload.efi
description Windows 10
locale en-US
inherit {bootloadersettings}
recoverysequence {4c60dca6-e732-11e5-be25-b3798e2bd780}
recoveryenabled Yes
isolatedcontext Yes
flightsigning Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \WINDOWS
resumeobject {4c60dca4-e732-11e5-be25-b3798e2bd780}
nx OptIn
bootmenupolicy Standard
Real-mode Boot Sector
---------------------
identifier {4c60dcaf-e732-11e5-be25-b3798e2bd780}
device partition=\Device\HarddiskVolume2
path \EFI\ubuntu\grubx64.efi
description Grub Test
locale en-US
inherit {globalsettings}
flightsigning Yes
custom:23000003 {current}
custom:23000006 {4c60dca4-e732-11e5-be25-b3798e2bd780}
custom:24000001 {current}
{4c60dca8-e732-11e5-be25-b3798e2bd780}
custom:24000010 {memdiag}
custom:25000004 10
从输出中可以看出,最后一个条目是我尝试让 Grub 工作的条目,即“实模式引导扇区”。我通过创建“{bootmgr}”的副本并将其重命名为“Grub Test”,并将路径更改为 grub 所在的位置来创建它。我看到这个答案,它说正确的条目是启动扇区,所以我进入 regedit 并将其从“Windows 启动管理器”更改为“实模式启动扇区”,通过更改 BCD00000000 下的值,如本文所述:Windows 8.1 UEFI x64 无法启动 UEFI 映像
我也尝试将其更改为:
0x10100003
(固件应用程序)0x10100002
(Windows 启动管理器)0x10200003
(Windows 启动加载程序)0x10400008
(实模式引导扇区)0x20200008
(继承的设置)
然而,最终的结果都是:
文件:\EFI\ubuntu\grubx64.efi
状态:0xc000007b
信息:无法加载应用程序或操作系统,因为所需文件缺少或包含错误。
我能否以某种方式让 Windows 启动管理器能够启动 Grub?我搜索了整个互联网,但找不到任何对我有用的东西,我有点沮丧。
此外,安全启动已关闭。