Knowledgebase

CentOS 8 Virtual Servers Won't Boot After Operation System Upgrade

Issue

CentOS 8 virtual server will not boot after the operating system upgrade (with "yum update").

Environment

CentOS Linux 8.* x64 templates

Resolution

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. 

https://help.onapp.com/hc/en-us/articles/222045568-How-to-use-Recovery-Console-

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.

#exit
#cd / && umount /mnt/proc && umount /mnt/dev && umount /mnt/sys && umount /mnt

Cause

By default CentOS 8 comes with a new boot scheme (Boot Loader Specification) that isn't supported by the onapp grub boot image.

https://systemd.io/BOOT_LOADER_SPECIFICATION/

https://access.redhat.com/solutions/3799961

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.

  • 1 Users Found This Useful

Was this answer helpful?

Related Articles

DNS Anycast

Add domain to our anycast dns network is easy. First we need to add domain in our panel, as shown...

Add internal Network

In this tutorial we learn how to add internal network to our VM. Traffic trought internal network...

Add IPv6 Address

CloudFlow network is dual-stack and support ipv6. In this tutorial you can see how to add one or...