将现有的Ubuntu安装分割到两个物理驱动器上

我计划在我的Ubuntu机器上添加一个SSD硬盘。目前,这台电脑只有一个硬盘,里面包含了整个系统安装。我想要做的是将现有的安装移动到SSD(/挂载点),但不包括/home文件夹,我希望将其保留在当前的硬盘上。原因是,家目录文件夹无法容纳在SSD上。
有没有办法只复制除/home文件夹以外的所有内容到SSD上,然后将当前硬盘的家目录文件夹挂载到/home(当然要删除那些已经复制到SSD上的东西)。有人尝试过吗?你觉得这可能吗?
我不想重新安装系统,因为重新配置一切需要很长时间。

复制/的数据不会有问题;我在GRUB/启动配置中看到了主要的问题。我会添加标签,希望有人能帮助我解决我不擅长的启动部分。顺便问一下,现在你有两个分区(//home)还是只有一个?知道这个信息会很有用。请在您的帖子中添加df -h的结果。 - Rmano
3个回答

尚未经过测试,但如果SSD的大小至少与HDD相同或更大,我会以以下方式来操作:

为了简便起见,我们将SSD命名为/dev/sda,HDD命名为/dev/sdb

步骤:

  1. 将SSD和HDD插入并从可启动介质(CD-ROM、U盘)引导Ubuntu。

  2. 在终端中输入以下命令:sudo dd if=/dev/sdb of=/dev/sda

  3. 完成后,挂载/dev/sda并编辑其中的/etc/fstab文件,添加以下内容:

    /dev/sdb1 /home ext4 noatime,nodiratime,defaults 0 2

  4. 进入挂载的/dev/sda中的/home目录,并清空其中的所有内容。

  5. 现在是困难的部分:挂载/dev/sdb1并清空除/home目录以外的所有内容。

  6. 清空后,进入/home目录,并将其中的目录移动到挂载的/dev/sdb1的根目录下。

  7. /dev/sdb1中删除空的/home目录。

  8. 如果/dev/sda/dev/sdb大,使用gparted调整分区大小以适应磁盘。

  9. /dev/sda重新启动。

  10. 享受吧。


以下链接是关于将/home放在单独分区的一个非常好的答案,它同样适用于将/home放在单独驱动器上。

https://help.ubuntu.com/community/Partitioning/Home/Moving

所以我会在SSD上进行全新安装,然后使用上面的链接,告诉它在HDD上使用/home。您将不得不重新安装程序,但它们将从/home中获取设置。

首先,您应该使用现有系统(fdisd)对SSD进行分区。不要在新创建的分区上创建文件系统,只需使用dd将现有分区复制到SSD上的分区即可。例如:
dd if=/dev/sda1 of=dev/sdb1

Fstab应该被更新,指向新的分区。 如果可能的话,我建议将/var保留在您的硬盘上,因为它经常被写入。

你只能在完全相同的驱动器/分区上使用dd命令。OP问题的主要问题是引导配置。 - Rmano