Change installed system from GRUB to GRUB for EFI before upgrade to 15.1

I’m pretty sure that works, without error, in Leap 15.1. Or, at least, it works if done at the command line. I don’t know about doing that with Yast.

The only anomaly that I can see in the existing installation is that /dev/sda2 is FAT16 rather than the requisite FAT32. Is that the only issue preventing the change to GRUB for EFI?

That will only be a problem if your UEFI firmware is exceptionally fussy. Most will accept FAT16.

Obviously if I reformat /dev/sda2 then I’ll lose its contents, but does that matter while the system is booting in legacy mode?

That only matters if the content is important. If the only important content is what will be replaced by your install/update, then it should not be a problem.

Generally speaking, the safest way to switch an existing system to UEFI booting is:

1: Boot rescue media to UEFI mode. Booting the installer to the rescue system can work for this, but you have to boot to UEFI mode.

2: Mount the system that you are trying to repair.
Use something like:

mount /dev/sdaX /mnt

but replace “/dev/sdaX” with the proper device for your root file system.

3: Do other needed mount (bind mounts)


mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys

4: Go into chroot mode


chroot /mnt
mount -a

That last mount command, in chroot mode, should mount anything else needed. This includes “btrfs” subvolumes, the EFI partition at “/boot/efi”, etc.

5: While still in chroot mode, run “yast” at the command line. And change to UEFI booting. Since you are running in UEFI mode in the chroot session, this should work. You will be using the command line “ncurses” version of Yast.

6: Maybe also, while still in a chroot session:


grub2-mkconfig -o /boot/grub2/grub.cfg
mkinitrd

7: Exit from the chroot session (just the command "exit:).

8: Reboot