Leap 15.6 - Grub cannot start Windows

Hello!
A couple of weeks ago I needed Windows (7), that is installed in dual boot EFI system alongside openSUSE Leap 15.6, but it did not start. Instead I got an error message and the grub prompt:

error: ../../grub-core.kern/dl.c:380:symbol 'grub_cli_set_auth_needed' not found.
Entering rescue mode...
grub rescue>_

I must specify: Last month I intended to test, if Leap 15.6 also starts with Secure Boot enabled (installed without) and this maybe deleted the Microsoft subdirectory under /EFI.
Before that I worked even if rarely with Windows on this system.

Anyway, now grub does not find the line for Windows… In fact:

# ls -l /boot/efi/EFI
insgesamt 24
drwxr-xr-x 2 root root 4096 12. Mär 2024  boot
drwxr-xr-x 2 root root 4096 12. Mär 2024  CutefishOS
drwxr-xr-x 2 root root 4096 12. Mär 2024  debian
drwxr-xr-x 2 root root 4096 24. Apr 11:26 memtest86
drwxr-xr-x 2 root root 4096 12. Mär 2024  opensuse
drwxr-xr-x 3 root root 4096 20. Mai 16:36 sles

Here a look at partitioning

  • Consider please, /dev/sdc is practically unused, added on June for a possible future project:
# fdisk -l
Festplatte /dev/sda: 111,79 GiB, 120034123776 Bytes, 234441648 Sektoren
Festplattenmodell: INTEL SSDSA2BW12
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: B2C21312-65AA-4BB3-9406-5326D704F510

Gerät         Anfang      Ende  Sektoren Größe Typ
/dev/sda1       2048    206847    204800  100M EFI-System
/dev/sda2     206848    239615     32768   16M Microsoft reserviert
/dev/sda3     239616 155766783 155527168 74,2G Microsoft Basisdaten
/dev/sda4  233371648 234440703   1069056  522M Windows-Wiederherstellungsumgebung
/dev/sda5  159961088 233371647  73410560   35G Linux-Dateisystem
/dev/sda6  155766784 159961087   4194304    2G Linux Swap

Partitionstabelleneinträge sind nicht in Festplatten-Reihenfolge.

Festplatte /dev/sdb: 1,82 TiB, 2000398934016 Bytes, 3907029168 Sektoren
Festplattenmodell: ST2000DM008-2UB1
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 4096 Bytes
E/A-Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: 9618CDD8-8FA5-4BE6-B07C-DB14FEF1A254

Gerät         Anfang       Ende   Sektoren Größe Typ
/dev/sdb1       2048     718847     716800  350M EFI-System
/dev/sdb2     718848   73607167   72888320 34,8G Microsoft Basisdaten
/dev/sdb3   73607168  147007487   73400320   35G Linux-Dateisystem
/dev/sdb5  147007488  377694207  230686720  110G Linux-Dateisystem
/dev/sdb6  377694208  608380927  230686720  110G Linux-Dateisystem
/dev/sdb7  608380928  839067647  230686720  110G Linux-Dateisystem
/dev/sdb8  839067648 3907028991 3067961344  1,4T Linux-Dateisystem

Festplatte /dev/sdc: 232,89 GiB, 250059350016 Bytes, 488397168 Sektoren
Festplattenmodell: ST9250315AS     
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: dos
Festplattenbezeichner: 0x8bc9fd16

Gerät      Boot    Anfang      Ende  Sektoren  Größe Kn Typ
/dev/sdc1  *    115346700 488392703 373046004 177,9G  7 HPFS/NTFS/exFAT

… and now a look at EFI boot manager:

# efibootmgr -v
BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0002,0001,0010,000D,0011,0000,0014,0008,0015,0012
Boot0000* Windows Boot Manager  HD(1,GPT,953cd5f5-afab-4826-b4c9-54bcc11f8f37,0x800,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)
Boot0001* opensuse      HD(1,GPT,e0ef8bc1-f0be-4f70-97e9-79f140f333ba,0x800,0xaf000)/File(\EFI\opensuse\grubx64.efi)
Boot0002* opensuse-secureboot   HD(1,GPT,e0ef8bc1-f0be-4f70-97e9-79f140f333ba,0x800,0xaf000)/File(\EFI\opensuse\shim.efi)
Boot0008* Hard Drive    BBS(HD,,0x0)..GO..NO?.........F.a.k.e. .U.s.b. .O.p.t.i.o.n.................BO..NO{.......+.S.A.T.A. . .P.M.:. .I.N.T.E.L. .S.S.D.S.A.2.B.W.1.2.0.G.3.H.........................rN.D+..,.\...........BO..NOw.......+.S.A.T.A. . .P.M.:. .S.T.2.0.0.0.D.M.0.0.8.-.2.U.B.1.0.2.........................rN.D+..,.\...........BO..NOU.......+.S.T.9.2.5.0.3.1.5.A.S.........................rN.D+..,.\...........BO
Boot000D* DTO UEFI ATAPI CD-ROM Drive   VenMedia(b6fef66f-1495-4584-a836-3492d1984a8d,0300000001)..BO
Boot0010* DTO UEFI USB Floppy/CD        VenMedia(b6fef66f-1495-4584-a836-3492d1984a8d,0500000001)..BO
Boot0011* DTO UEFI USB Hard Drive       VenMedia(b6fef66f-1495-4584-a836-3492d1984a8d,0200000001)..BO
Boot0012* DTO Legacy USB Floppy/CD      VenMedia(b6fef66f-1495-4584-a836-3492d1984a8d,0500000000)..BO
Boot0014* UEFI OS       HD(1,GPT,e0ef8bc1-f0be-4f70-97e9-79f140f333ba,0x800,0xaf000)/File(\EFI\BOOT\BOOTX64.EFI)
Boot0015* CD/DVD Drive  BBS(CDROM,,0x0)..GO..NO{.......+.S.A.T.A. . .P.M.:. .h.p. . . . . . .D.V.D. .A. . .D.S.8.A.9.........................rN.D+..,.\...........BO

I think, it is needed to re-create the Microsoft partition under /EFI. I never made backup of root in the last years and the Linux partitions are formatted as ext4. Ergo, a normal restore is not possible.
Is it possible to “recreate” the Microsoft partition with Linux means?

Thanks a lot for any suggestion

There is no Windows loader, so there is nothing to find.

That is what Windows recovery mode is for. You need to ask on Windows forums for details.

@geppino:

You could also check the GRUB “info” pages:

> info grub2

With the down arrow, move down to the “Configuration:” entry – then, hit the “Return” key.
Down arrow again, select the “Simple configuration” entry.
Search for the key “GRUB_DISABLE_OS_PROBER”.

Edit the file ‘/etc/default/grub’ –

  • Check that, the value of the key “GRUB_DISABLE_OS_PROBER=” is set to “false”.
  • Check that, the key “GRUB_OS_PROBER_SKIP_LIST” is not present in the configuration file ‘/etc/default/grub’

After you have checked and, if needed made any changes to the GRUB configuration file, then do exactly what is written at the beginning of the file ‘/etc/default/grub’ –

 > head -2 /etc/default/grub
# If you change this file, run 'grub2-mkconfig -o /boot/grub2/grub.cfg' afterwards to update
# /boot/grub2/grub.cfg.
 >

If, that’s all OK then, you’re really missing the Windows 7 EFI directory and file –

  • If you have a licensed Windows 7 image either on a DVD or a USB stick then, you could try to retrieve the needed EFI directory and file …

arvidjaar
both your assumptions are correct.
I only asked opening to a “Linux-Solution”.

I’ve checked and both the conditions are satisfied.
BTW, I already knew, the Windows 7 EFI (/Microsoft) directory is missed - I simply checked the directory tree with Dolphin.
However, the >info grub2 tool is very interesting, I did not know that.
A little question only for learning:
Does the line GRUB_DISABLE_OS_PROBER= maybe correspond to the check Fremdes OS testen (= check for other OS) in Boot loader Options (YAST)?

CONCLUSION:
yes, I should use the recover utilities in the Windows install image (yes, it is licensed), but I don’t know if I do this because:

  • the repair takes a lot of time;
  • Windows 7 will get no more security updates in one month and
  • I can’t upgrade to Windows 10, as my PC only has TPM 1.2, while the '10 needs the version 2.0.

Maybe I can Install Windows 10 on VirtualBox, if this can “imitate” a PC with TPM 2.0 on a Hardware without this. I’ll ask on V-Box forum.

Thanks a lot for your contribution!
Bye.

Windows 7 is a long time dead. Also recently support for Win10 stopped and now MS only supports Win11
TPM is a BIOS/UEFI thing I doubt it can be emulated in a VM, But you could try it

Absolutely incorrect maybe you mis-typed “10”.

To quote the MS end of life webpage:

“After 10 years, security updates and technical support for Windows 7 ended on January 14, 2020.”

That’s over five years ago.

We have a Win10 laptop that we start once a month - we are continuously reminded, “support will end Oct 14, 2025”. We will copy the current Win10 content to a VBox first … then will upgrade the bare metal Win10 to Win11.

The webpage below shows end of life for Win 7, 8.1, and Win10.

.

Genau – dass ist korrekt.


Language change.
Please be aware that, with Leap 16 YaST as we know it will disappear – Myrlyn is the replacement for the RPM Package Management and, that’s about it.

  • Yes, yes – “Cockpit” is the replacement for some of the System Management Tasks but …

I’ve noticed that, some of the GRUB2 Keys in the current Leap 15.6 definition have been marked by the GRUB team as being deprecated.


Back to Windows (7) –

Yes, Oracle VirtualBox supports TPM 2.0 in a VM image but, I’m not sure if, it needs Hardware which also supports that TPM version – »I have licensed Windows 10 executing in an Oracle Virtual Box VM.« (Which will be killed at the Windows 10 “End of Support” date) …

  • For those applications I need which have no Linux support (the Garmin Map management and, a digital camera Foveon RAW processing tool plus, a camera Lens firmware updating tool) – only Windows and macOS applications –
    I bought a MacBook – which is also nice for evaluation of photographs plus, some new AI features for photography work-flow –
    Plus, automatic detection of other Apple products – such as an Apple TV connected to a Video Projector for the display of a presentation …

Alternatively – given that, the Windows 7 applications may well display some “interesting” behaviour when executing on newer Windows versions, have you considered executing your Windows 7 applications in Wine?

Thanks to all, that replied …

Yes, my mistake: the current Windows version on the PC is the 10th. Anyway, that does not implicate the sense of my original question, which has been answered: It is not possible to “regenerate” the deleted Microsoft folder under /EFI.
And I don’t want to repair it (with Windows Installer DVD) because:
1st. A lot of work time for only 1,5 months use, due to end of support, especially considering that the PC only has TPM 1.2.

Bye, geppino

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.