该怎么办“/ dev / mapper / cryptswap1的磁盘驱动器还没有准备好或不存在”?
在启动Ubuntu 12.04时, the disk drive for /dev/mapper/cryptswap1 is not ready yet or not present
显示。 为什么是这样?
此错误消息表明系统无法使用其加密的交换分区。
无法使用交换可能会导致速度减慢,尤其是如果您的计算机没有安装太多RAM。
假设系统正在启动,您应该能够在没有太多麻烦的情况下解决问题。
如果在启动CD / DVD或USB闪存驱动器以安装Ubuntu时发生这种情况,那么假设安装仍在工作,则可以忽略它。 一旦创建,您安装的系统可能会或可能不会出现相同的问题 – 如果是,则可以在已安装的系统中解决该问题。
如果在硬盘上安装的系统上发生这种情况,那么您的系统可能仍然运行正常,但最好修复它 – 如果您有交换分区(或交换文件),您也可以使用它。
大多数带交换的Ubuntu系统都有一个交换分区。 假设是这种情况 ,本博客文章中描述的技术可能会有所帮助:
- Ubuntu 12.04 – 如何在启动时解决“/ dev / mapper / cryptswap1的磁盘驱动器尚未就绪或不存在”错误
这是一个摘要,其中包含一些可能对新手有用的其他信息,用我自己的话说。 我建议尽管看一下那篇文章(假设它仍然可以访问),因为它包含了一些我为了简洁而遗漏的例子和其他信息。
- 打开终端窗口( Ctrl + Alt + T )或虚拟控制台并运行:
sudo swapoff -a
- 打开
/etc/crypttab
(例如,sudo nano -w /etc/crypttab
或sudo -H gedit /etc/cryptab
用于GUI编辑器)并将#
放在以cryptswap1
开头的行的开头。 保存文件。 - 对
/etc/fstab
以/dev/mapper/cryptswap1
开头的行做同样的事情。 - 安装gparted 。 运行它并将交换分区格式化为
linux-swap
。 确保获得正确的分区; 如果你弄错了,你可能会失去重要的数据! 您在crypttab
中crypttab
应该提供正确的分区名称(它位于/dev/
)。 - 运行
sudo mkswap /dev/...
,使用相同的设备名称重新调整...
该命令输出的一部分应该是说UUID=.....
文本,其中.....
是一串字母和数字。 - 在文件
/etc/initramfs-tools/conf.d/resume
,找到说明RESUME=UUID=
的行,然后是最后一步中的字母和数字,如(但不相同).....
用.....
替换它们(即用UUID=
后的字母和数字mkswap
。 - 运行
sudo swapon /dev/...
(使用与上面步骤4和5中相同的/dev/...
)。 - 运行
sudo ecryptfs-setup-swap
。
swapon -s
将检查是否成功启用了swap。 有关更多信息和示例输出,请参阅该博客文章以进行检查。
来源: http : //punygeek.blogspot.com/2012/10/ubuntu-1204-how-to-solve-disk-drive-for.html ( http://punygeek.blogspot.com/ )by Litmus / Puny极客 一些命令被复制; 散文不是复制,但往往表达相同的想法。
最后,请注意这可能是一个错误。 (我相信有多个因素可能导致这个问题,其中只有一些是错误。)特别是,它类似于Launchpad Bug#1153661 。 如果您认为这是您的情况,您可能想要订阅,标记自己受影响(页面顶部的绿色“此错误影响…”链接),如果您有任何其他信息要提供,请评论用它。
关于Eliah解决方案的背驮以及ubuntu(1310058)上的错误报告,我能够解决重启ubuntu 14.04时加密交换丢失的问题。
信用帮助去了
http://punygeek.blogspot.com/2012/10/ubuntu-1204-how-to-solve-disk-drive-for.html https://bugs.launchpad.net/ubuntu/+source/ecryptfs-utils/ + bug / 1310058 (评论#3,#17和#22)
sudo swapoff -a
注释掉/ etc / crypttab中的swap配置
#cryptswap1 UUID={your uuid} /dev/urandom swap,cipher=aes-cbc-essiv:sha256
注释掉/ etc / fstab中的swap配置
#/dev/mapper/cryptswap1 none swap sw 0 0
重新启动计算机,以便以后可以使用gparted重新格式化交换分区。 进行交换,并记下mkswap
为您生成的UIID。
sudo mkswap /dev/sdXX
使用之前mkswap
UUID更新/etc/initramfs-tools/conf.d/resume
RESUME=UUID={your uuid goes here}
并启用交换分区:
sudo update-initramfs -u sudo swapon /dev/sdXX sudo ecryptfs-setup-swap
更新/etc/crypttab
设置以包含noauto
和offset=8
(ubuntu 14.04中的错误)(我建议在这里使用vim,因此标签不会搞砸)。
cryptswap1 UUID={your uuid} /dev/urandom noauto,swap,offset=8,cipher=aes-cbc-essiv:sha256
使用noauto
更新/etc/fstab
:
/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