Symptoms-
(1) after upgrade, hard drive will not boot using Grub2 EFI although there is no apparent installation/upgrade error.
(2) efibootmgr -c -d /dev/sda -p1 -w -L opensuse -l /EFI/opensuse/grubx64.efi
seems to work fine. Immediately afterwards, efibootmgr -v shows the added UEFI boot entry. However, the entry disappears and is not seen or used on reboot. Booting into the BIOS does not show Hard Drive as bootable UEFI device. (Unix style slashes work fine and single backslashes can be problematic on the -l argument)
(3) failed boot message when booting from rescue DVD or USB is along the lines of
error: no such device: EFI. /EndEntire
Cause and Fix-
the earlier 13.1 installation was using a FAT16 EFI partition on the hard drive. I found out that it should be FAT32 -
boot a live USB or rescue disk, become root
mount the partition
mkdir /mnt/e
mount /dv/sda1 /mnt/e
copy the data
mkdir /mnt/eData
cd /mnt
cp -pr e/* eData/
unmount
umount /dev/sda1
reformat
mkfs.fat -F32 /dev/sda1
# can verify with parted (print)
mount and copy the data back
mount /dev/sda1 /mnt/e
cp -pr eData/* e/
run efibootmgr per (2) above
BIOS now shows hard disk as UEFI boot choice and the system boots!
Regards,
Ed
As I understand it, the UEFI specifications allow FAT12, FAT16 and FAT32. I have used FAT16 without problems, though at present I am using FAT32. I have never tried FAT12.
Your firmware (BIOS) must be unusually fussy to insist on FAT32.
Ok, I think I now have a better understanding of why the upgrade failed and what really fixed it. Per the previous reply, how could the system be so fussy now over FAT16 vs FAT32, and if so, isn’t that inconsistent with having a working EFI boot before the upgrade?
I started the upgrade with a DVD that was booted in non-EFI mode. This install attempt failed at the end when the system could not install the boot loader. Then I did another upgrade with the installation DVD booted in EFI mode, which ended successfully but yielded the non-booting system. Late in the recovery efforts, in addition to changing from FAT16 to FAT32, I also used parted to clear the pmbr_boot flag on the disk. This flag must have been set by the first failed upgrade in non-EFI mode. In another experiment since, I cleared the pmbr_boot flag on the second SATA drive and now the BIOS shows this additional drive as EFI bootable. So the real fix was:
parted /dev/sda
(parted) disk_set pmbr_boot off
(parted) quit
and then using efimanager -c per (2) in the first post.
Sorry for the misleading information yesterday - but here is the fix to a very real problem. I edited the misleading thread title with this post so I hope the change applies to the whole thread.
It would be a nice feature if the upgrade/installer could check and warn about upgrading/installing an EFI system with a non-EFI booted DVD.
Depends on if you want to use MBR (legacy) or EFI booting. Either can be used on new install upgrades pretty much require matching modes.
Simple rule EFI boot boot installer in EFI legacy boot boot installer in legacy;)
Quoting UEFI specification:
EFI encompasses the use of FAT32 for a system partition, and FAT12 or FAT16 for removable media.
So only FAT32 is required for ESP.
Thanks. I hadn’t noticed that subtlety.