For myself, I always change my fstab to use disk labels rather than UUIDs, (then I run dracut) and that makes life a lot easier when a piece of hardware is changed, because those UUIDs don't get propagated into the initrd and the labels won't be changed by the system (and, as you have found, the UUID can and will be changed with some hardware changes).
Sadly, I was not here at the beginning of this thread because I would have recommended studying the contents of /dev/disk/by-uuid, /dev/disk/by-name, and the other entries under /dev/disk to figure out which disk uuid has changed...and if you only have one hard drive, figuring that out is quite simple.
Once you have identified the particular disk, the easiest way to fix the problem is to write down the UUID that the system says it can't find, then change the UUID on the appropriate hard drive to be the UUID that the system wants. That fixes your problem immediately.
To do this, look at the command tune2fs. As root, entering:
- Code: Select all
tune2fs -u <mydesiredUUID> <mydevice>
will change the UUID on the volume.
There is a similar option on the mkswap command which will allow the UUID to be changed, if it is a swap disk that the initrd is looking for.
This is hands down the easiest way to deal with the problem.