如何将 /boot 和 LUKS 加密的根分区克隆到具有不同分区表的新磁盘

如何将 /boot 和 LUKS 加密的根分区克隆到具有不同分区表的新磁盘

有问题的系统安装在一个 80GB 的硬盘上,这个硬盘快报废了。分区表是 msdos,有一个/boot分区,还有加密swap分区/。交换区不再使用,所以我宁愿放弃它。

我要替换的磁盘是 6TB WD Red,由于其大小,我需要使用 gpt,因此我不能只替换dd整个磁盘。我希望它具有相同大小的/boot分区,而其余部分则是加密/分区。

我已经让这个系统运行了很长一段时间,但从那时起,我完全忘记了为了让它恢复原状我做了哪些事情,所以希望除了“重新安装并重新启动”之外,我还有其他选择。谢谢!

答案1

花了几个小时测试了所有的东西,所有的工作都和以前完全一样,所以我称这个问题已经解决了,因为我刚刚发现我不仅可以回答我自己的问题,而且我受到鼓励, 这里是:

  1. 启动实时 USB 并从头开始将 Xubuntu 安装到新驱动器上,根据需要创建新分区,但确保使用与原始完全相同的用户名、pw 等。
  2. 运行update、、dist-upgrade然后clean进入autoremoveapt-get安装。
  3. 重新启动到旧硬盘,在旧安装上运行相同的更新
  4. 重新启动 USB,运行lsblk以检查哪个在哪里,然后:

    apt-get install cryptsetup
    cryptsetup luksOpen /dev/[old root partition] [old partition's name]
    cryptsetup luksOpen /dev/[new root partition] [new partition's name]
    mount /dev/mapper/[old partition's name] /mnt/oldroot
    mount /dev/mapper/[new partition's name] /mnt/root
    cp /mnt/root/etc/fstab [somewhere safe]
    cp -axfv /mnt/oldroot/* /mnt/root
    cp [somewhere safe]/fstab /mnt/root/etc/
    
  5. 关机,断开旧驱动器和实时 USB,然后启动到新驱动器

与其他类似问题的答案不同,我发现无需从实时 USB 安装启动分区,也无需担心mount -B/ chroot/ update-grub,也无需触碰,fstab只需备份和恢复即可。我很惊讶它能起作用,因为这是凌晨 3 点的一次尝试,但它确实起作用了。希望这能帮助其他人!

答案2

这看起来像是一个有用的程序。我不知道是否可以存储偶然发现的有用答案/程序,但是嘿,回答它确实会将其存储在我的“问题”区域中。抱歉滥用,在任何地方都没有看到任何“标记”选项。

相关内容