在现有 Linux 系统中进行全盘加密,无需删除驱动器中的任何内容

在现有 Linux 系统中进行全盘加密,无需删除驱动器中的任何内容

我正在尝试在已安装的 Linux 系统中实现“全盘加密”。我遇到过带有 dm-crypt 的 LUKS,它可以加密驱动器/整个磁盘,但在加密之前,它会先格式化驱动器,并且所有数据都会被永久删除。

由于我需要对现有成熟的 Linux 机器(例如 Ubuntu、centOS)进行“全盘加密”,因此我可能无法承担驱动器/分区的格式化。是否有任何可能的方法可以让我进行“全盘加密”而不会丢失系统中的现有内容。

我对这些概念还很陌生,所以任何适当的指导都会有很大帮助。谢谢!

答案1

首先,您需要将分区缩小 1028 KB(略大于 1 MB)。我建议将其缩小 4 MB。操作前请卸载分区。

对于 ext4:

sudo dumpe2fs /dev/sdd1|grep 'Block count'

从该值中减去 1024(假设您有 4KB 块),然后执行以下操作:

sudo resize2fs /dev/sdd1 new_value

然后加密:

sudo cryptsetup-reencrypt -N --reduce-device-size 4M /dev/sdd1

答案2

我很快想到了两个选项:

  1. 安装 cryptsetup-reencrypt。使用您需要/想要的标志来重新加密它(这只会干扰 LUKS 设备,而不会干扰底层文件系统 (fs),无论是 ext2/3/4、xfs 等)。

  2. 解锁(启动和运行)时备份所有内容或作为第二个驱动器的安装dd或选项,然后根据需要重建。rsync

相关内容