Root missed at boot up.
I have a machine with lvm as root that has not been rebooted for
long. I just rebooted it. And it cannot boot up.
The error was "cannot find root $UUID" specified in root bootflag.
I thought something wrong so the uuid of the root was changed. So in
busybox, I `ls -l /dev/disk/by-uuid`, I got two items: dm-1(I am not
quite sure now, maybe it displayed dm-0.), sda1. I knew sda1 was /boot
partition, so I changed boot cmdline with the uuid I found temporally.
Still cannot boot up. No root found with the new uuid.
Then I changed bootflag root to device name
(/dev/mapper/vgroot-lvroot). Then things worked.
In the boot-uped system, I `ls -l /dev/disk/by-uuid`, and found
that, the uuid of root is still the same as in boot cmdline, and the
device is dm-0. dm-1 is the swap.
So to sum up, my system cannot find lvm root device (dm-0) and its
uuid at boot up. But can be booted up by its device name
(/dev/mapper/vgroot-lvroot). And in boot-uped system, the root device
looks fine in /dev.
What happened? How to fix this?