将 Ubunutu 引导加载程序从 Windows 磁盘移动到 Ubuntu 磁盘

将 Ubunutu 引导加载程序从 Windows 磁盘移动到 Ubuntu 磁盘

我有一台定制的台式电脑,希望完成 Ubuntu 安装的设置。我正尝试将 Ubuntu 安装的引导加载程序和 GRUB 移动到安装 Ubuntu 的磁盘。

我有多个内置驱动器,但对于这个问题,只有其中 2 个重要。第一个是三星 960 Pro 1TB NVME SSD(设备/dev/nvme0n1)。第二个是三星 850 PRO 1TB SSD(设备/dev/sdg)。我在 960 Pro 上安装了 Windows,在 850 Pro 上安装了 Ubuntu。

850 Pro的分区结构如下:

  • 512 MB EFI 分区
  • 64 GB Ext4 @ /
  • 64 GB 交换
  • 870+ GB Ext4 @ /home

当我浏览 Ubuntu 安装 GUI 时,我创建了这个架构,并/dev/sdg1'用于安装引导加载程序的设备'菜单。但是,似乎忽略了此选项,并将引导加载程序安装到 960 Pro 上。我的主板(Rampage V Edition 10)的 UEFI BIOS 将此指示为 Ubunutu 安装的引导加载程序的位置。当我选择时,我会启动到 GRUB 菜单,其中包含启动 Ubuntu 或启动 Windows 的选项。当我启动到 Ubunut 时,我可以看到使用磁盘实用程序应用程序/dev/nvme0n1o2安装了 960 Pro ()上的 EFI 分区。/boot/efi

如何移动 Ubuntu 引导加载程序以使用 850 Pro SSD 上的 EFI 分区(/dev/sdg1)?

答案1

首先,您应该意识到,除非您的设置中存在您未描述的情况,否则没有必要移动 Ubuntu 引导加载程序。由于任何移动引导加载程序的尝试都存在失败的风险,可能会导致 Ubuntu 甚至 Windows 无法启动,因此这很可能是“如果它没坏,就不要修理它”的情况。

也就是说,如果您想移动 GRUB(Ubuntu 的引导加载程序),您可以按照以下几个步骤进行:

  1. /dev/nvme0n1o2通过输入 来卸载sudo umount /boot/efi
  2. 通过键入 找到目标 ESP 的序列号(“UUID”,尽管从技术上讲它不是 UUID)sudo blkid /dev/sdg1。 (此步骤假定 SSD 上已经有 FAT 文件系统。如果没有,则需要使用 创建一个mkdosfs。)
  3. 编辑/etc/fstab:找到定义行/boot/efi并编辑它,使其引用/dev/sdg1而不是。执行此操作的最佳方法是将“UUID”从现在的值更改为您在上一步中/dev/nvme0n1o2获得的值。blkid
  4. 键入sudo mount -a以安装新的 ESP。
  5. 键入df /boot/efi以验证新 ESP 是否已安装在/boot/efi。 (如果未安装,df将报告/或 的信息/boot,而不是/boot/efi。)
  6. 输入sudo grub-install。这将安装 GRUB,但不会对其进行配置。
  7. 输入sudo update-grub。这将配置 GRUB。

应该就是所需的全部内容,除非我忘记了什么(当然是可能的)。如果它不起作用,系统可能会继续通过旧的 GRUB 启动,该 GRUB 仍然安装但不活动,位于 上。如果您想从那里完全卸载 GRUB,/dev/nvme0n1o2可以从该分区中删除目录。EFI/ubuntu

相关内容