System no longer boots, gave up waiting for root device, (initramfs), /dev/mapper/gnome-root does not exist

39,611

Solution 1

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!

Solution 2

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.

Share:
39,611

Related videos on Youtube

Freedom_Ben
Author by

Freedom_Ben

Updated on September 18, 2022

Comments

  • Freedom_Ben
    Freedom_Ben over 1 year

    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)
    
  • Freedom_Ben
    Freedom_Ben about 11 years
    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...
  • Der Wolf
    Der Wolf over 8 years
    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.
  • Nick
    Nick about 8 years
    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.
  • Madeo
    Madeo over 2 years
    Device /dev/sda5 doesn't exist or access denied
  • skepticscript
    skepticscript over 2 years
    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!
  • skepticscript
    skepticscript over 2 years
    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.