When Virtual Machine boots it complains that UUID's are incorrect.
From dracut shell run the following:
mkdir /mnt
Now mount the primary disk:
mount /dev/sda1 /mnt
Or depending on what disk drivers you are using:
mount /dev/vda1 /mnt
Bind the directories which grub needs to detect the other operating systems:
mount --bind /dev /mnt/dev &&
mount --bind /dev/pts /mnt/dev/pts &&
mount --bind /proc /mnt/proc &&
mount --bind /sys /mnt/sys
chroot to the /mnt/ directory:
chroot /mnt/
Ensure that fstab is correct and does not use UUID's:
nano /etc/fstab
My /etc/fstab was using UUID's instead of /dev/vda1 and /dev/vda2 so I changed them:
# /etc/fstab
# Created by anaconda on Wed Apr 15 08:07:35 2015
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/vda1 / ext4 defaults 1 1
/dev/vda2 swap swap defaults 0 0
We now need to tell grub to not use UUID's when rebuilding. To do this open the grub config here:
nano /etc/default/grub
Add the following line to the bottom so that it looks like this:
GRUB_DISABLE_UUID=true
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_DISABLE_UUID=true
Reinstall grub on the main disk:
grub2-install /dev/sda
Check everything is good with grub:
grub2-install --recheck /dev/sda
Now rebuild grub:
grub2-mkconfig -o /boot/grub2/grub.cfg
To confirm that grub has been rebuilt correctly you can cat the boot.cfg file to look for any UUID references:
cat /boot/grub2/grub.cfg | grep UUID
If nothing appears all should be good.
Exit chroot and unmount all directories:
exit &&
sudo umount /mnt/sys &&
sudo umount /mnt/proc &&
sudo umount /mnt/dev/pts &&
sudo umount /mnt/dev &&
sudo umount /mn
Reboot the machine and watch her boot up fine.