CentOS 8 virtual server will not boot after the operating system upgrade (with "yum update").
CentOS Linux 8.* x64 templates
Reboot the VS in the Recovery mode (Tools->Startup on Recovery).
Locate primary VS's vdisk. Normally, it's '/dev/vda' in Recovery on KVM hypervisors.
In case the primary VS disk is recognized as '/dev/vda' then run the following command to prepare the chroot environment
#mount /dev/vda1 /mnt && mount --bind /proc /mnt/proc/ && mount --bind /dev /mnt/dev && mount --bind /sys /mnt/sys && chroot /mnt /bin/bash -l
Then run these commands to change the bootloader option and regenerate the config file
#sed -i 's/GRUB_ENABLE_BLSCFG.*/GRUB_ENABLE_BLSCFG=false/' /etc/default/grub
#grub2-mkconfig -o /boot/grub2/grub.cfg
If the last command is successful then exit the chroot env and reboot the virtual server in normal mode via UI.
#cd / && umount /mnt/proc && umount /mnt/dev && umount /mnt/sys && umount /mnt
By default CentOS 8 comes with a new boot scheme (Boot Loader Specification) that isn't supported by the onapp grub boot image.
The upgrade overwrites the bootloader option and config files to support the BLS and it requires to disable it and regenerate the bootloader's main config file.