No Windows entry in grub

I’ve installed openSUSE Tumbleweed alongside Windows 10 install on the same SSD drive. I’ve kept the default guided partitioning during install as it seemed to just take bare minimum from existing Windows partition and use it for the openSUSE install while keeping the Windows partition intact. After install I can see a drive with Windows files all intact, but no Windows boot entry is shown in grub. Can anyone please help me make it so that I can choose between Tumbleweed and Windows 10 or did I mess up, and it’s no longer possible?


$ fdisk -l

**Device        ****     Start****       End****   Sectors**** Size****Type**
/dev/nvme0n1p1       2048     206847     204800  100M EFI System 
/dev/nvme0n1p2     206848     239615      32768   16M Microsoft reserved 
/dev/nvme0n1p3     239616 1608650751 1608411136  767G Microsoft basic data 
/dev/nvme0n1p4 1686257664 1952495615  266237952  127G Microsoft basic data 
/dev/nvme0n1p5 1952497664 1953521663    1024000  500M Windows recovery environment 
/dev/nvme0n1p6 1608650752 1608660991      10240    5M BIOS boot 
/dev/nvme0n1p7 1608660992 1682063359   73402368   35G Linux filesystem 
/dev/nvme0n1p8 1682063360 1686257663    4194304    2G Linux swap 

Partition table entries are not in disk order.

I’ve tried creating custom grub entry, but it fails on chainloader invalid signature error.


[FONT=monospace]menuentry **"Windows 10"**** --class** windows** --class** os {
        insmod ntfs 
        search** --****set**=root** --no-floppy --fs-uuid** 2462-5FFF 
       chainloader /EFI/Microsoft/Boot/bootmgfw.evi 
}

sudo os-prober returns nothing

[/FONT]

[FONT=monospace]sudo bootctl status 
Couldn't find EFI system partition. It is recommended to mount it to /boot or /efi. 
Alternatively, use --esp-path= to specify path to mount point. 
System: 
    Not booted with EFI 
[/FONT]

I’ve tried creating custom grub entry, but it fails on chainloader invalid signature error.

[FONT=monospace]menuentry “Windows 10”** --class** windows** --class** os {
insmod ntfs
search** –set=root --no-floppy --fs-uuid** 2462-5FFF
chainloader /EFI/Microsoft/Boot/bootmgfw.evi
}

[/FONT]
Edit: My bad, file not found error.

Hi and welcome to the Forum :slight_smile:
Looks to me like Windows is installed as UEFI and since you have a pmbr partition installed openSUSE via legacy boot… You need to probably boot from a rescue USB and delete those partitions. Then re-installo and boot with the system boot (F12?) and ensure you select UEFI boot for the install media. After that grub and the os-prober will add the windows option to grub…

Thank you for welcoming and help.

So the partitions that I need to delete are /dev/nvme0n1p7 and /dev/nvme0n1p8, but keep /dev/nvme0n1p1?

Hi
No all three;


/dev/nvme0n1p6 1608650752 1608660991      10240    5M BIOS boot 
/dev/nvme0n1p7 1608660992 1682063359   73402368   35G Linux filesystem 
/dev/nvme0n1p8 1682063360 1686257663    4194304    2G Linux swap 

During the install select /dev/nvme0n1p1 as /boot/efi AND DON’T FORMAT is selected if it doesn’t show up in the guided setup :wink:

Well, bootmgfw.evi certainly does not exist.

Note:

All modern motherboards and operating systems support UEFI. Therefore, there is absolutely no reason to install the operating system in BIOS mode (which is emulated by the Compatibility Support Module of the UEFI).

Like UEFI, GPT is supported by all modern motherboards and operating systems. So the choice should be GPT without a doubt.

In UEFI turn off Compatibility Support Module (CSM), Save&Exit. More: Manjaro Tutorial: BIOS, UEFI, MBR, GPT, GRUB, SED, LUKS

It sounds like your Windows is installed for UEFI boot and openSUSE is installed for legacy BIOS boot. Legacy boot grub cannot load EFI binary, both need to be installed in the same mode.

Another thing maybe that windows has fast boot turned on. This makes Windows partition unusable for other OS

Thanks. guys!

It really was as easy as installing the system with /dev/nvme0n1p1 being mounted as /boot/efi. Guided partitioning took care of the rest.

Dual boot works fine now :wink: :slight_smile: