我有一个基于 EFI 双启动的 Windows/Linux 系统,其中 grub2 指向 /dev/sda6 中的 Ubuntu 18.04 /root 分区。
我尝试在 /dev/sda5(一个备用分区)中安装 Ubuntu 20.04。安装顺利,但卡在了 grub-install 阶段。之后,grub 不再工作。我只得到一个 grub> 提示符。我可以退出到启动管理器并启动 Windows,但 grub 被卡住了。
因此,我启动了实时的 Ubuntu 18.04 闪存驱动器,并尝试通过在 /mnt 上安装 /dev/sda6 并运行,在 /dev/sda6 中重新运行原始 18.04 系统的 grub-install
sudo grub-install --boot-directory=/mnt/boot /dev/sda
这导致了此消息
为 i386-pc 平台安装。 grub-install:警告:此 GPT 分区标签不包含 BIOS 启动分区;无法嵌入。 grub-install:警告:无法嵌入。GRUB 只能通过使用阻止列表在此设置中安装。但是,阻止列表不可靠,不鼓励使用。 grub-install:错误:不会继续执行黑名单。
有什么方法可以解决这个问题。看起来好像我的分区表(或其他东西)被弄乱了,但分区本身没问题。我可以挂载它们并在实时 USB 下检查它们。我特别要求 UBU 20.04 在分区设备(/dev/sda5)中安装 grub,而不是在磁盘设备(/dev/sda)上安装。那是错的吗?
我想,只要 /home 被保留(它在 /dev/sda8 中),我就可以接受删除我旧的 18.04 /root...
答案1
我通过重新安装 ubuntu 20.04 并让其将新的 grub 加载程序放入 /dev/sda 来修复此问题。20.04 grub 安装程序检测到我的 18.04 系统,因此现在我可以启动其中任何一个。
有趣的是(?),第二次安装似乎也在更新 grub 阶段挂起了很长时间(与第一次安装一样)。但是当我关闭盒子电源以退出时,我没有按住电源按钮。只需按下电源按钮即可触发安装程序的干净关闭 - 而不是强制关闭。也许这种差异就是 grub 现在能正常工作的原因 - 我不知道。