Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

While booting Ubuntu 12.04, the disk drive for /dev/mapper/cryptswap1 is not ready yet or not present is showing. What is this? Is this is an error?

share|improve this question
    
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. –  danijelc Nov 14 '13 at 11:07

2 Answers 2

This error message indicates that the the system was unable to use its encrypted swap partition. If you don't believe you have an encrypted swap partition (or encrypted swap file), please comment and edit your question with details.

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.

  1. Open a Terminal window (Ctrl+Alt+T) or a virtual console and run: sudo swapoff -a
  2. Open /etc/crypttab (e.g., sudo nano -w /etc/crypttab or sudo -H gedit /etc/cryptab for a GUI editor) and put a # at the beginning of the line that starts with cryptswap1. Save the file.
  3. Do the same thing with the line that starts with /dev/mapper/cryptswap1 in /etc/fstab.
  4. Install gparted 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 in crypttab should give the correct partition name (it comes right after /dev/).
  5. Run sudo mkswap /dev/..., repacing ... with that same device name. Part of that command's output should be text that says UUID=..... where ..... is a string of letters and numbers.
  6. In the file /etc/initramfs-tools/conf.d/resume, find the line that says RESUME=UUID= followed by letters and numbers like (but not identical to) ..... from the last step. Replace them with ..... (i.e., with the letters and numbers mkswap gave after UUID=.
  7. Run sudo swapon /dev/... (with the same /dev/... as you had in steps 4 and 5 above).
  8. 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.

share|improve this answer
1  
This 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. –  geoffrey Oct 1 '13 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 run swapon -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) –  fpghost Dec 22 '13 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... –  fpghost Dec 22 '13 at 17:13
    
how do I tell if I have encrypted swap? –  arsaKasra May 14 at 17:35
1  
Using 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 –  redbmk Jul 2 at 21:29

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 afterward

#make swap, and make note of the uuid 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}

sudo update-initramfs -u

sudo swapon /dev/sdXX

sudo ecryptfs-setup-swap

#update your /etc/crypttab settings to include noauto & 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

#mannually kick start your swap with the following config in /etc/init/cryptswap1.conf
#Note: you may have to mannually create that config file from scratch
sudo vim /etc/init/cryptswap1.conf (vim or your favorite text editor)

start on started mountall
script
  /sbin/cryptdisks_start cryptswap1
  /sbin/swapon /dev/mapper/cryptswap1
end script

#reboot your computer for the second time.. but you are not there yet
#somewhere along the line after reboot, your swap becomes UN-recognizable again (gparted can't even tell what partition type it is), so you need to mkswap again!
#you should use the same uuid that was generated for you before.
#if you are not sure the original uuid, look into /etc/crypttab or /etc/initramfs-tools/conf.d/resume
# Note that this should not in any way leave your swap un-encrypted. It just helps ubuntu recognize the swap partition when it boots up next time.
sudo mkswap --uuid {your uuid goes here without brackets} /dev/sdXX

#reboot your computer for the third time and verify with
sudo swapon -s
sudo free --human

I am no Linux guru here, but noauto & offset=8 does two things
1. offset is a workaround to not let ecryptswap to override the existing uuid when you kick start the swap
Note that in the bug report, comment #22 used offset=6, and comment #3 uses offset=8. To be on safe side, I use offset=8
2. noauto allows you to manually mount the swap so that you don't see the warning (swap not present) when booting up. it doesn't mask the issue. your encrypted swap will still get mounted manually, just not automatically by ubuntu 
Note: If anyone of you knows how to fix this without rebooting 3 times, let me know. thanks!
share|improve this answer

protected by Community Nov 14 '13 at 18:27

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.