Pre-upgrade CentOS 7 to AlmaLinux fails /boot/grub2/grub.cfg

I’m running Linux 3.10.0-229.14.1.el7.centos.plus.x86_64 #1 SMP Tue Sep 15 18:05:55 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

uname -r 3.10.0-229.14.1.el7.centos.plus.x86_64

cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)

I followed the guide ELevating CentOS 7 to AlmaLinux 9 | AlmaLinux Wiki (If there is a better guide to go to the latest almalinux please let me know)

sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://el7.repo.almalinux.org/centos/CentOS-Base.repo
sudo yum upgrade -y
sudo reboot
sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm
sudo yum install -y leapp-upgrade leapp-data-almalinux
sudo leapp preupgrade

I then got an error in /var/log/leapp/leapp-report.txt:

Risk Factor: high (error)
Title: Actor system_facts unexpectedly terminated with exit code: 1
Summary: Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/leapp/repository/actor_definition.py", line 75, in _do_run
    actor_instance.run(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/leapp/actors/__init__.py", line 296, in run
    self.process(*args)
  File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/systemfacts/actor.py", line 65, in process
    bios_grubcfg_details = systemfacts.get_bios_grubcfg_details()
  File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/systemfacts/libraries/systemfacts.py", line 352, in get_bios_grubcfg_details
    with open('/boot/grub2/grub.cfg') as fo:
IOError: [Errno 2] No such file or directory: '/boot/grub2/grub.cfg'

Key: 8fb4a12b3549ee4efa3a8dd51a59049f7f812ac3
----------------------------------------

How do I create the file /boot/grub2/grub.cfg to upgrade?

  1. If I search for grub2-mkconfig I can’t find it on the system.

  2. The file /boot/grub2/grub.cfg does not exist and I have no grub.cfg on the system.
    I do have:
    /boot/grub2/grubenv
    /boot/grub2/grub.cfg.bak
    /boot/efi/EFI/redhat/grub.efi
    /boot/grub
    /boot/grub/grub.conf.kvm
    /boot/grub/grub.conf
    /boot/grub/grub.conf.kvm_virtio
    /boot/grub/grub.conf.xen
    /etc/grub.conf
    /etc/default/grub

  3. If I view the contents of grub.cfg.bak it shows that grub2-mkconfig created the file but I can’t find grub2-mkconfig on the file system. Why?
    If I cat /boot/grub2/grub.cfg.bak

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

How do I move forward?
Should I use /boot/grub2/grub.cfg.bak and rename it to /boot/grub2/grub.cfg
How do I know if the new grub.cfg (renamed from grub.cfg.bak) will work?

Any insight and suggestions will be highly appreciated.

Here is some Background information:
If I search for grub in all the file names on the file system I get:
find / -name “grub
/boot/grub2
/boot/grub2/grubenv
/boot/grub2/grub.cfg.bak
/boot/efi/EFI/redhat/grub.efi
/boot/grub
/boot/grub/grub.conf.kvm
/boot/grub/grub.conf
/boot/grub/grub.conf.kvm_virtio
/boot/grub/grub.conf.xen
/etc/grub.conf
/etc/default/grub
/usr/libexec/grubby
/usr/share/vim/vim74/ftplugin/grub.vim
/usr/share/vim/vim74/syntax/grub.vim
/usr/share/man/man8/grubby.8.gz
/usr/share/man/man8/grub-terminfo.8.gz
/usr/share/man/man8/grub-install.8.gz
/usr/share/man/man8/grub.8.gz
/usr/share/man/man8/grub-crypt.8.gz
/usr/share/man/man8/grub-md5-crypt.8.gz
/usr/share/doc/grub-0.97
/usr/share/doc/grubby-8.28
/usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/scangrubdevpartitionlayout
/usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/checklegacygrub
/usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/checklegacygrub/libraries/check_legacy_grub.py
/usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/checklegacygrub/libraries/check_legacy_grub.pyo
/usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/checklegacygrub/libraries/check_legacy_grub.pyc
/usr/share/leapp-repository/repositories/system_upgrade/common/actors/detectgrubconfigerror
/usr/share/leapp-repository/repositories/system_upgrade/common/actors/updategrubcore
/usr/share/leapp-repository/repositories/system_upgrade/common/actors/updategrubcore/libraries/updategrubcore.pyo
/usr/share/leapp-repository/repositories/system_upgrade/common/actors/updategrubcore/libraries/updategrubcore.pyc
/usr/share/leapp-repository/repositories/system_upgrade/common/actors/updategrubcore/libraries/updategrubcore.py
/usr/share/leapp-repository/repositories/system_upgrade/common/actors/checkgrubcore
/usr/share/leapp-repository/repositories/system_upgrade/common/actors/scangrubconfig
/usr/share/leapp-repository/repositories/system_upgrade/common/actors/cloud/grubenvtofile
/usr/share/leapp-repository/repositories/system_upgrade/common/actors/cloud/grubenvtofile/libraries/grubenvtofile.py
/usr/share/leapp-repository/repositories/system_upgrade/common/actors/cloud/grubenvtofile/libraries/grubenvtofile.pyc
/usr/share/leapp-repository/repositories/system_upgrade/common/actors/cloud/grubenvtofile/libraries/grubenvtofile.pyo
/usr/share/leapp-repository/repositories/system_upgrade/common/actors/scangrubdevice
/usr/share/leapp-repository/repositories/system_upgrade/common/models/defaultgrubinfo.pyo
/usr/share/leapp-repository/repositories/system_upgrade/common/models/grubconfigerror.pyo
/usr/share/leapp-repository/repositories/system_upgrade/common/models/grubcfgbios.pyc
/usr/share/leapp-repository/repositories/system_upgrade/common/models/grubenv.pyc
/usr/share/leapp-repository/repositories/system_upgrade/common/models/grubinfo.pyc
/usr/share/leapp-repository/repositories/system_upgrade/common/models/grubinfo.py
/usr/share/leapp-repository/repositories/system_upgrade/common/models/grubconfigerror.pyc
/usr/share/leapp-repository/repositories/system_upgrade/common/models/defaultgrubinfo.py
/usr/share/leapp-repository/repositories/system_upgrade/common/models/grubinfo.pyo
/usr/share/leapp-repository/repositories/system_upgrade/common/models/grubenv.py
/usr/share/leapp-repository/repositories/system_upgrade/common/models/grubconfigerror.py
/usr/share/leapp-repository/repositories/system_upgrade/common/models/grubenv.pyo
/usr/share/leapp-repository/repositories/system_upgrade/common/models/grubcfgbios.pyo
/usr/share/leapp-repository/repositories/system_upgrade/common/models/defaultgrubinfo.pyc
/usr/share/leapp-repository/repositories/system_upgrade/common/models/grubcfgbios.py
/usr/share/leapp-repository/repositories/system_upgrade/common/libraries/grub.pyo
/usr/share/leapp-repository/repositories/system_upgrade/common/libraries/grub.pyc
/usr/share/leapp-repository/repositories/system_upgrade/common/libraries/grub.py
/usr/share/tuned/grub2
/usr/share/grub
/usr/share/info/grub.info.gz
/usr/sbin/grub-terminfo
/usr/sbin/grub-md5-crypt
/usr/sbin/grubby
/usr/sbin/grub
/usr/sbin/grub-crypt
/usr/sbin/grub-install
/var/log/grubby_prune_debug
/var/log/grubby
/var/lib/yum/yumdb/g/982538e28f86e357303002f56f44a4033962d72c-grub-0.97-91.fc18-x86_64
/var/lib/yum/yumdb/g/ecd2f55dc92ffb5f72e01b2a3a4c1d4820d1d67b-grubby-8.28-26.el7-x86_64
/var/lib/yum/yumdb/g/b54aaf946fc02900fe338101b2f371fc967e0130-grubby-8.28-11.el7-x86_64

If I search for grub2 in all the file names on the file system I get:
find / -name “grub2
/boot/grub2
/usr/share/tuned/grub2