14.04 LTS上未检测到交换空间。

我从12.04升级到14.04。当我打开资源监视器时,发现我的交换空间没有被检测到。我安装了Gparted,打开程序并查看我的文件树。我注意到我的交换区被标记为“未知”,旁边有一个红色的感叹号。我将其格式化为linux-swap,然后从菜单中选择了“swapon”。我重新加载了系统监视器,看起来问题已经解决了。
我重新启动电脑,再次打开系统监视器,发现交换区不再存在。在Gparted中,这次分区被识别为交换区,但系统没有看到它。每次系统重启时,我都需要执行“swapon”。
当VMware告诉我没有交换空间时,我首次意识到了这个问题。我以为我有交换空间,因为我只是升级了发行版。在升级过程中,我的分区布局没有任何改变。

我决定使用我的gparted livedisk来格式化相同的交换区域(您将在照片中看到)为linux-swap。在那之前,Gparted livesisk给出了相同的错误,即无法识别。完成交换格式化后,我重新启动电脑,发现它无法启动。这次GRUB出现了错误。以前在发行版上进行类似磁盘操作时,我从未遇到过这种情况。

然后我决定从USB和CD进行干净安装14.04,但是我仍然遇到同样的问题。我尝试过(您也会在照片中看到)从终端执行'swapon -a',但没有成功(尽管我能够在操作系统中使用Gparted进行swapon)- 我得到一个目录错误。

这是我的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).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda5 during installation
UUID=a596c6cc-c9aa-43fe-aaad-abfeaae63916 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda6 during installation
#UUID=c4959ceb-5934-4cff-acd3-33ffcb153220 none            swap    sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0

我不太了解那些信息的含义,但它可能对你有帮助。我在Gparted中格式化交换分区时搞砸了吗?因为它是加密交换分区,在实用工具中显示为未知。
这是我的当前状态。正如我所说的,每次重新启动都需要执行“swapon”命令。

enter image description here

enter image description here

我现在已经使用Ubuntu作为双启动系统好几年了,从6.06“Dapper”开始。我使用过几乎所有的发行版,以前从未遇到过这个问题。这就是我请求您的帮助和建议的地方。我不是极客,只是一个爱好者,拥有基本的技能和能力。

请查看http://askubuntu.com/questions/56843/could-not-mount-dev-mapper-cryptswap1 - Photon
我之前在Kubuntu 14.04上也遇到了同样的问题,最近的更新解决了这个问题。请尝试更新一下,看看是否能解决你的问题。 - nescius
可能是重复问题 http://askubuntu.com/questions/341979/what-to-do-about-the-disk-drive-for-dev-mapper-cryptswap1-is-not-ready-yet-or - bain
同时也有 bug #1153661 - bain
这是一个错误报告,仍然适用于14.04版本:https://bugs.launchpad.net/ubuntu/+source/ecryptfs-utils/+bug/953875 - David Edwards
1个回答

打开终端并运行以下命令:
sudo blkid

它将为您的硬盘提供分区的UUID号码,从中获取交换分区的UUID号码。

现在以root身份打开fstab文件,在该文件中找到'# swap was on /dev/sda6 during installation'下的行,用blkid命令获取的UUID号码替换交换分区下的UUID号码。

删除UUID前面的'#'符号,表示该行不会运行,因此删除它。

同时完全删除以下行 /dev/mapper/cryptswap1 none swap sw 0 0

现在重新启动。

希望这有所帮助。


你不需要重新启动,交换空间应该立即可用 - 对我来说是这样的! - Carsten Agger
2@CarstenAgger:仅仅编辑fstab是不会有任何作用的。你还必须运行sudo swapon /dev/sda6,或者通过gparted或其他方式打开它。 - Dale C. Anderson
这个解决方案也适用于一个全新安装的Ubuntu 14.04,在接近使用所有内存时出现卡顿的情况下。 - Dale C. Anderson