Windows 10的更新毁了我的GRUB菜单。

被Windows强制选择“更新并关闭”后,Windows破坏了我的GRUB菜单。我以前安装了Fedora,但是一段时间前我卸载了Fedora并安装了Kubuntu。突然,在Windows更新后,我的GRUB中再次列出了Fedora内核。GRUB显示出来了,只是显示了先前Linux操作系统的错误内核。但我可以正常启动Windows引导管理器。EasyBCD显示如下内容:“Windows引导加载程序中有一个条目。”

我已经运行了update-grub,但没有成功。

我的分区并没有消失,我可以正常使用救援终端,grub.cfg显示的是Ubuntu的信息,所以我猜这方面应该没问题。但GRUB仍然混乱,列出了Fedora的内核。我猜想我需要使用Live USB驱动器/光盘修复启动分区,但具体操作我不清楚。


1我能理解你的痛苦!我也有过同样的经历!那一天我就放弃了Windows。 - Woodrow Barlow
1如果你打开任务管理器(<Ctrl>-<Shift>-<Esc>快捷键),你应该能够终止想要让你更新和关机的进程。 - Carl Witthoft
谢谢卡尔,结果你也可以在设置中延迟更新。然而,这些事情本应该正常运行,微软应该让它正常工作。 - LoopsGod
5个回答

你尝试过运行Boot-Repair吗?

对于类似问题,它对我有用。 这个软件修复引导和 grub 菜单项中的常见问题。如果无法解决某个特定问题,它会生成一个报告,你可以将其粘贴在这里以更好地理解问题。

你可以通过以下命令在 Ubuntu 上安装和运行它:

sudo add-apt-repository ppa:yannubuntu/boot-repair    
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

希望能解决你所描述的内核条目问题!

我通过运行boot-repair成功解决了这个问题。在运行boot-repair之前,我确保先运行了sudo apt install lvm2;如果不这样做,boot-repair将会失败(至少对于我的NVME SSD来说)。 - LoopsGod
如果您正在使用LVM,请查看我的回答,确保引导修复工具能够正常运行(https://askubuntu.com/a/1186542/1012884)。感谢您的帮助,Clara。 - LoopsGod

在Linux终端中运行efibootmgr清除旧的启动项可能不会有什么影响。我曾经遇到类似的问题,并在另一个论坛上写了一篇文章...

如何修复:找不到启动设备。


2谢谢,刚刚删除了 Fedora 的条目。 - LoopsGod

在我的情况下,当计算机启动时,我可以按下 F2 键进入系统的 "设置实用程序"。请注意,在显示任何 GRUB 菜单之前。在设置实用程序中,有一个名为 "引导" 的部分,其中列出了来自我安装的不同操作系统的不同引导选项。在我的情况下,有一个 Ubuntu 条目,两个 Fedora 条目和一个 Windows 条目。(Fedora 出现两次是因为我在两个不同的场合安装了 Fedora。)这是我所说的列表的样子,我指的是位于 "EFI" 下方的较低部分:

photograph of firmware setup utility

请注意,您的计算机上可能显示不同,但幸运的是您可能会有类似的情况。
这很好,因为它让我可以选择想要使用的选项,通过对它们进行排序,位于顶部的选项将被使用。在我的情况下,我选择了Ubuntu,这意味着我获得由我的Ubuntu安装创建的GRUB菜单。
所以要解决您的问题,请尝试在计算机上找到相应的设置(可能是F2或其他需要在启动时按下的键),并重新排序EFI条目列表以将Ubuntu置于顶部,然后在启动时您应该能够看到Ubuntu的GRUB菜单。

1如果你很幸运的话,在电脑制造商的标志下方可能会找到正确的按键。它可能只会显示几秒钟。 - crip659
1@crip659 谢谢您的回复,我已经尝试了这个方法,但是不幸的是Ubuntu没有显示在EFI菜单中。我们的菜单看起来一样,只是我没有Ubuntu选项。 - LoopsGod
在Thinkpad X1 Gen 4上,解决方法是在开机后按下回车键("中断正常引导,请按回车键"),然后按下F12键("选择临时启动设备")。这将带您进入"引导菜单"。在那里,我有四个选项:(1) Windows引导管理器,(2) NVMe0: SAMSUNG MZxxxxxxxxx-00L1,(3) PCI LAN和(4) Linux固件更新程序。选择(2) NVMe0会导致机器重新启动到GRUB引导加载程序。太棒了。顺便说一句,在进行此操作后,检查相同的菜单,现在有一个标记为'ubuntu'的第5个选项(实际上是第一个选项),这确认事情已恢复正常。 - HenrikB

我甚至都不使用Ubuntu,但是我在我的CentOS 8安装中使用grub。我的Windows 10在2021年12月升级到了Windows 11。修复起来实际上相当简单。Windows引导管理器一点也不麻烦。只需在启动时按下Escape键直到进入BIOS菜单,然后按F9进入启动菜单。注意,在"OS Boot"下,Windows引导管理器会处于最高优先顺序。选择你的主要启动项并将其移到最顶部。然后计算机将重新启动,grub将回来,你可以选择你的CentOS安装或者其他Linux发行版。
我现在就是从我的CentOS双系统中给您写信的!

如果无法启动Linux,可以使用Super Grub Disk来启动Linux,并从那里安装Grub Customizer并重新排列MBR。这是一个可行的替代方案。

请解释如何做到这一点。 - ajinzrathod