在启动Ubuntu 12.04时,会显示“/dev/mapper/cryptswap1磁盘驱动器尚未准备好或不存在”的消息。这是为什么?
该错误消息表明系统无法使用其加密的交换分区。
无法使用交换可能会导致减速,特别是如果您的计算机安装的RAM不多。
假设系统正在引导,您应该能够轻松解决这个问题。
如果这在“当您引导CD / DVD或USB闪存驱动器以安装Ubuntu时”发生,请假设安装仍在进行中,可以忽略它。一旦创建,您安装的系统可能具有相同的问题 - 如果确实存在问题,则可以在已安装的系统中解决。
如果这在安装在硬盘上的系统上发生,那么您的系统可能仍然正常运行,但修复它是一个好主意 - 如果您有交换分区(或交换文件),那么您可以将其用于其他用途。
大多数带有交换的Ubuntu系统都有一个交换分区。假设情况就是这样,本博客文章中描述的技术可能会有所帮助:
以下是一个简要总结,附带一些对初学者有用的额外信息,并以我自己的话来表达。不过我建议你也看一下那篇文章(如果仍然可以访问),因为它包含了一些我为了简洁起见省略掉的示例和其他信息。
sudo swapoff -a
/etc/crypttab
文件(例如,使用GUI编辑器运行sudo nano -w /etc/crypttab
或sudo -H gedit /etc/cryptab
),在以cryptswap1
开头的行前加上#
符号。保存文件。/etc/fstab
文件中,对以/dev/mapper/cryptswap1
开头的行做同样的操作。linux-swap
。确保选择正确的分区;如果选择错误,可能会丢失重要数据!在crypttab
文件中注释掉的那一行应该给出了正确的分区名称(它紧跟在/dev/
后面)。sudo mkswap /dev/...
,将...
替换为相同的设备名称。该命令的输出部分应包含一个文本,其中写着UUID=.....
,其中.....
是一串字母和数字。/etc/initramfs-tools/conf.d/resume
中,找到一行写着RESUME=UUID=
后面跟着一串字母和数字(与上一步不完全相同)的内容。将其替换为.....
(即mkswap
给出的UUID=
后面的字母和数字)。sudo swapon /dev/...
(与步骤4和5中使用的相同的/dev/...
)。sudo ecryptfs-setup-swap
。swapon -s
会检查交换分区是否成功启用。请参阅这篇博文了解更多信息和示例输出,以进行检查。
来源:http://punygeek.blogspot.com/2012/10/ubuntu-1204-how-to-solve-disk-drive-for.html(在http://punygeek.blogspot.com/上)作者:Litmus / Puny Geek。其中一些命令被复制;散文没有被复制,但通常表达相同的思想。
最后,注意这可能是一个错误。(我相信有多种因素可能导致这个问题,其中只有一些是错误。)特别是,它类似于Launchpad Bug #1153661。如果你认为这就是你的情况,你可能想要订阅该bug,标记自己受影响(在页面顶部的绿色“此错误影响...”链接处),如果你有任何额外的信息要提供,请在评论中提供。/dev/mapper/cryptswap1
的消息,但是如果我在终端中运行swapon -s
,它看起来像交换已经挂载:/dev/mapper/cryptswap1 partition 9765884 0 -1
,所以也许事情已经在工作了?(free -m
也显示交换存在) - fpghostsudo update-initramfs -u
命令。 - fpghostsudo
。gedit
在任何一种情况下都不太可能正常工作,但 nano
应该可以很好地工作。如果您使用的是Live系统,则可以直接运行其GParted(而不是在chroot中);否则,请使用 fdisk
和 mkswap
。我建议您提出一个新的问题。 - Eliah Kagansudo swapoff -a
#cryptswap1 UUID={your uuid} /dev/urandom swap,cipher=aes-cbc-essiv:sha256
#/dev/mapper/cryptswap1 none swap sw 0 0
mkswap
为你生成的UIID。sudo mkswap /dev/sdXX
/etc/initramfs-tools/conf.d/resume
文件,使用上一个mkswap
生成的UUID。RESUME=UUID={your uuid goes here}
sudo update-initramfs -u
sudo swapon /dev/sdXX
sudo ecryptfs-setup-swap
cryptswap1 UUID={your uuid} /dev/urandom noauto,swap,offset=8,cipher=aes-cbc-essiv:sha256
/etc/fstab
文件,添加noauto
选项:/dev/mapper/cryptswap1 none swap noauto,sw 0 0
/etc/init/cryptswap1.conf
中。注意:您可能需要手动从头开始创建该配置文件。您可以使用任何文本编辑器代替VIM。sudo vim /etc/init/cryptswap1.conf
start on started mountall
script
/sbin/cryptdisks_start cryptswap1
/sbin/swapon /dev/mapper/cryptswap1
end script