我的硬盘上以前有两个分区,/dev/sdb1 和 /dev/sdb2。sdb1 未加密,sdb2 使用 LUKS 加密。我删除了 sdb1,现在想调整 sdb2 的大小以占用 sdb1 以前占用的空间。我该如何在不破坏数据的情况下做到这一点?
Cryptsetup 有一个选项叫 resize。这个选项有什么用?我是否可以使用它来扩大 LUKS 容器以占用磁盘上的所有空间,然后打开容器并像平常一样调整底层 ext4 文件系统的大小?问题在于我通常使用 gparted 来做这样的事情,但 gparted 不支持调整 LUKS 的大小,我不知道如何使用其他工具来做到这一点。
答案1
使用 gparted移动将分区一直移到左边,然后您可以使用命令行parted
来调整分区大小,然后听起来您可以使用选项cryptsetup resize
来扩大加密容器,最后resize2fs
扩大其中的文件系统。
答案2
KDE Partition Manager 2.2.0 可以调整 LUKS 分区的大小,因此您无需手动处理分区大小。
它还没有为 Ubuntu 打包,但您可以尝试自己编译 kpmcore 2.2.0,然后编译 partitionmanager 2.2.0(这可能比手动调整分区大小的风险更小)。
或者您也可以尝试一些已经打包了 kpmcore/kde 分区管理器 2.2.0 的发行版的 LiveCD。例如氖它基于 Ubuntu LTS。
答案3
GParted 0.28(2017 年 2 月发布)增加了对调整开放 LUKS 卷内文件系统大小的支持。
目前还没有 Ubuntu 发行版提供该版本,但从源代码安装很简单,因为 libparted2 的打包版本足够新,可以运行。Aapt-get build-dep gparted
会为您提供所需的依赖项(另外,apt-get install gnome-common
如果您需要(重新)生成配置脚本)。