如果 Windows bootmgr 路径卡在 shimx64.efi 中,该如何更改它?

如果 Windows bootmgr 路径卡在 shimx64.efi 中,该如何更改它?

这个问题直接引用了另一个问题,但有一些额外的细节:

无法打开 \EFI\UBUNTU\*garbled* - 参数无效

此外,我没有找到任何真正有效的答案,而且我还不能评论问题。

因此,首先从将系统从 Windows 11 切换到 Windows 10。我有双启动系统,Ubuntu 20.04 是我工作中真正需要的,而 Windows 则用于娱乐。安装它的时候,系统启动到没有 GRUB 的 Windows,这是可以预见的行为。我懒得再写一个带有 Ubuntu 的 Live USB,而且我当时还没有 ISO,所以我开始在谷歌上搜索如何从 Windows 修复 GRUB。当然,我遇到了这个解决方案:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

它使我的 GRUB 恢复了,但我又面临另一个问题:

Failed to open \EFI\UBUNTU\smth - Invalid parameter

Failed to load image \EFI\UBUNTU\smth : Invalid parameter

start_image() returned Invalid Parameter - falling back to default loader

这不是什么大问题,因为我必须等待额外的 5 秒钟然后才会出现 GRUB 菜单,但是当你必须切换操作系统时,这真的很烦人。

就在那时,我发现了之前提到的问题。我尝试了那里写的所有方法以及所有我能找到的有关此问题的信息,但都无济于事。

以下是我尝试过的方法:

update-grub2- 当然,这是第一个要尝试的。这里没用

boot-repair- 运行无错误,但没有结果

efibootmgr这个答案的操作不能解决我的问题:https://askubuntu.com/a/1357432/1587722

然后我尝试对 进行更多操作bcdedit。没有结果,但我注意到{bootmgr}我的 Windows 10 中的默认路径是/EFI/UBUNTU/SHIMX64.EFI。我可以更改它,但不会产生任何影响,因为重启后它始终是 shimx64.efi。我试图找到一些关于无法更改启动管理器路径的信息,但运气不佳。安全启动已被禁用。

另外,尝试了适用于 Windows 的 EasyUEFI 软件,因为这里有人说我将能够在 Windows 中编辑启动管理器,但它只能编辑我的 Ubuntu 条目,用于编辑 Windows 条目的启动管理器路径的按钮被阻止了。

应该“修复” bootmgr 的默认 Windows 机制也没有执行任何操作。

在阅读了大量相关资料并尝试了所有可能的解决方法后,我认为这可能是与 Windows 相关的问题,因为我不知道它为什么会不断将 bootmgr 路径重写为 shimx64.efi。也许存在其他安全机制之类的?任何帮助都将不胜感激。

答案1

你可能设置

“bcdedit /设置 {bootmgr} 路径 \EFI\ubuntu\grubx64.efi”

在 Windows 中。您必须启动 Windows,然后以管理员身份打开 cmd 并在命令行中运行此命令:

“bcdedit /set {bootmgr} 路径 \boot\efi\EFI\Microsoft\Boot\bootmgfw.efi”

然后,您就有了 Windows 启动管理器作为第一启动设备。您必须进入 Bios 设置,在启动选项中更改 HDD 启动优先级,然后选择 ubuntu 作为第一启动设备。

这解决了我的问题。

相关内容