我有 kUbuntu 和 Windows 10 的双启动。我使用 Grub Customizer 工具制作了 GRUB 配置(10 秒后自动启动,主题)。它运行得很好。今天我将 Ubuntu 从 23.04 更新到了 Ubuntu 23.10。在更新过程中,我决定保留当前的 GRUB 配置文件。更新后,Ubuntu 的条目完全丢失了。我有旧设置(主题等)和其余条目(Windows、Memtest 和 UEFI),但 Ubuntu 条目和 Ubuntu 高级选项丢失了。这是我第一次遇到这种情况,我已经在多台计算机上使用这种双启动配置(使用 Grub Customizer 制作)好几年了。发生了什么事,我该如何修复它?
我可以进入 GRUB 的 CLI 并启动 Windows,但我不知道如何访问 Ubuntu 来尝试执行类似 update-grub 的操作。我可以使用这个 GRUB 的 CLI 或 Live USB 来修复它吗?
编辑:有关我的设置和我尝试过的一些信息。我在 nvme0 上安装了 Windows,并使用 Windows 启动管理器在那里获得了 efi 分区。(我通常不会覆盖它,而是在其他地方安装 grub,以便在出现某些情况时能够简单地选择启动 Windows 启动管理器)。我在 sda 上安装了 kUbuntu,并没有手动创建 efi 分区。那里只有 sda1 - wpar 和 sda2 - linux 文件系统(其中包含 /boot 和 /boot/efi 目录和)。我使用 liveUSB 将 sda2 挂载到 /mnt 中并 chroot 到其中。我能够运行 update-grub,但它只找到我已经拥有的条目(Windows、Memtest、UEFI)而不是 Ubuntu。我试图在那里重新安装 grub。但 grub-install 返回一个错误,说它找不到 efi 分区,当我将 /mnt/boot/efi 指向 efi-path 时,又收到另一个错误,说这不是有效的 efi 分区。有人知道我该如何重新安装它吗?
答案1
我有一台非常老旧的富士通笔记本电脑。多年来,我多次将这台笔记本电脑升级到最新最好的 ubuntu 版本。升级到 23.04 令人失望。由于 nvidia 390 问题,无法启动。不得不清除 nvidia。现在升级到 23.10。新问题。无法启动。比上次更糟糕。升级完成后,花了很长时间搜索旧软件,它要求重新启动。我照做了,然后进入 bios 设置...所以我必须从 23.10 的 live usb 启动,尝试选项并安装 23.04 的启动修复。23.10 不存在。这使系统启动。最后.....
答案2
我忘了说我仍然不满意。是的,使用启动修复使我的系统再次启动。是的。但启动修复并不轻松。它需要几个手动步骤。复制并粘贴大量命令。经过所有这些,我仍然无法让 grub 进入图形模式。但它启动了。Windows 和 ubuntu 都启动了。所以基本步骤有效。所以现在唯一的方法是将 grub 设置为控制台模式,而不是之前有效的图形模式。因此,为了避免这种情况,我在 linux 选项中将 -i 更改为 -d。它按所述启动,但 g rub 菜单中的背景为蓝色背景
答案3
我遇到了同样的问题,并且必须执行以下操作:在 grub 加载时按 c 以加载命令提示符
- ls 查看分区,它们将显示为 (hd0,*)
- 当找到 root hd 时运行以下命令(ls 它们以查找 = ls (hd0,1) 等)
- 运行以下命令:
根=(hd0,*1)
linux=/boot/vmlinuz 根=/dev/*2
initrd=/boot/initrd.img
引导
将 *1 替换为 ls 中的分区号,然后将 *2 替换为您的设备名称(/dev/md0、/dev/nvme0n1p1 等)
一旦您启动到您的操作系统,它就不会全部修复,接下来您需要运行:
sudo 添加 apt 存储库 ppa:yannubuntu/boot-repair && sudo apt 更新
sudo apt install -y 启动修复 && 启动修复
按照说明在第二个终端窗口中运行这些命令,然后运行:
sudo 更新 grub
然后重新启动
现在一切都已解决
答案4
使用 Boot-Repair 进行修复,但需要手动清除一些 GRUB 文件,因为该工具无法自动执行此操作。