My Mythbuntu system recently failed to boot up, and instead displayed this error message:
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 right device?) Missing modules (cat /proc/modules; ls /dev) ALERT! /dev/mapper/vgmain-lvroot does not exist. Dropping to a shell! BusyBox v1.21.1 (Ubuntu 1:1.21.0-1ubuntu1) built-in shell (ash) Enter 'help' for a list of built-in commands.
So the problem was that it couldn’t find /dev/mapper/vgmain-lvroot. But why?
Most of the online solutions for similar errors talked about running running fdisk and checking the partition table, etc, so I booted off a Ubuntu Live CD and poked around, but everything seemed fine. So I then rebooted and let it boot into BusyBox and did some experimenting. I found that when I ran ‘blkid’ initially it just listed sda1, sda2 and vgmain-lvsnap-cow – no reference to /dev/mapper/vgmain-lvroot so it wouldn’t boot. But if I waited about five minutes and ran ‘blkid’ again, it then listed the other logical volumes including vgmain-lvroot. After that I could ‘exit’ and boot into Ubuntu/MythTV OK.
Why was it taking so long for vgmain-lvroot to come on line? I had had a LVM snapshot running on vgmain-lvroot, so I tried running ‘lvremove’ to stop the snapshot – and after that it booted up OK. So presumably there was some problem related to LVM and/or the snapshots.