Disk by UUID not detected (initramfs), boot failure

I had the same issue like the thread starter and I solved it without reinstalling.

My issue occurred while juggling with a virtual installation based on a copied disk image. This resulted in a changed uuid and the copy wouldn't start. This is a rough sketch of what i did.

First boot using a rescue system (same version) and run a shell on your non-booting disk. Have a look at /etc/fstab and confirm the uuids there by issuing the blkid command for each device. Fix these entries as they're important.

Next we fix grub with:

  • grub-mkconfig
  • update-grub

Then run:

  • update-initramfs -u /boot/initrd.img-2.6.YOURVERSION-HERE

This will create a fresh initramdisk for your version. If you don't know the exact version you were running have a look at the files in /boot/. Picking the highest version number should be safe.

After you exit the rescue shell the ubuntu live cd will offer you the last menu from where you entered the shell. Choose "install Grub" (or similar) there and enter the device where to put your boot sector.

On most systems (standard install) /dev/sda is a safe bet. Be aware: Windows- or other multiboot-systems might need other entries here!

Finally you should be able to boot from the repaired disk.


The problem seems to be that your hard disk, or the controller, doesn't respond quickly enough.

Try the following:

  • When the boot menu comes up, having the top of the list highlighted, press e (for edit).

  • You should see a long list of parameters. Add this one to it: rootdelay=130

  • Hit Enter and then b (boot). Try to see if you system boots now. You can increase the value if that doesn't help first time (but not by much, 130 is already more than enough for any hardware that isn't broken).

However, it may also be your hard drive is failing. The first thing to do once you get back into your system is backing up your data. If you want to be safe, back it up using an ubuntu cd. I strongly urge you to do that, sooner rather than later.


As a matter of fact I have experienced disk UUIDs changing spontaneously once or twice. The change may be the result of a corruption of some sort. I would try the following:

  • Boot your computer from a live medium;
  • fdisk -l /dev/sda to find the partition you're looking for; or use cfdisk; or usegparted(replacesda` by your hard drive).
  • blkid /dev/sda1 (replace sda1 by the partition you found); alternatively use vol_id;
  • see if you can mount the partition (using the device file /dev/sda1);
  • check if the UUID displayed matches with the UUID in your root partition's /etc/fstab;
  • generate a new UUID using uuidgen and apply it to the partition using tune2fs -U;
  • change the fstab entry accordingly.

It might seem unlikely that something as vital as the UUID changes without apparent cause, but it happens, probably because of a bug. See if changing the UUID to a new value helps.

Tags:

Disk

Boot

10.04