几年前我使用过这个优秀的指南https://www.youtube.com/watch?v=co5V2YmFVEE使用 LUKS 加密我的 Thinkpad 磁盘并使用 BTRFS 作为我的文件系统。
当时我的 SSD 只有 256GB,现在我已经更新到 1TB,并使用 Clonezilla 将我的驱动器克隆到新的 SSD。唯一的问题仍然是 - 如何安全地扩展我的 LUKS 加密分区和其下的 BTRFS 系统(带有 2 个子卷 - root 和 home)?
我的/etc/fstab
# /dev/nvme0n1p1
UUID=6E39-1234 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 2
# /dev/mapper/cryptroot
UUID=d7cf34c3-8fb4-4cbb-b04b-96e8121e11d9 / btrfs rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=256,subvol=/@ 0 0
# /dev/mapper/cryptroot
UUID=d7cf34c3-8fb4-4cbb-b04b-96e8121e11d9 /home btrfs rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=257,subvol=/@home 0 0
答案1
因此,回答我自己的问题,这是最简单的方法(确认有效 - 当然总是准备好备份,我通过 Clonezilla 将备份放在我的 NAS 上):
我的设备名称是 -隐根
- 启动 Live CD/USB(我使用 Arch,所以我选择了它)
- 打开加密分区-cryptsetup 打开 /dev/nvme0n1p2 cryptroot
- 用parted打开磁盘,在我的例子中是/dev/nvme0n1 -分开/dev/nvme0n1
- 打印分区然后执行调整零件大小 NUMBER 100%(其中 NUMBER 是加密分区的 ID - 它应该位于磁盘上的最后一个,在我的例子中是 2)
- 关闭 LUKS 设备一次 -cryptsetup 关闭 cryptroot
- 再次打开 LUKS 设备 -cryptsetup 打开 /dev/nvme0n1p2 cryptroot
- 调整大小 LUKS -cryptsetup 调整 cryptroot 大小
- 将分区挂载到任意文件夹(我选择/partition)-挂载/dev/mapper/cryptroot/分区
- 调整 BTRFS 大小 -btrfs 文件系统调整最大/分区大小
- 卸载分区
- 关闭 LUKS 设备 -cryptsetup 关闭 cryptroot
- 重新启动进入您的操作系统
您还可以在您使用的任何 Type 1 Hypervisor 上进行测试运行(这就是我所做的) - 只需通过 Clonezilla 恢复映像
答案2
如何安全地扩展我的 LUKS 加密分区
你不能。是的,您可以通过创建新的 PV 并添加它来调整 LUKS 分区的大小,然后调整 BTRFS 的大小,但它是非常有风险。这里没有“安全”。在空白空间中创建一个新分区,如果需要,请使用 LUKS 对其进行配置,然后从现有分区中迁移内容。