将 Ubuntu 转移到具有不同分区号的新、较小的磁盘

将 Ubuntu 转移到具有不同分区号的新、较小的磁盘

我读过一些问题和答案,大多数答案都是用来dd将磁盘复制到新磁盘的,新磁盘总是更大。我正尝试将 1TB 磁盘上的单个分区移动到 250GB SSD。

我当前的设置:

sda SSD, GRUB INSTALLED HERE
--sda1 Windows 10 recovery
--sda2 Windows 10 OS ~240 GB

sdb Mechanical HDD, 1TB
--sdb1 Ubuntu 16.04 ~110 GB
--sdb2 NTFS Storage ~650 GB
--sdb3 EXT4 ~16GB (used for testing and backups)
--sdb4 Ubuntu Gnome 14.04 ~120GB
--sdb5 SWAP

我的新 SSD 也是 240GB,我有一个外壳来传输操作系统。我打算将 1TB 换成更小的 SSD,但我只想移动 sdb4。它将看起来像这样:

sdb NEW SSD
--sdb1 Ubuntu Gnome 14.04 ~120GB
--sdb2 Swap ~8GB
--sdb3 NTFS Storage ~112GB

新的 sdb3 NTFS 将是一个空的新分区,我不想从 1TB 中复制它。

为了进行传输,我将从笔记本电脑中取出 1TB,将 SSD 放入原位,然后将 1TB 放入外部 USB 盒中以便访问。我将从 LiveUSB 启动,然后呢?

据我所知,我不能直接dd将 1TB 复制到 SSD,因为它比较小,而且我不想复制整个磁盘,我只想复制 sdb4。它会将其作为 sdb1 还是 sdb4 复制到新磁盘?

在我弄清楚如何做到这一点之后,我应该能够安装新的 SSD 并将 chroot 放入其中运行,update-grub对吗?

由于分区使用 UUID,新 SSD 复制的 Linux 分区是否会有新的 UUID?如果它有新的 UUID,这会导致启动/运行出现问题吗?另一方面,如果 UUID 也被复制过来,当我插入 USB 时,出现 2 个相同的 UUID 会导致问题吗?我不想从 1TB 中删除 sdb4,而是将其保留为备份。我还将继续通过 USB 使用 1TB 进行存储。

最后,显然我必须编辑我的/etc/fstab

抱歉问了这么多问题,但我读到的所有东西,从使用 dd,到 gparted 和其他软件,都不太清楚,而且操作方式也不同。而且不清楚当操作系统的分区标识符发生变化时(sdb1/4 或新的 UUID),操作系统是否会出现问题。

答案1

既然没人回答,我就决定尝试一下,最后成功了。以下是我所做的;

我通过 USB 插入了新的 SSD。打开 gparted 并转到我的 1TB,右键单击我想要复制的 Ubuntu 安装,然后单击“复制”。转到新的 SSD,右键单击空驱动器并“粘贴”。这花了一段时间,但它复制了整个分区并保留了 UUID。我对交换分区做了同样的事情,这样新的分区就会有相同的 UUID,而且我甚至不必对我的分区进行任何更改,/etc/fstab因为它使用 UUID。然后我创建了一个空白的 NTFS 分区,可以在 Ubuntu 和 Windows 之间共享。

完成后,我物理交换了新的 SSD 和 1TB 驱动器。启动时,我收到设备不存在的错误。

我启动了 LiveUSB 并选择“尝试 Ubuntu”。

然后我打开终端并输入以下内容:

sudo mount /dev/sdb1 /mnt
sudo grub-install --root-directory=/mnt /dev/sda
sudo umount /dev/sdb1

sdb1是我从旧的 1TB 复制过来的新分区,也是sda我的 Windows 驱动器,其上始终安装着 grub。

运行grub-install上述命令检测到了 SSD 上 Ubuntu 的新家,还检测到了 Windows 10。我甚至不需要执行任何update-grub命令。

我重新启动了笔记本电脑,grub 出现了两个选项:Ubuntu Gnome 或 Windows 10,并且这两个选项都运行良好!

我的 1TB 现在放在我最初用于 SSD 的 USB 盒中,只是为了复制分区。现在它将用于长期存储。我更喜欢速度而不是大小。

附注:在 SSD 上运行 Ubuntu Gnome 14.04 速度极快,大约 5 秒即可启动到桌面。可以说我非常满意!

相关内容