如何将 Ubuntu 安装移动到已安装 Windows 的驱动器?

如何将 Ubuntu 安装移动到已安装 Windows 的驱动器?

我知道如果我移动到一个干净的驱动器,clonezilla 会起作用,但这不是我想要做的。

我遇到问题的原因很简单:我安装了 Ubuntu,并告诉它“与 Windows 一起安装”以加快我的生活。事实上,它忽略了驱动器 1 中所有 50GB 的未分配空间安装后驾驶一个而是将 Ubuntu 安装到驱动器 2:驱动器 2

我的意思是,我甚至不会抱怨这件事。我只是非常沮丧,因为我需要将两者放在同一个驱动器上,而重新安装会花费很多时间,因为我已经花了几个小时来设置它,所有程序,一切。

有任何想法吗?

答案1

可能还有一段路要走,但只需要做一点工作。那么我们要做什么呢?首先,我们将系统复制到新位置。然后,我们必须对复制的 fstab 进行一些调整,以表示根分区的新位置,我们将 chroot 到复制的系统中来调整启动文件。

先决条件:

  1. 在 /dev/sda 上未分配的空间中创建一个 ext4 分区
  2. 将新创建的分区挂载到 /mnt sudo mount /dev/sda6 /mnt- 它可能末尾有一个不同的数字,但 gparted 会告诉你
  3. 获取新分区的 uuidls -la /dev/disk/by-uuid/并记下来

复制文件

使用以下命令将当前内容复制/到新分区: sudo rsync -aAXv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /mnt

做出必要的修正

  1. 通过调整新位置上的 fstabsudo nano /mnt/etc/fstab并将条目中的 uuid 替换为/;之后它应该看起来像UUID={UUID-of-the-new-partition} / ext4 errors=remount-ro 0 1
  2. 将 chroot 所需的目录挂载到 /mnt for dir in /dev /dev/pts /proc /sys /run; do sudo mount --bind $dir /mnt$dir; done
  3. 不要忘记 boot/efisudo umount /dev/sda1 && sudo mount /dev/sda1 /mnt/boot/efi
  4. chroot 进入复制的系统sudo chroot /mnt /bin/bash
  5. 更新引导加载程序sudo update-grub
  6. 输入exit退出 chroot
  7. 重启

整理起来 现在,您的 grub 中可能有两个 ubuntu 条目,因此您可能需要尝试它们以查看哪一个代表新位置中的系统。如果它启动正常,并且您已检查一切正常,则可以删除 gparted 中的旧 ubuntu 分区并sudo update-grub再次运行,这样就只剩下一个 ubuntu。

希望这有帮助

相关内容