cryptsetup luksFormat 错误“设备 /dev/nvme0n1p3 正在使用中。无法继续格式化操作。”

And*_* L. 2 encryption home luks cryptsetup disk-encryption

我遵循此准则来加密目标分区:

cryptsetup -h sha256 -c aes-xts-plain64 -s 512 luksFormat /dev/nvme0n1p3
Run Code Online (Sandbox Code Playgroud)

然后,即使我之前卸载了主分区,也会出现错误: umount -l /home

使用-l -标志的原因是没有它它就无法工作。此外,为了到目前为止,我必须启动系统直到到达用户登录屏幕,然后按CTRL+ALT+F2进入tty2,通过“登录”和“密码”登录我的用户,然后卸载“/home” - 强力分区。

尽管我之前通过 gparted 检查过它是与 /home 相关的硬盘驱动器上的安装点,但它指出

“设备 /dev/nvme0n1p3 正在使用。无法继续格式化操作。”

尽管之前已经卸载了“/home”。

如何使用 LUKS (cryptsetup) 完成对“/home”分区的加密?由于与 Windows 10 并行安装,我无法加密整个 ubuntu 20.04 安装,我是否可以以相同的方式使用它来加密我的 swap、/temp 和 /var/temp?

Voj*_*fny 7

umount -l所谓的延迟卸载——对于繁忙的文件系统,它会等到文件系统不再使用时才真正卸载它。

来自mount联机帮助页:

-l,--懒惰

懒惰卸载。现在将文件系统从文件层次结构中分离出来,并在该文件系统不再繁忙时立即清除对此文件系统的所有引用。

所以cryptsetup调用失败,因为您的/home仍在使用中,并且它被使用是因为您已登录。您需要先注销,然后卸载您的/home. 为此,您需要以 root 身份登录(不使用/home)或使用 LiveCD。

是的,您可以使用相同的步骤来加密交换(这可以在禁用交换后运行系统来完成swapoff -a)和其他分区。

顺便提一句。如果您想加密整个系统,我建议使用LVM,它允许您在物理卷层上的单点上设置加密(但这需要重新安装系统)。