我正在尝试将我的 SSD 克隆到更大的设备,因此我将有一个可引导的备份,以期在多个桌面客户端上进行系统升级。我还想模拟一个已知正确的过程,看看我是否可以可靠地将我的系统驱动器克隆到更大的 HDD/SSD 上(到目前为止,过去这样做的所有尝试都失败了)。当前运行 16.04,它是使用完全加密的磁盘选项构建的。正在使用的测试系统运行良好。
我遵循了我在这个网站上找到的几个程序,但没有一个有效。我在每个过程中都遇到了死胡同,所以为了简化事情,我做了以下事情:
sudo dd if=/dev/sda of=/dev/sdd bs=64k
打开 GParted 并删除 /dev/sdd 上的旧 crypt-luks 分区,如将加密的 SSD 克隆到更大的 SSD中发布的过程中所述。这是一个错误,从这里开始我就死在了水里。我无法创建新的 crypt-luks 分区。
因此,解释如何在新目标驱动器上[重新]创建/调整 crypt-luks 分区大小的答案将非常有帮助。
我重复了 dd 并尝试使用以下命令(使用 live 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 为 80GB。
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 来验证,它显示了相同的分区之前和之后:
我已经在这方面做了很多天的研究,并试图让它发挥作用,我开始有了狭隘的视野。我非常感谢有人发布一个防弹程序,该程序已知可用于将加密的 HDD/SSD 克隆到更大的存储设备。
目标 dd 驱动器确实会在不扩展任何分区的情况下启动。
我的主要问题实际上更多是关于扩展加密文件系统,而不是关于克隆它们。尽管这两个任务显然是密切相关的。一个防弹的、可扩展的、可靠的可重复的过程来解释如何做到这两点将非常有帮助。尽管我相信我正确地运行了该程序,但程序https://help.ubuntu.com/community/ResizeEncryptedPartitions对我来说有点太复杂了。它可能非常接近我的需要,但可能缺少一两步。
在我看来,简单地在正确克隆的设备上扩展加密分区不需要超过几个命令。理想情况下,使用 GParted 很容易做到这一点。
我需要在一组完全干净的情况下对此进行测试,但在上述过程结束时运行这些命令似乎可行。如果我遇到更多障碍,我将更新此解决方案。