Why does grub menu not show the newly installed kernel in Red Hat Enterprise Linux 6 on UEFI boot based hardware?

Solution Verified - Updated -

Environment

  • IBM System x3650 M3 running in UEFI mode
  • Red Hat Enterprise Linux 6

Issue

  • Why does the grub menu not show the newly installed kernel in Red Hat Enterprise Linux 6 on UEFI boot based hardware?
  • New kernel does not load or show up within grub menu while booting.
  • Red Hat Enterprise Linux 6: After running yum update /boot/grub/grub.conf is updated with new kernel but during boot, grub menu doesn't show it.

Resolution

  • EFI System Partition should be mounted under /boot/efi
  • Considering /dev/sda1 is the EFI System Partition
# mount /dev/sda1 /boot/efi
  • Add the following mount to /etc/fstab so that it persists over a reboot. Find out the UUD of /dev/sda1 by running blkid command.
UUID=FE22-XXXX          /boot/efi               vfat    umask=0077,shortname=winnt 0 0
  • The file /etc/grub.conf should point to /boot/efi/EFI/redhat/grub.conf
# rm /etc/grub.conf
# ln -s  /boot/efi/EFI/redhat/grub.conf /etc/grub.conf
  • Then copy the updated /boot/grub/grub.conf to /boot/efi/EFI/redhat/grub.conf and remove the /boot/grub/grub.conf and mark it as a link.
# cp -f /boot/grub/grub.conf /boot/efi/EFI/redhat/grub.conf
# rm -rf /boot/grub/grub.conf
# ln -s /boot/efi/EFI/redhat/grub.conf /etc/grub.conf

Root Cause

  • In UEFI mode, GRUB reads the /boot/efi/EFI/redhat/grub.conf at the boot time.
  • The file /etc/grub.conf should be symlinked to /boot/efi/EFI/redhat/grub.conf
  • grubby check /etc/grub.conf and adds the new kernel entries to the corresponding grub file.

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments