No GRUB, or efi in /boot/efi/EFI/opensuse/

So, I installed openSUSE 20160209 Tumbleweed on a GPT disk in UEFI mode, with Windows 10 installed in UEFI. I use a hp Notebook 15-r033tx with Secure Boot disabled permanently*. The problem is, that there is no way to boot in openSUSE. The HP Boot Manager gives the following entries:-

  1. OS Boot Manager (Starts Win 10)
  2. Android-x86 (Which boots perfectly and was installed through an app available on xda)
  3. Notebook Hard Drive (for booting from traditional BIOS)
  4. Boot from EFI File

On selecting ‘Boot from EFI File’, I can see the openSUSE folder but there is no efi file inside it. I can see nothing in the folder. Not even the first options of going back which are available even when there is no file. My guess is there is problem with the EFI, or grub is not installed correctly. Stuck. Help.

*By permanently, I mean that there is an option that says ‘Secure Boot’ and set at disabled but it is greyed out and can’t be toggled.

Ok general rules on installing in EFI mode.

  1. boot the install media in EFI

  2. the installer should have not options on the bottom of the first menu

  3. the installer should want to mount or create a FAT EFI boot partition at /bootefi

  4. installer should want to install grub2-efi NOT grub2

Some HP hardware seems to only want to boot Windows. There is a cheat where you move and rename the files in EFI boot from the opensSUSE section to the Windows section thus fooling the EFI into thinking it is booting Windows.

Which cheat?

Something went wrong with the install.

Possibly (probably?) you booted the install media in legacy mode rather than in UEFI mode. When that happens, the attempt to setup grub2-efi fails with the result that you see.

You need to boot the install media in UEFI mode. I’m not sure how to do that with your computer.

In BIOS settings, see if you can:

turn off secure-boot;
turn off CSM (legacy support).

Then try again with booting the install media.

I am pretty sure that I installed it from UEFI mode. But still, I will install it again with Legacy Boot turned off.

  1. This is what I did.
    2)Will check. If there would be, what should I do?
    3)FAT or FAT 32? Windows created a 100MB FAT32 partition for ESP.
    4)will check
    Another problem I get (now that I have deleted the openSUSE root and swap partition for re-installation), there is no way to remove the previous openSUSE EFI Folder that has been made in the EFI System Partition. What should I do?

Hi
For 3, you can just remove the opensuse directory in /boot/efi/EFI and/or during the install you select expert partitioner, then press the rescan drive button, then select sda and then the efi partition and no format, in the mount point in the dropdown select /boot/efi.

It may create multiple nvram (efi) entries, but that can be cleaned up after install easily with the efibootmgr command.

Which command? I have boot-repair-disk and through it I can run the command. And how to just directly delete it?

man efibootmgr will show the available options

Liberty ho! Freedom from Windows! No more Spycams!
Here’s what I did:-

  1. Disabled the ‘Fast Startup’ option (or something like that in the options where you enable/disable hibernate) in Windows 10
  2. Created a new ESP 256MiB for openSUSE FAT formatted.

Now, how should I be ordering them correctly i.e. openSUSE at first?

I’m assuming that you are asking about the boot order. I have opensuse first in boot order. Usually, that’s the best for dual booting, since the grub2-efi boot menu contains an entry to boot Windows. I don’t think it is possible to have a Windows boot entry to boot opensuse (on a uefi box).

I mean change the bootloader entry in UEFI. The one you can get after pressing F9 (or the equivalent).

Hi
If you boot into openSUSE then use efibootmgr (as root user) to change the order;


efibootmgr
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0001,0000
Boot0000* Windows Boot Manager
Boot0001* opensuse-secureboot

efibootmgr -o 0,1

Would switch Windows to first and openSUSE second, so just use the number you want first after the -o option.

You can, supposedly, change that order with:

# efibootmgr -o 0003,0001

or similar. Give the order that you want. The boot numbers are shown by

# efibootmgr -v

However, what shows with F9 or similar depends on the BIOS, and the BIOS might not honor the order that you set.

Also, the boot order might be different from the order of listing them.

Hi
Some of the newer HP’s have a ‘custom’ efi option (this system does) so you can set the order to ‘cutom’ first and point to /EFI/opensuse/shim.efi.

Where can I change the EFI in m system? If you mean the F10 boot menu, the only option there is OS Boot Manager, Internal HDD, USB, CD-ROM but no openSUSE. Also, on using efibootmgr and setting the order of things, and even verifying by running the command efibootmgr, the order got resetted after reboot. Also, I installed it without Secure Boot support so I use grubx64.efi .