While booting Ubuntu 12.04, the disk drive for /dev/mapper/cryptswap1 is not ready yet or not present
is showing. Why is this?
-
You probably encrypted home directory during installation but not swap. If low on RAM it may slow your system down, otherwise noting else should happen.– danijelcNov 14, 2013 at 11:07
2 Answers
This error message indicates that the the system was unable to use its encrypted swap partition.
Not being able to use swap may cause slowdown, especially if your machine doesn't have much RAM installed.
Assuming the system is booting, you should be able to fix the problem without too much hassle.
If this is happening when you boot the CD/DVD or USB flash drive to install Ubuntu, then assuming installation is still working, it can be ignored. Your installed system might or might not have the same problem once created--if it does, the problem can be addressed in the installed system.
If this is happening on a system that is installed on your hard disk, then your system might still run okay, but it's a good idea to fix it--if you have a swap partition (or swap file), you may as well use it.
Most Ubuntu systems with swap have a swap partition. Assuming that is the case, the technique described in this blog post may help:
Here's a summary, with some additional information that may be helpful for novices, and in my own words. I suggest taking a look at that post as well though (assuming it remains accessible), as it contains some examples and other information that I've left out for brevity.
- Open a Terminal window (Ctrl+Alt+T) or a virtual console and run:
sudo swapoff -a
- Open
/etc/crypttab
(e.g.,sudo nano -w /etc/crypttab
orsudo -H gedit /etc/cryptab
for a GUI editor) and put a#
at the beginning of the line that starts withcryptswap1
. Save the file. - Do the same thing with the line that starts with
/dev/mapper/cryptswap1
in/etc/fstab
. - Install gparted . Run it and format your swap partition as
linux-swap
. Make sure to get the right partition; if you get the wrong one, you'll lose possibly important data! The line you commented out incrypttab
should give the correct partition name (it comes right after/dev/
). - Run
sudo mkswap /dev/...
, repacing...
with that same device name. Part of that command's output should be text that saysUUID=.....
where.....
is a string of letters and numbers. - In the file
/etc/initramfs-tools/conf.d/resume
, find the line that saysRESUME=UUID=
followed by letters and numbers like (but not identical to).....
from the last step. Replace them with.....
(i.e., with the letters and numbersmkswap
gave afterUUID=
. - Run
sudo swapon /dev/...
(with the same/dev/...
as you had in steps 4 and 5 above). - Run
sudo ecryptfs-setup-swap
.
swapon -s
will check to see if swap is successfully enabled. See that blog post for more information, and example output, for checking this.
Source: http://punygeek.blogspot.com/2012/10/ubuntu-1204-how-to-solve-disk-drive-for.html (on http://punygeek.blogspot.com/) by Litmus / Puny Geek. Some commands are copied; prose is not copied, but often expresses the same ideas.
Finally, note that this might be a bug. (I believe multiple factors could cause this problem, only some of which are bugs.) In particular, it resembles Launchpad Bug #1153661. If you believe that's your situation, you might want to subscribe to that, mark yourself affected (with the green "This bug affects..." link at the top of the page), and if you have any additional information to provide, comment with it.
-
1This worked for me. Just one comment, I had to restart my computer between steps 3 and 4, as gparted would not format the swap partition otherwise.– geoffreyOct 1, 2013 at 18:43
-
Did not work for me, in the sense that I still see the
/dev/mapper/cryptswap1
msg on bootup, however if I runswapon -s
at a terminal it looks as if the swap is mounted:/dev/mapper/cryptswap1 partition 9765884 0 -1
, so maybe things are working anyway? (free -m
also shows the swap present)– fpghostDec 22, 2013 at 17:11 -
By the way, I think you may need a
sudo update-initramfs -u
after step 6, at least according to the blog you linked...– fpghostDec 22, 2013 at 17:13 -
2Using Ubuntu 14.04 #6 didn't work for me - that file doesn't exist. However I just skipped that step and this solved my problem perfectly! I was getting that error message on boot and the boot-up time was significantly slower than it is now. Thanks– redbmkJul 2, 2014 at 21:29
-
1@Len You're right--this only works if you can boot the system. You could try booting from recovery mode (try that first), or chrooting from a live CD/DVD/USB and doing it that way (more complicated, but doable). In a recovery mode root shell, or in a chroot you create in a live environment, all your commands run as root so you can leave off
sudo
in the commands.gedit
is unlikely to work in either situation butnano
should work fine. If you use a live system you can just run its GParted (outside the chroot); otherwise, usefdisk
andmkswap
. I suggest posting a new question. May 15, 2015 at 1:13
Piggyback on Eliah's solution along with the bug reports on ubuntu (1310058), I was able to workaround the issue where encrypted swap gets lost when rebooting ubuntu 14.04.
Credit help goes to
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 (comments #3, #17, and #22)
sudo swapoff -a
comment out swap config in /etc/crypttab
#cryptswap1 UUID={your uuid} /dev/urandom swap,cipher=aes-cbc-essiv:sha256
comment out swap config in /etc/fstab
#/dev/mapper/cryptswap1 none swap sw 0 0
Reboot your computer, so you can reformat the swap partition using gparted afterwards. Make the swap, and make note of the UIID mkswap
generates for you.
sudo mkswap /dev/sdXX
Update /etc/initramfs-tools/conf.d/resume
with UUID from previous mkswap
RESUME=UUID={your uuid goes here}
And enable the Swap partition:
sudo update-initramfs -u
sudo swapon /dev/sdXX
sudo ecryptfs-setup-swap
Update your /etc/crypttab
settings to include noauto
and offset=8
(bug in ubuntu 14.04) (I recommend using vim here, so tabs don't get messed up).
cryptswap1 UUID={your uuid} /dev/urandom noauto,swap,offset=8,cipher=aes-cbc-essiv:sha256
Update your /etc/fstab
with noauto
:
/dev/mapper/cryptswap1 none swap noauto,sw 0 0
Manually kickstart your swap with the following config in /etc/init/cryptswap1.conf
. Note: you may have to manually create that config file from scratch. You may use any text editor in place of VIM.
sudo vim /etc/init/cryptswap1.conf
and fill with the following content:
start on started mountall
script
/sbin/cryptdisks_start cryptswap1
/sbin/swapon /dev/mapper/cryptswap1
end script