After three days of effort I have failed to find a way of shifting a
server from legacy boot to UEFI boot.
I have made my way through the 400+ pages of RH installation manual for
EL7, plus their similarly large system administrators manual. Dozens of
pages searched via google and yet none of the layouts for the /boot and
/boot/efi have worked in my case.
System is a Lenovo 3650 M5 with UEFI bios.
Due to RH / CentOS design my initial install onto the two 600GB HDD
partitioned these using MBR and legacy boot.
I have just obtained two SAS SSD drives of 3.8TB and thus MBR is no
longer an option.
I have successfully migrated all the system and data from the HDD to the
SSD, complete with GPT and RAID1 and all works as expected - except the
HDD was still needed to boot the system.
That's when the fun / agony started. Each system reboot is almost five
minutes just to get to the <F1> for system setup option. Thus testing is
a very slow process.
I am now at the point where I have a "bios boot" partition (1024K type
ef02) as the first partition on each GPT partitioned SSD and have
grub2-install onto the drives the bios boot junk needed for legacy boot.
Thus I can at least legacy boot from one of the SSD and all comes up as
expected. (no idea yet why it only works from one of the SSD and not the
other).
Unfortunately the server is remote and the CentOS7 USB device I left
plugged into the machine refuses to boot from UEFI mode. Thus a rescue
mode boot has not been possible.
I have two 300MB partitions, one on each SSD suitably formatted (type
ef00 and vfat) and set up with the files as follows:
-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 Aug 27 16:22 fonts
-rwx------. 1 root root???? 6597 Aug 27 21:33 grub.cfg
-rwx------. 1 root root???? 1024 Aug 26 23:22 grubenv
-rwx------. 1 root root? 1122120 Mar 17 07:24 grubx64.efi
-rwx------. 1 root root 19378672 Aug 26 20:29
initramfs-3.10.0-1160.36.2.el7.x86_64.img
-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
-rwx------. 1 root root? 6777448 Aug 26 20:27
vmlinuz-3.10.0-1160.36.2.el7.x86_64.efi
unfortunately grub2-mkconfig sets up the grub.cfg as for legacy boot
because the /sys/firmware/efi does not exist, thanks to running from a
legacy boot.
I tried a few manual edits to the grub.cfg to deal with linux16 ->
linuxefi and initrd16 -> initrdefi but to little avail.
Can someone point me to what needs to happen for UEFI boot to work
successfully.
I am unsure what file I need to point the UEFI bios disk manager setup
at, I have tried shim.efi and shimx84-centos.efi
The message I get is that linux16 and initrd16 cannot find their files.
The change to linuxefi and initrdefi also fail but the system reboot
happens before I can see what flashes on screen.
Is a USB based UEFI booted rescue mode the only way I can fix this?
TIA for your pointers / suggestions.