加密交换分区不会显示在/ dev / mapper中
我按照以下步骤将/dev/sda4
(UUID 5da9c956-e544-47e3-bb8e-fe18d9531b2f
)上的正常交换转换为16.04上的加密交换分区:
-
禁用旧的交换分区并用零覆盖它:
sudo swapoff -a sudo dd if=/dev/zero of=/dev/sda4 bs=4M
-
安装
cryptsetup
:sudo apt install cryptsetup
-
编辑
/etc/crypttab
以包含此内容:# cryptswap UUID=5da9c956-e544-47e3-bb8e-fe18d9531b2f /dev/urandom swap
-
编辑
/etc/fstab
以删除旧的交换行并将其替换为以下内容:# cryptswap on /dev/sda4 configured in /etc/crypttab /dev/mapper/cryptswap none swap sw 0 0
-
重新加载cryptdisks配置:
sudo service cryptdisks reload sudo service cryptdisks-early reload
-
启用新的加密交换:
sudo swapon -a
但是,最后一步给了我以下错误消息:
swapon: stat of /dev/mapper/cryptswap failed: No such file or directory
实际上,似乎没有创建加密的设备文件:
$ ls -la /dev/mapper/ total 0 drwxr-xr-x 2 root root 60 Aug 10 18:50 . drwxr-xr-x 20 root root 4780 Aug 10 20:16 .. crw------- 1 root root 10, 236 Aug 10 18:50 control
这里出了什么问题,如何使我的加密交换分区工作?
你的/etc/crypttab
文件有问题导致eveything向南,以及你的交换分区出现问题。
首先,您需要mkswap
您要用于加密交换文件的分区。 cryptdisk实用程序希望您的分区是交换的,因此您应该保持这样:
sudo mkswap /dev/sda4
现在,请注意,这将更改分区的UUID。 使用以下命令获取新的命令,并记下它:
sudo blkid /dev/sda4
现在,我们需要处理手头的更大问题: /etc/crypttab
文件。 将其替换为以下内容:
# cryptswap UUID= /dev/urandom swap,offset=1024
重新启动系统,你应该有一个工作交换!
您当前设置了cryptswap
以将整个分区重新创建为加密交换。 这不是好的,因为我们需要保留UUID。 通过将交换偏移1024个块,我们保留了关键文件系统信息,包括UUID。