Leap 15.2: Fresh installation also has GRUB/dual boot issue

Hi Everyone,

I installed OpenSuse Leap 15.2 on a fresh, separate HDD after a brand-new, fresh windows 10 installation. The product’s fantastic; but this afternoon when I started up, I couldn’t get into windows. This had been working just fine, up until this afternoon.

Similar Issues
It’s the same issue identified at the end of this thread. Posting here separately because the issues may have different causes etc.
https://forums.opensuse.org/showthread.php/542023-Fresh-install-of-opensuse-leap-15-2-dual-boot-with-windows-10-Can-t-get-grub-to-show-up

**Actions **
When I started up from a cold boot today, I attached (for the first time on this refreshed system) a Logitech 920 USB web cam. This seemed to throw everything off:

  • System was very slow to respond: on the GRUB splash screen, very slow moving between options
  • In opensuse itself, once logged in, system seemed slower.
  • Yast would not start successfully
  • I eventually was able to power down. Removed the web USB cam
  • Once I did restart, I went into BIOS settings and looked for anything strange. Didn’t see anything.
  • Upon existing BIOS settings, could successfully select windows boot loader and boot up windows.
  • Upon restarting the PC, I again tried to boot up windows, and I couldn’t.
  • This issue is brand new, and wasn’t present when I powered down the PC early this morning. New and different item is the addition of the web cam.

Symptoms
When I select windows in the GRUB menu, i now get the familiar error about the missing windows bootloader efi file.

I’m

  1. Using secure boot for opensuse
  2. All UEFI, no legacy
  3. Windows on SSD; openSuse on HDD, completely separate
  4. Fastboot turned off in windows
  5. Boot order in BIOS looks correct (to me anyway, but I’m no expert on any of that) - has USB HDD as first entry

Diagnostic Information
Here’s my system information
https://pastebin.com/wT2gM3dm

When I’m in opensuse, the device is readily visible

Here’s a listing of the device UUIDs, the ms bootloader is highlighted;
https://imgur.com/a/pQS3k6h

‘/dev/nvme0n1p1: UUID=“4E0E-82B3” TYPE=“vfat” PARTLABEL=“EFI system partition” PARTUUID="25cc’

this is the device that appears missing on start up, but it’s obviously here.

Here’s a shot of the boot order in the BIOS:
https://imgur.com/a/wh6hWr0

Yast can see it too - here’s a shot of Yast with the ms bootloader in the dropdown (I cancelled, did not select and apply, etc.)
https://imgur.com/a/6ISbvsI

Any help with this is greatly appreciated. I’m not very fluent in GRUB etc., so it’s quite possible that I overlooked an obvious fix/approach.

Many thanks,

Egg

“This” what had been working fine? When you did what you did isn’t clear. Did Windows ever boot after installing openSUSE?

Hi - yes, to clarify: after the initial installation of Leap 15.2, which was installed after windows 10 had been freshly installed, all system booting was working as expected in all aspects.

This includes: booting to windows from the start-up menu; booting to openSuse after restarting windows; and any combination of cold boots, restarts, etc, would successfully boot windows when the windows boot loader was selected.

The issues only began yesterday as described.

Thanks.

1: What’s the output from:

efibootmgr -v

(you might need to run that as root).

2: What’s the output from

grep efi /etc/fstab

(this is just looking for the line to mount “/boot/efi”).

Hi - thanks for the response. I’ll try these out tonight, when I can access the PC.

Appreciate the help.

Hi - I’ve started up the PC and here’s the output from these commands:

efibootmgr -v

(you might need to run that as root).


BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0002,0000,0003,0004,0001,0005,0006
Boot0000* Windows Boot Manager  HD(1,GPT,25ccec3b-f466-43d8-b097-c10f2fad0f04,0x800,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...e................
Boot0001  UEFI:CD/DVD Drive     BBS(129,,0x0)
Boot0002* opensuse-secureboot   HD(3,GPT,08d4784c-eb9c-4eed-ab2c-f1cda02f5240,0x30d48000,0xfa000)/File(\EFI\OPENSUSE\SHIM.EFI)
Boot0003* opensuse      HD(3,GPT,08d4784c-eb9c-4eed-ab2c-f1cda02f5240,0x30d48000,0xfa000)/File(\EFI\OPENSUSE\GRUBX64.EFI)
Boot0004* UEFI OS       HD(3,GPT,08d4784c-eb9c-4eed-ab2c-f1cda02f5240,0x30d48000,0xfa000)/File(\EFI\BOOT\BOOTX64.EFI)
Boot0005  UEFI:Removable Device BBS(130,,0x0)
Boot0006  UEFI:Network Device   BBS(131,,0x0)


/dev/system/root  /boot/grub2/x86_64-efi  btrfs  subvol=/@/boot/grub2/x86_64-efi  0  0
UUID=D726-6265    /boot/efi               vfat   defaults                      0  2

Thanks again for your help.

According to that output, you should have two EFI partitions.

One of them is the partition mounted at “/boot/efi”, and that appears to be “/dev/sda3”

The other is used by Windows 10, and appears to be “/dev/nvme0n1p1”

From an earlier message in this thread:

When I select windows in the GRUB menu, i now get the familiar error about the missing windows bootloader efi file.

Either that Windows EFI partition is damaged, or perhaps your BIOS does not properly initialize it when you are booting from the other disk.

Does your BIOS have a way of providing a boot menu? On many UEFI boxes, hitting F12 during boot will give you a menu. For some computers it is a different key. I think it is F9 for HP systems.

Can you boot Windows when using that menu?

Hi - tried your suggestion, and yes, windows boots just fine when the device is selected on the boot menu (you were exactly right about F9 for my HP).

I don’t think there’s much I can do about the BIOS (it’s running the most recent version). But assuming that that Windows EFI partition is damaged, do you think should I try repairing via windows installation? Or a complete reinstall of both OS’s? Either way is totally fine. My biggest concern at the moment is that the issues stem from some BIOS problem - everything, all aspects, had been working great until I tried cold booting with a new device in the USB port.

In any case, thanks for all your help - appreciate it.

If it boots to Windows when selected from the BIOS boot menu, then the EFI partition is probably fine.

I think it is just that your BIOS is not fully initializing the NVME device unless it needs it.

Here are some things that you can try:

(1) Check with your BIOS. Sometimes there is an option for fast or slow boot. That might be called fast or slow POST. If there is such ans option, try switching to the slow version. That might cause the BIOS to fully initialize the device.

(2) You could switch so that openSUSE uses the same EFI partition as Windows. That will likely solve the problem.

or (2a) you could switch so that Windows uses the same EFI partition as openSUSE. But it is easier to make those changes in openSUSE than to make them in windows. So I will explain how to do that.

Edit “/etc/fstab” as root.
Look for this line:

UUID=D726-6265    /boot/efi               vfat   defaults                      0  2

(I copied that from post #6 in this thread).
Change that “D726-6265” to instead read “4E0E-82B3”. I copied that information from post #1 in this thread.

Reboot. After reboot, the Windows EFI partition should now be mounted as “/boot/efi”. You can check that by looking at “/boot/efi/EFI” and you should find a Microsoft directory.

Now you need to reinstall booting. To do that, use Yast Boot Loader. And just change something. Easiest is to click on the “Bootloader Options” tab, and change the timeout (increase by 1 second).

Save the changes. That should reinstall booting to now use the Windows EFI partition.

Then test whether that has solved the problem.

Terrific - I’ll try this out over the weekend, when I can access the PC for a longer stretch.

Really appreciate this.

Update: success. The BIOS-focused approach was effective.

Details, in case they’re useful to someone else:

  1. I didn’t have a fast boot setting in this (limited) AMI BIOS for this HP.
  2. Under ‘Advanced’, I found a menu for ‘BIOS start up’ or something similar.
  3. In that menu, there were options to change the BIOS POST delay - it was set to null or 0.
  4. Toggled that value up to 10 seconds.
  5. On save and restart, black BIOS screen reported implementing the POST delay.
  6. GRUB splash screen appeared in higher resolution than last appearance. This higher res version is what I think I had after the initial, functioning install.
  7. From there, selected Windows on nvme. Booted quickly and successfully.
  8. Warm/cold boot combinations were all successful. Each reboot implements POST delay (totally fine with that).

Side notes:

  • Before changing BIOS settings, I went in and made sure that both Fast Start and Hibernate were disabled in windows.
  • Received the GRUB2 update while working through this - no issues.
  • Haven’t yet tried plugging in the USB webcam that appeared to set off this issue. May be a bad port, or coincidence, or something else unrelated.

Really appreciate the time and expertise on this - thanks again.

Are there advantages to using Windows’s EFI for booting into Linux?

I keep them separate, and run into similar problems the OP has.

It depends on how the firmware handles it.

I am using a separate EFI partition for openSUSE (on a separate hard drive). In my case, using the same EFI partition doesn’t work. The firmware here only considers one bootable system per EFI partition, and that gets into a fight between the two systems as to which wins. And Windows always wins. With the separate partition, I can keep both.