将分区的双启动系统移动到单独的硬盘上

我想要在两个不同的硬盘上双启动Windows 10和Ubuntu。听起来很简单,对吧?但问题是我已经在一个硬盘上将Windows 10和Ubuntu双启动了。理想情况下,我希望将Ubuntu移动到第二个硬盘而不是进行全新安装,因为我安装了许多重要的程序,重新安装会很麻烦。请问有什么最安全的方法可以做到这一点?

干净安装仍然是最简单的方法。如果您拥有合理快速的互联网连接,您可以导出已安装应用程序列表并重新安装。如果来自ppa,则必须单独添加这些。系统是UEFI(gpt)还是BIOS(MBR)。如果是gpt,则无法轻松复制分区映像,因为分区表中的GUID和备份分区表必须匹配。您只需复制所有文件并重新安装grub,重置UUID和其他一些设置。您有备份吗?进行干净安装将是测试您备份过程是否有效的好方法。 - oldfred
关于全新安装的评论:你可以很容易地将原始系统中的个人目录复制到新的安装中;只需确保两个系统同时存在足够长的时间来完成此操作。 - Rod Smith
1个回答

我很想将这个标记为重复,因为它基本上是在问与这里回答的问题相同的问题: 将整个Linux安装移到另一个驱动器 不过,这个问题与我参考的那个问题有一两个偏差:
  • 所引用的问题是关于仅在Linux上安装,而您的情况是同时拥有Windows和Linux。不过这并不会对任何事情产生实质性影响,除非是EFI系统分区(ESP),它通常在操作系统之间共享。您可以将Ubuntu的GRUB保留在原始磁盘的ESP上,或者将其移动到第二个磁盘上的一个新的仅供Ubuntu使用的ESP。无论采取哪种方法,都可以正常工作,但后一种方法会使安装更加自包含--您将能够将Ubuntu磁盘物理移动到另一台计算机并在那里启动它(尽管由于EFI模式引导的方式,您需要跳过一些麻烦)。另一方面,保留GRUB在原位可能会稍微麻烦一些。
  • 所引用的问题涉及BIOS模式引导。目前不清楚您是以BIOS/CSM/传统模式还是以EFI/UEFI模式引导,但如果Windows安装是出厂设置的话,可能是以EFI模式引导。(请参考我的这个页面来确定您的引导模式。)假设是以EFI模式引导,如果您将GRUB移动到新的磁盘上,您需要调整EFI的引导管理器以指向其新位置。您可以使用efibootmgr或者借助Boot Repair重新安装GRUB来完成这个操作。无论是BIOS模式还是EFI模式安装,很可能需要调整GRUB的配置以使其指向新位置。Boot Repair应该能够做到这一点。另外,如果是基于EFI的系统,在您转移系统并更新了/etc/fstab文件后,您可以使用我制作的rEFInd引导管理器放在USB闪存驱动器或CD-R上进行引导,然后手动安装GRUB或rEFInd。
在任何情况下,有很多不同的方法可以做到这一点。它们在大致轮廓上都相似,但细节略有不同。最大的挑战可能是处理引导加载程序(默认为GRUB),如果没有适当重新配置,它可能会挑剔并引发问题。