我今天遇到了一件奇怪的事情。我在网上搜索了好多遍,但似乎找不到遇到同样问题的人。
我已经安装了 Kubuntu 21.04 和 Windows 11 双启动。
昨天,我对 Windows 11 进行了“累积更新”,然后关闭了计算机。
今天,我无法加载 GRUB。我尝试在 Windows 命令行中输入以下命令,但没有帮助
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
某些文件名似乎已损坏或出现其他问题。以下是错误消息的图片:
有人能告诉我如何解决这个问题吗?
编辑:因此我设法通过使用启动修复来恢复 grub 但是当我再次启动 Windows 11 时,问题再次出现(没有 Windows 更新,只是普通启动)。
因此我再次进行了启动修复,并且由于启动修复基本上重新安装了 Grub,所以我必须为 iommu(虚拟机的 gpu 隔离)重新配置它。
所以现在,我可以使用 Kubuntu 并使用我的虚拟机,但我有点紧张再次尝试 Windows 11,因为配置 iommu 需要时间,而且我还有很多工作要做。
系统规格:
- I9-10900K
- 64GB 海盗船 DDR4
- 1TB 三星 EVO+ NVME SSD
- AMD Radeon Pro W5700
- Msi Z490-A Pro
sudo efibootmgr -v 的输出(修复后)
BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0003,0001
Boot0001* Windows Boot Manager HD(1,GPT,41013caf-e980-464c-b214-4c6885f2bac7,0x800,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)..BO
Boot0003* ubuntu HD(1,GPT,41013caf-e980-464c-b214-4c6885f2bac7,0x800,0x32000)/File(\EFI\UBUNTU\SHIMX64.EFI)
PS:抱歉,我的英语水平较差,因为它不是我的母语。
谢谢
答案1
我研究了如何修复 grub 启动。最后,我使用以下命令找到了解决方案:
sudo add-apt-repository -y ppa:yannubuntu/boot-repair
sudo apt install -y boot-repair
boot-repair
但是,当我随后启动 Windows,然后重新启动登录 Ubuntu 时,同样的问题又出现了。
我的 BIOS 版本是:
- Windows 10 专业版 1909
- Ubuntu 20.04.20 LTS
答案2
在终端中尝试运行:
sudo update-grub
sudo apt update && sudo apt upgrade
我也遇到过这个问题,不得不使用实时 USB 上的启动修复。我尝试了这个方法,因为我看到标准存储库中似乎有一个更新的 grub 版本(我猜是 grub2?这是旧版本还是我太笨了?)。更新并重新启动后,我仍然看到与您相同的错误屏幕,但在最后一行,它现在显示:
start_image() 返回无效参数,恢复为默认加载器
这样,它现在会显示我习惯使用的常规 grub 菜单,让我可以再次选择 Windows 10 或 Ubuntu。这是我找到的解决方案,这样我就不必每次使用 Windows 并需要转到 Ubuntu 时都运行启动修复。希望这对你有帮助!
答案3
在升级到 Ubuntu 21.04 与 W10 双启动后,我遇到了同样的问题,但在 Windows 的管理员命令行中输入您尝试过的命令似乎已经解决了它。
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
答案4
我在运行 Windows 10 双启动和 Ubuntu 20.04.3 LTS 时也遇到了这个问题。按照这个帖子和其他帖子中的建议,我得到了与 FirDouglas 相同的结果。也就是说,grub 最初无法加载,然后“恢复到默认加载程序”,我可以选择 Ubuntu。如果 Ubuntu 加载正确,这将是可以忍受的。无论出于什么原因,它都不会加载 NVIDIA 图形驱动程序(可能还有其他驱动程序,但我还没有进行足够的测试来找出原因),而且分辨率完全混乱。运行引导修复并重新启动可以修复所有问题。遗憾的是,加载到 Windows 后,它又崩溃了。
我没有足够的技术知识来自己修复它,但希望这一点信息有助于指出问题所在。
编辑:我设法找到了一个解决方案(至少对我有用)。也就是说,从 shimx64.efi 切换到 grubx64.efi,这听起来像 FirDouglas 所做的,只不过我是通过 boot-repair 包进行的。我做的是:我没有选择推荐的修复,而是进入高级选项,在“GRUB 选项”下,取消选中“SecureBoot”选项(尽管 BIOS 中禁用了安全启动,但默认情况下会选中它)。我还选中了“在重新安装 GRUB 之前清除它”以清除那里的内容,因为我一直在摆弄它 - 不确定是否在所有情况下都需要这样做。就是这样,boot-repair 现在安装 grubx64.efi,grub 的工作方式与以前一样。显然,您无法使用这个来运行安全启动,但我宁愿选择它,也不愿每天运行 boot-repair。