我正在尝试将我的 SSD 克隆到更大的设备上,这样我就可以拥有一个可启动的备份,以便在多个桌面客户端上进行系统升级。我还想模拟一个已知正确的过程,看看我是否可以可靠地将我的系统驱动器克隆到更大的 HDD/SSD(到目前为止,过去所有尝试都失败了)。当前运行的是使用完全加密磁盘选项构建的 16.04。正在使用的测试系统运行良好。
我按照我在这个网站上找到的几个步骤操作,但都不起作用。每个步骤都无济于事,因此为了简化操作,我做了以下操作:
sudo dd if=/dev/sda of=/dev/sdd bs=64k
打开 GParted 并按照发布在将加密的 SSD 克隆到更大的 SSD。这是一个错误,从此我就陷入了困境。我无法创建新的 crypt-luks 分区。
因此,解释如何在新的目标驱动器上[重新]创建/调整 crypt-luks 分区大小的答案将非常有帮助。
我重复了 dd 并尝试使用以下命令扩展目标文件系统(使用实时 CD):
sudo cryptsetup luksOpen /dev/sda5 sda5_crypt
sudo cryptsetup resize sda5_crypt
sudo modprobe dm-crypt
sudo vgscan --mknodes
sudo vgchange -ay
sudo pvresize /dev/mapper/sda5_crypt
sudo lvresize -l +100%FREE /dev/ubuntu-vg/root
返回:新大小(7020 个范围)与现有大小(7020 个范围)匹配。
sudo pvchange -x n /dev/mapper/sda5_crypt
返回:
Physical volume "/dev/mapper/sda5_crypt" is already unallocatable.
Physical volume /dev/mapper/sda5_crypt not changed
0 physical volumes changed / 1 physical volume not changed
sudo e2fsck -f /dev/mapper/ubuntu--vg-root
返回:
Pass 5: Checking group summary information
/dev/mapper/ubuntu--vg-root: 296641/1798720 files (0.8% non-contiguous), 3525828/7188480 blocks
源 SSD 为 32GB,而我尝试扩展的 HDD 为 80 GB。
sudo resize2fs -f /dev/mapper/ubuntu--vg-root
返回:
resize2fs 1.44.1 (24-Mar-2018)
The filesystem is already 7188480 (4k) blocks long. Nothing to do!
因此,看来该过程并未扩展分区。通过重新启动并运行 GParted 可验证这一点,GParted 显示前后分区相同:
我已经研究了好几天,试图让它发挥作用,但我开始变得目光短浅。如果有人能发布一个万无一失的程序,将加密的 HDD/SSD 克隆到更大的存储设备上,我将不胜感激。
目标 dd 驱动器确实将启动,而无需扩展任何分区。
我的主要问题其实更多地是关于扩展加密文件系统,而不是克隆它们。尽管这两项任务显然非常密切相关。一个万无一失、可扩展、可靠可重复的程序来解释如何同时完成这两项任务将非常有帮助。该程序https://help.ubuntu.com/community/ResizeEncryptedPartitions虽然我认为我正确地运行了该过程,但对我来说有点太复杂了。它可能非常接近我需要的,但可能缺少一两个步骤。
在我看来,简单地扩展正确克隆的设备上加密的分区应该只需要几个命令。理想情况下,这可以通过 GParted 轻松完成。
答案1
我需要在完全干净的环境下测试这一点,但在上述过程结束时运行这些命令似乎有效。如果我遇到更多问题,我会更新此解决方案。
sudo parted
(parted) print
(parted) resizepart
Partition number? 2
End? [32.0GB]? 100%
(parted) print
(parted) quit