12

After installing an update, my system no longer boots. I have full disk encryption (the one the installer sets up for you) enabled so it usually asks for the key only seconds after booting past GRUB. Now, it skips asking for the key, tries to load Gnome, and then goes to the screen pictured below. The system is a 64-bit System76 box running Ubuntu Gnome 13.04. This has happened to me once in the past however, on a Dell XPS 8300 64-bit running Ubuntu Gnome Remix 12.10. In that case I reinstalled the OS. However I want to actually fix the problem this time so I know how to handle it in the future. Also, it is extremely inconvenient to reinstall from scratch.

My suspicion is that something got screwed up in a config file in /boot such that it doesn't realize the disk is encrypted, but I didn't see anything when poking around in there. Do you have any ideas of how to fix it (besides reinstalling the OS)?

Gave up waiting for root device. Common problems:
  — Boot args (cat /proc/cmdline)
    — Check rootdelay= (did the system wait long enough?)
    — Check root= (did the system wait for the right device?)
  — Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/gnome-root does not exist.   
Dropping to a shell! 

BusyBox v.1.20.2 (Ubuntu 1:1.20.2-1ubuntu1) built-in shell (ash)   
Enter 'help' for list of built-in commands.  

(initramfs)

5 Answers 5

11

I got it fixed!!! For future generations so you don't have to go through the agonizing days and endless hours that I did:

Firstly, I was able to get the system to boot from the (initramfs) prompt by typing the following (I used this forum page as a crutch):

cryptsetup luksOpen /dev/sda5 sda5_crypt
lvm vgchange -a y
exit

This got my system to boot properly. Once booted, I modified /etc/crypttab to point to a different UUID than before. I picked the UUID from my /etc/fstab. Save the original UUID value. You will need it in a few steps. I then ran (from a terminal):

update-initramfs -k all -c

If you get a warning that looks like this or something similar:

WARNING: invalid line in /etc/crypttab

then go back to the beginning and instead of sda5_crypt, use what is in your crypttab.

I then rebooted. This time I got the prompt for the passphrase! But don't get too excited, because it didn't work. I entered the right password about 7 times and it rejected them all. It then went back to the (initramfs) prompt after about 90 seconds.

I repeated step one and got it booted again. I then restored the original UUID value to the crypttab, and reran step two. I then rebooted, and SUCCESS!

3
  • Device /dev/sda5 doesn't exist or access denied
    – Madeo
    Dec 20, 2021 at 8:03
  • My issue was that a reckless re-installation of initramfs left me without cryptsetup. If that is your issue then @k0ryfi's answer should do the trick for you.
    – alecvn
    Feb 9, 2022 at 7:58
  • 1
    Thank you very much, @Freedom_Ben! I am using Pop OS. For those encountering the "Device /dev/sda5 doesn't exist or access denied" issue, try running "blkid" to find your encrypted device. Another note: "sda5_crypt" didn't work for me. After seeking help from ChatGPT, the following command worked: "cryptsetup luksOpen /dev/nvme0n1p3 luks-83401c54-c885-425e-8ebb-4f8f749e38b6," which you can find in the /etc/crypttab file.
    – kaha
    Feb 7 at 21:29
8

With full-disk encryption being an option in Ubuntu 14.04, I just wanted to point out how I solved this problem, since my initramfs terminal didn't allow me to use cryptsetup:

  1. Boot from a Live DVD/USB (USB will be a lot faster).

  2. Open a Terminal and type the following:

    sudo -i
    cryptsetup luksOpen /dev/sda5 sda5_crypt
    # (do any lvm management you need here, I didn't need any.)
    mkdir /mnt/system
    mount /dev/mapper/ubuntu--vg-root /mnt/system
    mount /dev/sda2 /mnt/system/boot
    mount /dev/sda1 /mnt/system/boot/efi (May or may not be needed.)
    for i in /dev/pts /dev /proc /sys; do mount -B $i /mnt/system$i; done
    chroot /mnt/system
    update-initramfs -k all -c
    exit
    for i in /dev/pts /dev /proc /sys; do umount /mnt/system$i; done
    umount /mnt/system/boot/efi # (If you have UEFI.)
    umount /mnt/system/boot
    umount /mnt/system
    
  3. Reboot and hope it works.

3
  • I liked this solution better, because I didn't have to figure out how to get an initramfs prompt or do more than one reboot. In my case, I had upgraded from Ubuntu 15.04 to 15.10 and was no longer able to unlock my drive during boot. One addition is that I found that the mapping name provided on line 2 (e.g. sda5_crypt) needs to match your crypttab file.
    – Der Wolf
    Oct 30, 2015 at 0:59
  • 1
    The above only works if you have an entry in /etc/crypttab. After entering the chroot per the steps above, but before running update-initramfs, run nano /etc/crypttab, and make sure there is a line there with the name of the mapper and the drive UUID. If the file does not exist or is empty, update-initramfs will not fix the issue! Add the crypttab line while in the chroot environment. This answer should be edited to reflect this. Also, I think that cryptsetup only exists on the initramfs prompt if /etc/crypttab exists and has entries when initramfs is updated.
    – Nick
    May 13, 2016 at 13:12
  • This solution saved my butt 8 years later, after a failed graphics driver update and me being reckless with re-installing initramfs made me unable to boot into my encrypted partition. I don't know where you are now @k0ryfi but I'd buy you a beer if I could!
    – alecvn
    Feb 9, 2022 at 7:56
1

I got the same issue and none of the above worked out for me.

I want to share the solution that worked for me for future seekers.

cryptsetup luksOpen /dev/sda5 sda5_crypt returned Device /dev/sda5 does not exist or access denied. and no other partition was working either.

Actually, my internal disk was not showing up even on a live ubuntu USB drive.

Turns out, last time I used my computer, it froze, and I had to force it shut down. I figured the BIOS reset to default values, enabling "Rapid Restore Technology" which is called RAID on Dell.

I was able to turn off RAID in the BIOS (F2 at start up) > System Configuration > SATA Operation > AHCI (A warning shows up, I said I was sure, thinking I would just turn it back to RAID if it doesn't work).

Reboot and everything works fine again.

Hope this helped ! :)

0

Fix your grub via booting through a live-cd/live-usb. Refer this page for details of the process. Refer the section "via the LiveCD terminal" on the page.

Fixing the grub should fix any malformed file that you might have in grub configuration.

1
  • Thanks for the tip. I tried all that you suggested but to no avail. I did just get it figured out though. It's pretty crazy... Apr 27, 2013 at 4:04
0

Check if you have cryptsetup installed on your system, it might have been removed by running apt-get autoremove. More info.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .