fif*_*tra 9 encryption format swap
我已经安装了带有加密主目录的 Kubuntu 14.04。虽然我在安装过程中设置了交换空间,但安装后交换空间不存在。这发生在很多人身上,似乎某处有错误。我用谷歌搜索并在这里找到了解决方案 。
我按照那里的步骤操作,省略了与恢复有关的步骤,因为无论如何在我的安装中都是禁用的。所以我基本上做了:
sudo swapoff -a (turns off swap)
comment existing swap configuration in /etc/crypttab
comment existing swap configuration in /etc/fstab
re-format swap partition with gparted as linux-swap
sudo mkswap /dev/sdXX
sudo swapon /dev/sdXX
sudo ecryptfs-setup-swap
Run Code Online (Sandbox Code Playgroud)
然后我进行了一次有效的交换并且很高兴,直到我重新启动了我的笔记本电脑并回到了原点。查看带有 gparted 的分区,它说(前)交换分区的文件系统未知,不用说我没有任何可用的交换空间。
所以,现在我的问题是:为什么文件系统格式(如 linux-swap)在重启后无法生存?我能做些什么吗?
如果我执行 blkid,则交换分区根本不显示,所以我的问题似乎与这个问题不同。
编辑:仍在处理它,所以我再次执行了上述过程,之后 /etc/crypttab 看起来像这样:
cryptswap1 UUID=xxxx /dev/urandom swap,cipher=aes-cbc-essiv:sha256
Run Code Online (Sandbox Code Playgroud)
加上一些被注释掉的行。并且 /etc/fstab 包含这一行:
/dev/mapper/cryptswap1 none swap sw 0 0
Run Code Online (Sandbox Code Playgroud)
然而,两条新行看起来与前两次生成的完全相同(除了 UUID)。所以我不抱太大希望它会在我重新启动时保留下来。Gparted 现在显示我用作 linux-swap 的分区。(重新启动之前) blkid 也给出了这一行:
/dev/sda7: UUID="xxxx" TYPE="swap"
Run Code Online (Sandbox Code Playgroud)
我测试了交换并且它有效,即我启动了一个使用大量内存的程序并检查了在系统监视器中加载了多少内存。
Edit2:原来 3 不是解决这个问题的神奇数字。这两个文件的内容没有变化,blkid 不再显示带有 /dev/sda7 的行,gparted 将交换分区显示为“未知”。
任何建议,我可以查看的输出或我可以尝试的其他内容都非常受欢迎。我目前的解决方法是不重启,但有时当有更新时,我的笔记本电脑真的想重启。
Edit3:真的没有其他人可以尝试解决这个问题吗?我可以尝试任何命令吗?我可以查看任何输出?
这在重新启动时不会发生。完成设置(运行ecryptfs-setup-swap)后,返回gparted并重新加载表并打开终端并运行:sudo fdisk -l /dev/sda。你会发现那个分区仍然有Id 83Linux Swap并且变成了Unknown format。
这是为什么?!它已经成为一个加密分区。
在/etc/fstab:
插入的新映射:
/dev/mapper/cryptswap1 none swap sw 0 0
Run Code Online (Sandbox Code Playgroud)这可以。
在/etc/crypttab:
添加了一个新行来映射交换:
cryptswap1 UUID=xxxx /dev/urandom swap,cipher=aes-cbc-essiv:sha256
Run Code Online (Sandbox Code Playgroud)但是这里有问题,加密分区是否有 UUID(未加密)?!!!
所以直接设置dev路径如下例:
cryptswap1 /dev/sdXX /dev/urandom swap,cipher=aes-cbc-essiv:sha256
Run Code Online (Sandbox Code Playgroud)重新启动,然后交换将开启。
顺便说一句,这应该报告为一个错误。ecryptfs-setup-swap应该使用设备路径而不是 uuid。
更新:我可以找到相同的回答问题,其中也包括错误报告。
它通过offset=在 crypttab 选项中添加一个来包含规范答案。