GRUB2 Unable to See Windows 10 in Dual Boot

Hey guys,

My current setup is as follows:

Samsung 850 EVO 250 GB with Windows 10 (recently upgraded from windows 7, and then did a clean install of Windows 10)
1 TB HDD with Leap 42.1 (installed very recently, after the latest install of Windows 10)

The issue I’m having is that when I boot into GRUB it only has an option for LEAP, and does not present one for Windows 10. I’m using a ASUS Z97-A motherboard, with secure boot enabled in the bios settings as well.

I’m relatively new to Linux and would appreciate your help in resolving the issue.

Hi and welcome to the openSUSE forums :slight_smile:
First of ensure your system is all up to date, so open up a terminal and switch to root user;

su -
zypper ref
zypper up

Maybe if you feel like it restart the system, then if you fire up YaST->System->Boot Loader and check the ‘Boot Code Options’ that secure boot is enabled, then on the ‘Bootloader Options’ tab ensure Probe Foreign OS is checked.

You can also do a pre check as root user from a terminal and run os-prober and you should see something like;

  No volume groups found
/dev/sda1@/EFI/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi

If not, (still as root user) post the output from;

efibootmgr -v

Thank you for the quick reply.

When checking my boot loader, I do not see an option for enabling secure boot under ‘Boot Code Options’ (note my current boot loader is set to GRUB2). Additionally under ‘Bootloader Options’ probe foreign OS is checked.

When entering ‘os-prober’ nothing is returned to the terminal.

efibootmgr -v
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables. 
Try 'modprobe efivars' as root.

Then when trying ‘modprobe efivars’ nothing is returned to the terminal.

Here’s my best guess:

You have Windows 10 installed for UEFI booting.

You have Leap 42.1 installed for legacy booting.

Legacy booting and EFI booting do not mix.

Alright, thank you.

Given that Windows 10 currently holds the majority of my data, is there any way to boot into Leap 42.1 as UEFI? I noticed in the boot loader option where it says GRUB2 under ‘boot code options’ there is an option in the list for GRUB2-EFI, would that resolve the issue? If so are there any instructions on how to appropriately apply this, as to not leave the system in an unbootable state? I am a little hesitant to make the change without knowing if that’s the right direction as I feel it could make things a lot worse if it isn’t.

The problem is that you really need to have booted in UEFI mode to be able to install grub2-efi. And you need to have the EFI partition mounted as “/boot/efi”.

I’ve tried just switching. It gives an error message on incomplete boot installation. And then I had to use a UEFI boot of the rescue iso to complete the job.

Either way, you need to be able to boot the install media in UEFI mode – either for a reinstall or to switch to UEFI booting. A reinstall is probably easier. But first make sure that you are able to boot the installer in UEFI mode. The boot screen will be different (no Fn keys, for example) and that should help you recognize whether you have succeeded.

Hey guys,

Thanks again for your help. After looking into your suggestions and doing some other research it seems to me that most solutions require me to change settings in the BIOS that cannot be easily reversed. As a result I’m just going to live with the current situation and change my boot device from the BIOS whenever I feel like switching to the other OS.

No need to change BIOS setting. Just select boot from what ever is your install device to boot as EFI. Should be an option at the BIOS splash screen maybe F12 but it is different on different hardware. Then do an update and be sure all the partitions are correct. one should be the exiting efi boot partition to be mounted as FAT at /efi/boot The boot code should be grub-efi not just grub

I have this exact same problem. I did a fresh install. Made sure my install media was mounted uefi and /boot/efi was properly done. It still is not finding windows 10 the way it did in 13.2.

There has to be a solution.


So please provide this exact same information that was already requested - output of “efibootmgr -v” and “os-prober”.

Here is the out put.

efibootmgr -v
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0005,0004,0006
Boot0000* opensuse-secureboot HD(1,800,4e000,7b26f156-668d-4cac-8857-67ae99ef2b7a)File(\EFI\opensuse\shim.efi)
Boot0004* CD/DVD Drive BIOS(3,0,00)WD Virtual CD 1110 2003.
Boot0005* Hard Drive BIOS(2,0,00)KingstonDT 101 G2 1.00.
Boot0006* Removable Drive BIOS(1,0,00)Canon MX870 series 0101.

/dev/sdc6:Linux Mint 17.1 Rebecca (17.1):LinuxMint:linux
grub2-probe: error: unknown filesystem.

I remember manually adding it long ago. Can that still be done?

There is the problem Windows is not in that list. For some reason did you set the install to format /boot/efi? Looking into /boot/efi do you see any directories labelled windows

Be sure also that there still is a Windows partition. Might want to show sudo /sbin/fdisk -l

I reinstalled making sure to format /boot/efi. There are not directories labeled windows in /boot/efi. The windows SSD is showing up in Dolphin.

Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: FB97C9A9-6C58-4B00-8894-DF617FC10983

Device         Start       End   Sectors   Size Type
/dev/sda1       2048    321535    319488   156M EFI System
/dev/sda2     321536  84211711  83890176    40G Microsoft basic data
/dev/sda3   84211712 362297343 278085632 132.6G Microsoft basic data
/dev/sda5  362297344 976768063 614470720   293G Microsoft basic data

Disk /dev/sdb: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2a3bc38e

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sdb1  *           63   1204874   1204812 588.3M  7 HPFS/NTFS/exFAT
/dev/sdb2         1204875 487470464 486265590 231.9G  7 HPFS/NTFS/exFAT
/dev/sdb3       487471104 488392703    921600   450M 27 Hidden NTFS WinRE

Disk /dev/sdc: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xcc0c9dd8

Device     Boot      Start        End    Sectors   Size Id Type
/dev/sdc2  *          2046 1953521663 1953519618 931.5G  5 Extended
/dev/sdc5        318795776 1912561663 1593765888   760G  7 HPFS/NTFS/exFAT
/dev/sdc6             4096   78123007   78118912  37.3G 83 Linux
/dev/sdc7       1912563712 1953521663   40957952  19.5G  7 HPFS/NTFS/exFAT                                                                                                                                
/dev/sdc8         78127104   94183423   16056320   7.7G 82 Linux swap / Solaris                                                                                                                           
/dev/sdc9         94185472  318793727  224608256 107.1G 83 Linux                                                                                                                                          
Partition table entries are not in disk order.                                                                                                                                                            
Disk /dev/sdd: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors                                                                                                                                         
Units: sectors of 1 * 512 = 512 bytes                                                                                                                                                                     
Sector size (logical/physical): 512 bytes / 512 bytes                                                                                                                                                     
I/O size (minimum/optimal): 512 bytes / 512 bytes                                                                                                                                                         
Disklabel type: dos                                                                                                                                                                                       
Disk identifier: 0xcc0c9ddf                                                                                                                                                                               
Device     Boot     Start        End    Sectors   Size Id Type                                                                                                                                            
/dev/sdd1            2048  614399999  614397952   293G  7 HPFS/NTFS/exFAT                                                                                                                                 
/dev/sdd2  *    614402048 1953519615 1339117568 638.6G  7 HPFS/NTFS/exFAT                                                                                                                                 
Disk /dev/sdf: 3.7 TiB, 4000787025920 bytes, 976754645 sectors                                                                                                                                            
Units: sectors of 1 * 4096 = 4096 bytes                                                                                                                                                                   
Sector size (logical/physical): 4096 bytes / 4096 bytes                                                                                                                                                   
I/O size (minimum/optimal): 4096 bytes / 4096 bytes                                                                                                                                                       
Disklabel type: gpt                                                                                                                                                                                       
Disk identifier: 8171051F-344A-4E14-03E8-9EF769D1D4C5                                                                                                                                                     
Device         Start       End   Sectors  Size Type                                                                                                                                                       
/dev/sdf1         34 665599999 665599966  2.5T Microsoft basic data                                                                                                                                       
/dev/sdf2  665600000 976754611 311154612  1.2T Microsoft basic data 

No You do not understand in EFI boot all OS’s must have an entry in the EFI boot partition. If an os is not represented there it will not boot. By erasing (formatting) that partition you lose ability to boot Windows… Must be fixed form the Windows side. However reinstalling or repairing Windows may erase the the openSUSE entries. At least some time it seems Windows does that. How ever it is a bit easier to repair the openSUSE boot then to repair the Windows boot.

Thank you. How do I repair the opensuse boot then. I already have done one fresh install again. Keep in mind that the Windows system is on a separate hard drive.

Added: I will do some searches on how to convert the other drive Windows 10 boot to EFI from legacy. That seems what I need to do at this point.

Sorry it appears to be EFI boot partition is on a GPT partitioned disk with Windows installed on it so is likely EFI boot. You Linux is on a dos partitioned drive in an extended partition. EFI boot is normally done from GPT partitioned drives I honestly don’t know the ramification or such and odd mix of technology. In any case what you must do is to do a Windows recovery to repair to fix the fact that you effectively erased the Windows boot code in the efi boot partition by formatting. You should make no more random changes until you accomplish that.And you may not need to fix openSUSE after it all depends on how nice Windows feels.

Big mistake. You erased the Windows EFI boot setup. Now you will need Windows install/repair media to fix that.

Sorry I was not clear. I reinstalled Opensuse Leap. Did nothing on my windows drive. All my Os are on separate drives.

This looks like a way to fix my legacy boot to EFI on my windows drive. Link to converting windows 10 to UFEI

You do not understand ALL OS in EFI boot use the same EFI boot partition by formatting that partition you erased the needed Windows boot information You must put it back via Windows, Linux can not do this only Windows can fix Windows