我按照以下步骤将/dev/sda4(UUID 5da9c956-e544-47e3-bb8e-fe18d9531b2f)上的正常交换转换为 16.04 上的加密交换分区:
禁用旧的交换分区并用零覆盖它:
sudo swapoff -a
sudo dd if=/dev/zero of=/dev/sda4 bs=4M
Run Code Online (Sandbox Code Playgroud)安装cryptsetup:
sudo apt install cryptsetup
Run Code Online (Sandbox Code Playgroud)编辑/etc/crypttab以包含此内容:
# <target name> <source device> <key file> <options>
cryptswap UUID=5da9c956-e544-47e3-bb8e-fe18d9531b2f /dev/urandom swap
Run Code Online (Sandbox Code Playgroud)编辑/etc/fstab以删除旧的交换行并将其替换为:
# cryptswap on /dev/sda4 configured in /etc/crypttab
/dev/mapper/cryptswap none swap sw 0 0
Run Code Online (Sandbox Code Playgroud)重新加载 cryptdisks 配置:
sudo service cryptdisks reload
sudo service cryptdisks-early reload
Run Code Online (Sandbox Code Playgroud)启用新的加密交换:
sudo swapon -a
Run Code Online (Sandbox Code Playgroud)但是,这最后一步给了我以下错误消息:
swapon: stat of /dev/mapper/cryptswap failed: No such file or directory …Run Code Online (Sandbox Code Playgroud)