14.10 - 交换不可用

met*_*221 5 encryption swap dmcrypt 14.10

我的交换似乎不起作用。我试图修复它,但我尝试过的没有任何效果。
以下是解决问题的一些相关信息:
在安装期间,我选择加密我的主文件夹。似乎正在使用 cryptswap。
当我打开 gnome-system-monitor 时,它说“交换不可用”。
这是一些编辑过的终端输出:

sudo swapon -s
(Nothing)

sudo swapon -a
swapon: stat failed /dev/mapper/cryptswap1: No such file or directory

cat /etc/fstab
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda1 during installation
UUID=3dbb0bca-df4c-426d-a672-2e31e6683646 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
#UUID=ef29aae9-af0e-403c-b702-334acb1d5879 none            swap    sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0

cat /etc/crypttab
cryptswap1 UUID=ef29aae9-af0e-403c-b702-334acb1d5879 /dev/urandom swap,cipher=aes-cbc-essiv:sha256

sudo lsblk -o NAME,FSTYPE,UUID
NAME   FSTYPE UUID
sda           
??sda1 ext4   3dbb0bca-df4c-426d-a672-2e31e6683646
??sda5
Run Code Online (Sandbox Code Playgroud)

GParted: 在此处输入图片说明

任何帮助表示赞赏 =)

小智 8

提供的链接 necordian 具有解决此问题的步骤(我在具有 RAID 和加密主目录/交换的系统上进行了测试),但缺少 1 个步骤,您需要在交换可用之前重新启动。这是我为使加密交换分区正常工作所做的工作。

需要交换分区的 UUID 和设备名称才能在具有加密主目录/交换的 RAID 系统上修复此问题:

使用“磁盘”实用程序查找设备 ID:

单击 unity 工具栏中的 ubuntu 徽标,然后键入Disks以打开磁盘实用程序。

选择 SWAP 分区,设备名称应在下面列出。

(通常 /dev/dm-# 用于 RAID 或 /dev/sda# 用于非 RAID)

在我的带有 RAID 的 PC 上,它是/dev/dm-6

从 crypttab 获取 UUID:

cat /etc/crypttab
Run Code Online (Sandbox Code Playgroud)

我的/etc/crypttab

cryptswap1 UUID=5381faa1-369c-4504-9d8d-acfc7cb69e71 /dev/urandom swap,cipher=aes-cbc-essiv:sha256
Run Code Online (Sandbox Code Playgroud)

然后使用您的交换 UUID 和设备名称运行以下命令:

sudo mkswap -U 5381faa1-369c-4504-9d8d-acfc7cb69e71 /dev/dm-6
Run Code Online (Sandbox Code Playgroud)

在swap之后直接在/etc/crypttab中的swap行中添加以下文本,1024 ,cipher=aes-cbc-essiv:sha256不要留任何空格。

sudo nano /etc/crypttab
Run Code Online (Sandbox Code Playgroud)

/etc/crypttab现在应该类似于:

cryptswap1 UUID=5381faa1-369c-4504-9d8d-acfc7cb69e71 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,1024
Run Code Online (Sandbox Code Playgroud)

运行以下命令:

sudo update-initramfs -u
Run Code Online (Sandbox Code Playgroud)

重新启动,您的交换现在应该可以工作(对我来说很有效)。

尝试重新启动几次以确保一切正常。