Boot loader not detecting Win 10 because it was installed in legacy mode

Hi!

I’m a first time open suse user who ran into a problem after installation. I installed tumbleweed alongside win10 on my new PC. After installation and reboot windows isn’t showing up in the boot loader. I searched around a bit and read that that could happen if you install the OS(and boot loader) with BIOS set to legacy mode instead of to UEFI(because windows is installed in UEFI and won’t be recognized). That’s exactly what i did because i listened to some dude on youtube. I tried changing bios back to UEFI and then i got a failure instead of boot menu at boot, which should indicate that the boot loader is in legacy mode.

Would just reinstalling open suse with legacy disabled in BIOS solve the problem or would the legacy bootloader stay installed as legacy? I’m afraid that would just cause the new installation not to be recognized neither.

I’m a casual linux user since before but don’t know allot about this stuff and obviously i messed up this time. I’m grateful for any help.

Regards
Alex

Welcome to the openSUSE Forums!
Yours is a common mistake of first time users and reinstalling with the firmware set to UEFI mode should solve your problem.
The “legacy” bootloader will likely stay installed (depending on the options you used) but in a place that is not used by UEFI mode booting, so I don’t expect problems from that as long as you remain in UEFI mode.
Of course, should you switch to legacy mode for whatever reason, you will find that bootloader still there and you should replace or modify it if you really want to use the system in legacy mode.

Boot the installer in EFI mode and it will install the OS in EFI mode. Booting the install in legacy will install the OS in legacy. note it is possable to adjst things but you mus really know what you are doing.

All OS’s must use the same boot method or they can not see one another at boot.

There is nothing wrong with your installation of Tumbleweed. What you need to do:

  1. mount the existing EFI System Partition, e.g.: mount /dev/sda1 /boot/efi
  2. install grub: grub2-install --target=x86_64-efi --no-nvram
  3. create boot: efibootmgr --create --disk /dev/sda --part 1 --label test --loader /EFI/opensuse/grubx64.efi

The problem was solved by switching to UEFI in BIOS and reinstalling openSUSE. It was a fresh install so i didn’t lose anything. At least i learned something in the process.

Many thanks for your quick responses!

Many thanks for the feedback.

It was a fresh install so i didn’t lose anything.

For whatever reason a boot is missing the above commands reliably restore it. By the way ‘loading optimized defaults’ in EFI clears nvram and creates all boots from scratch:

**erlangen:~ #** efibootmgr  
BootCurrent: 0008 
Timeout: 1 seconds 
BootOrder: 0006,0003,0007,0005,0004,0000,0001,0002,0017,0018 
Boot0000* manjaro 
Boot0001* Windows Boot Manager 
Boot0002* arch 
Boot0003* tumbleweed-sdc7 
Boot0004* sled 
Boot0005* Fedora 
Boot0006* tumbleweed-nvme0n1p3 
Boot0007* leap-15.3 
Boot0017* UEFI OS 
Boot0018* ubuntu 
**erlangen:~ #**