Cryptswap 启动错误 - 无法挂载?

woo*_*ody 9 encryption mount swap

我相信我已经设置了交换,但我不确定,因为在启动时它说它类似于“无法挂载 /dev/mapper/cryptswap1 M for manual S for skip”。但是好像是挂载了?我已经尝试过这个解决方案但没有成功。

当我运行free -m输出是:

             total       used       free     shared    buffers     cached
Mem:          3887        769       3117          0         54        348
-/+ buffers/cache:        366       3520
Swap:         4026          0       4026
Run Code Online (Sandbox Code Playgroud)

并且sudo bklid是:

/dev/sda1: UUID="9fb3ccd6-3732-4989-bfa4-e943a09f1153" TYPE="ext4" 
/dev/mapper/cryptswap1: UUID="bd9fe154-8621-48b3-95d2-ae5c91f373fd" TYPE="swap"
Run Code Online (Sandbox Code Playgroud)

并且cat /etc/crypttab是:

cryptswap1 /dev/sda5 /dev/urandom swap,cipher=aes-cbc-essiv:sha256
Run Code Online (Sandbox Code Playgroud)

我的/etc/fstab是:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
#                
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda1 during installation
UUID=9fb3ccd6-3732-4989-bfa4-e943a09f1153 /               ext4    
errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
#UUID=bb0e378e-8742-435a-beda-ae7788a7c1b0 none            swap    
sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0
Run Code Online (Sandbox Code Playgroud)

cat /proc/swaps 输出是:

Filename             Type        Size    Used    Priority
/dev/dm-0                               partition   4123644 0   -1
Run Code Online (Sandbox Code Playgroud)

我的交换是否设置不正确或如何修复我的启动消息?

Fuz*_*zyQ 9

我碰巧在两台不同的计算机上的 3 个不同版本的 Ubuntu 上偶然发现了这个问题。尽管大多数情况下尽管有警告消息还是挂载了交换分区,但有时 GUI 会因此拒绝在引导完成时启动。

这是我作为解决方法所做的:

Ctrl+ Alt+打开终端T

键入gksudo gedit /etc/fstab并按Enter

搜索以下行:

/dev/mapper/cryptswap1 none swap sw 0 0

现在在noauto后面输入值sw(用逗号分隔),看起来像这样:

/dev/mapper/cryptswap1 none swap sw,noauto 0 0

保存并退出。这样,您的交换分区将不会在启动时挂载,因此不会出现警告消息,甚至不会妨碍登录屏幕的出现。

现在输入终端

gksudo gedit /etc/rc.local

并在条目前输入 以下几行exit 0

sleep 10

swapon /dev/mapper/cryptswap1

如果没有 entry exit 0,您必须在这两行的正下方输入它。保存并再次退出。这将告诉您的系统在登录后等待 10 秒以挂载加密交换分区。

重新启动系统。您不应再收到警告消息。登录后,等待一段时间,然后再次打开终端并输入

free -m

您的输出应如下所示:

Fuzzyq@Samsung-R710:~$ free -m

              total       used       free     shared    buffers     cached

 Mem:          3949       3806        143          0         86       1783

 -/+ buffers/cache:       1936       2013

 Swap:         4095          0       4095
Run Code Online (Sandbox Code Playgroud)

最后一行是重要的。如果总交换区显示为正值,则您的交换分区已成功安装。

  • 非常感谢这终于解决了我的问题并正确安装! (2认同)