Fixing Kernel Boot Issues on CloudLinux 8
If your CloudLinux 8 server refuses to boot into the latest kernel—or ignores your grub2-set-default commands—the culprit is likely the transition to the Boot Loader Specification (BLS).
In RHEL 8-based systems, kernels are no longer hardcoded into the main GRUB file; they are managed as individual snippets. If your config files are out of sync, the bootloader simply won’t “see” the CloudLinux kernel.
1. Update the Bootloader
Ensure your GRUB tools are up to date to support the latest kernel hooks:
Bash
yum update grub2*
2. Enable BLS Support
Open /etc/default/grub and verify or add these lines. This ensures GRUB looks for the individual kernel files in /boot/loader/entries/.
- GRUB_DEFAULT=saved
- GRUB_ENABLE_BLSCFG=true
3. Regenerate GRUB Configurations
To ensure the system finds the CloudLinux kernel regardless of your partition scheme (BIOS vs. UEFI), run the following rebuild commands:
Standard BIOS:
Bash
grub2-mkconfig -o /boot/grub2/grub.cfg
UEFI Systems:
Bash
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
grub2-mkconfig -o /boot/efi/EFI/cloudlinux/grub.cfg
Why this happens
CloudLinux 8 uses BLS by default. Traditional methods like awk searching for menuentry in grub2.cfg often return nothing because the menu entries now live in /boot/loader/entries/. Updating the configuration with BLSCFG=true bridges this gap and restores the correct boot order.