This issue has been around for some months, but other things keep
crowding out a fix.
uname give me
3.10.0-1160.36.2.el7.x86_64 #1 SMP Wed Jul 21 11:57:15 UTC 2021
yet I have
3.10.0-1160.76.1.el7.x86_64
3.10.0-1160.81.1.el7.x86_64
3.10.0-1160.83.1.el7.x86_64
3.10.0-1160.88.1.el7.x86_64
loaded.
The system uses UEFI to boot.
sudo ls -l /sys/firmware/efi
gives:
total 0
-r--r--r--. 1 root root 4096 Feb 19 16:47 config_table
drwxr-xr-x. 2 root root 0 Feb 19 16:47 efivars
-r--r--r--. 1 root root 4096 Mar 14 17:57 fw_platform_size
-r--r--r--. 1 root root 4096 Feb 19 16:47 fw_vendor
drwxr-xr-x. 2 root root 0 Mar 14 17:57 mok-variables
-r--r--r--. 1 root root 4096 Feb 19 16:47 runtime
drwxr-xr-x. 9 root root 0 Feb 19 16:47 runtime-map
-r--------. 1 root root 4096 Feb 19 16:47 systab
drwxr-xr-x. 65 root root 0 Mar 14 17:57 vars
and
sudo efibootmgr
gives:
BootCurrent: 000F
BootOrder: 000F,000D,000B,000E,0008,0000,0002,0003,0004,0005,0006,0007
Boot0000* CD/DVD Rom
Boot0002* PXE Network
Boot0003 Enter Setup
Boot0004 Boot Devices
Boot0005 Boot Manager
Boot0006 Setup
Boot0007 Diagnostics
Boot0008* Embedded Hypervisor
Boot000B* CentOS Linux
Boot000D* CentOS-AltDrv
Boot000E* Hard Disk 3
Boot000F* CentOS-MainDrv
This is a remote server, thus I need a sure fire fix. My previous
attempts have either had no impact - the old kernel boots
or
machine hangs and I need to do a trip to the site.
Now this issue could be a residual from my initial setup when I
installed 2 by 3.x TB SSD and needed to manually change from bios/grub2
boot to UEFI.
I have already spent 10's of hours on this system, just want to have it
run the latest kernels - for obvious reasons.
Some other items:
sudo grep "^menuentry" /boot/grub2/grub.cfg | cut -d "'" -f2
gives:
CentOS Linux (3.10.0-1160.88.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.83.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.81.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.76.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.36.2.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-a39773847cf34651bc34d02222566f53) 7 (Core)
indicating that .88.1 should boot.
sudo grub2-editenv list
gives:
saved_entry=CentOS Linux (3.10.0-1160.88.1.el7.x86_64) 7 (Core)
also as expected.
/etc/default/grub exists and contains
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
rd.md.uuid=066ffecb:69137a0b:4e579b4f:dfbf1696
rd.md.uuid=bd87f682:e6df10e2:d2a6e247:834133f7 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
the /boot/grub2/grubenv contains
# GRUB Environment Block
saved_entry=CentOS Linux (3.10.0-1160.88.1.el7.x86_64) 7 (Core)
#######################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
All these point to the correct version of the kernel but always boots
the old .36.2 version.
Just realized these files only relate to BIOS boot, and my system is
UEFI boot.
Now documentation seems to get scarce.
seems like the boot files are now residing in
/boot/efi/EFI/centos
AND
/boot/efi2/EFI/centos
although looking at timestamps the latter directory is not being updated.
/boot/efi/EFI/centos contains
total 7028
-rwx------. 1 root root 134 Aug 1 2020 BOOT.CSV
-rwx------. 1 root root 134 Aug 1 2020 BOOTX64.CSV
drwx------. 2 root root 4096 Dec 23 22:01 fonts
-rwx------. 1 root root 8589 Mar 14 17:51 grub.cfg
-rwx------. 1 root root 1024 Aug 26 2021 grubenv
-rwx------. 1 root root 1125704 Dec 17 06:13 grubx64.efi
-rwx------. 1 root root 1154640 Aug 1 2020 mmx64.efi
-rwx------. 1 root root 1154640 Aug 1 2020 MokManager.efi
-rwx------. 1 root root 1243864 Aug 1 2020 shim.efi
-rwx------. 1 root root 1237824 Aug 1 2020 shimx64-centos.efi
-rwx------. 1 root root 1243864 Aug 1 2020 shimx64.efi
and we see that the grub.cfg is being updated.
However, here the grubenv file contains
# GRUB Environment Block
saved_entry=CentOS Linux (3.10.0-1160.36.2.el7.x86_64) 7 (Core)
#######################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
So maybe I have the reason.
Now how to cure??
I can obviously edit this file to point to the latest kernel, but this
would likely need to be done each time I update the system and get a new
kernel - not my preferred option.
How come the BIOS boot files are updated each time, but not the UEFI
based one?? Well grub.cfg is, but not grubenv
Can I edit /etc/default/grub and change
GRUB_DEFAULT=saved
to something else?
Stumped.
I think I have some basic UEFI install stuff missing, but back when I
manually changed the boot system from BIOS to UEFI I was told only
anaconda does this at install time, and I was unwilling to do a complete
reinstall on an already in production system. So after much trial, I did
get it booting reliably, just this one issues remains.
Any pointers appreciated.
TIA Rob.