我如何告诉 Ubuntu 引导加载程序从不同的驱动器启动?

我如何告诉 Ubuntu 引导加载程序从不同的驱动器启动?

这应该是一个简单的问题。我的系统设置为双启动 Ubuntu 20.04 和 Windows 10。我之前只有一个小型 SSD(256 GB),因此 SSD 上只有 EFI 分区和 Windows 系统分区,而内部 HDD 上只有 Ubuntu 分区。HDD 只有 5400 RPM,缓慢的低加载时间一直是令人烦恼的根源。

我刚买了一个新的 2TB SSD,想让两个操作系统都从该驱动器启动。我使用 Gparted 将两个旧驱动器的分区复制到新驱动器上,并将 BIOS 设置为从新驱动器启动。令人惊讶的是,复制的 efi 分区上的引导加载程序可以正常工作,系统仍然可以启动。唯一的问题是,它加载的 Ubuntu 分区是旧硬盘上的副本,而不是我在新 SSD 上创建的克隆。

Gparted 显示新驱动器的 efi 分区已挂载为 /dev/efi,但旧硬盘上的 Ubuntu 分区仍设置为根目录。我如何更改引导加载程序以从新驱动器引导?

答案1

以下是我修复此问题的方法:

  1. 使用 Gparted,为新的 Ubuntu 分区分配不同的 UUID。克隆后,两个分区上的 UUID 实际上是相同的。(感谢 @oldfred 指出这一点)。

  2. 从 Ubuntu 闪存驱动器启动,然后安装/运行启动修复。

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
  1. 展开“高级选项”,在“Grub 位置”选项卡上,选择带有新 Ubuntu 分区的设备文件。

  2. 点击“应用”并按照提示进行操作。

  3. 当我重新启动时,Grub 加载程序中的默认启动选项是新分区。它仍然为我提供了从旧驱动器启动的选项,目前还不错。新安装启动没有问题,现在一切都运行得更快了!

相关内容