Bug 855679

Summary: Copy bootloader .efi image to /EFI/BOOT/BOOTX64.EFI
Product: [openSUSE] openSUSE 13.1 Reporter: Forgotten User KUbL3FczOK <forgotten_KUbL3FczOK>
Component: BootloaderAssignee: Michael Chang <mchang>
Status: RESOLVED DUPLICATE QA Contact: Jiri Srain <jsrain>
Severity: Major    
Priority: P5 - None CC: ak
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 13.1   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Forgotten User KUbL3FczOK 2013-12-16 16:28:07 UTC
User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0

Some systems (like my HP Probook 4540s) don't use NVRAM entries for UEFI bootloaders, instead they search for /EFI/BOOT/BOOTX64.EFI. YaST does not update this file when the bootloader is installed or updated, it only relies on /EFI/opensuse/grubx64.efi and an entry in the NVRAM. So for these systems, if BOOTX64.EFI is not found, an error will be displayed on power up that no image was found, or if the file was created by a previous OS, it will try to load that OS's bootloader. After creating /EFI/opensuse and copying all the necessary files inside, YaST needs to create a copy of grubx64.efi (or shim.efi for secureboot) to /EFI/BOOT/BOOTX64.EFI.


Reproducible: Always

Steps to Reproduce:
1. Install openSUSE on UEFI based machine that ignores NVRAM entries.
Actual Results:  
The system won't boot automatically, you need to manually specify what .efi file to use (here /EFI/opensuse/grubx64.efi)

Expected Results:  
GRUB2 should load automatically on powerup.

My laptop runs in UEFI mode, openSUSE was installed using /boot/efi, root, swap and /home partitions. GRUB-EFI was installed successfully and /EFI/opensuse/grubx64.efi was created. Secure boot and Fast boot are disabled. Manually booting the .efi file shows the GRUB menu and successfully loads the system.
Comment 2 Alexander Kanavin 2013-12-24 18:20:52 UTC
I have a somewhat different experience with Intel NUC D5420WYK. By default it won't boot from the hard drive, but if I create an empty (!) /EFI/BOOT/BOOTX64.EFI file, then it's happily booting using /EFI/opensuse/grubx64.efi and a NVRAM variable that points to it.

Can you try if creating a zero-length /EFI/BOOT/BOOTX64.EFI works for you?
Comment 3 Forgotten User KUbL3FczOK 2013-12-24 21:43:19 UTC
It simply gives an error that the efi file is not valid, and it doesn't boot. I guess my laptop simply ignores what's in the NVRAM. Wonder why they added it.
Comment 4 Alexander Kanavin 2013-12-26 19:36:09 UTC
Yeah - maybe they simply didn't understand the requirements of UEFI. It's a big spec.

Either way the installer should create a copy of grubx64.efi in bootx64.efi, if bootx64.efi doesn't already exist.
Comment 5 Michael Chang 2013-12-30 05:59:14 UTC
I can understand the requirement but to me this is a FATE, not bug. We need YaST team to help in evaluating the efforts.
Comment 6 Michael Chang 2015-01-29 07:44:31 UTC
This feature has been implemented as shim fallback mode. See also bnc#833257.

*** This bug has been marked as a duplicate of bug 833257 ***