Windows not listed in Grub2

Hi there,

I’ve got this problem with my Windows partition not appearing in the Grub2 boot menu for quite some time now, but now as I’ve started booting into Windows more often (using it mainly for music production), hitting ESC like crazy when booting to switch the boot drive has really become pretty enerving. So I hope you can help me figuring out how I can make Grub2 boot my Windows without abusing the poor ESC key anymore.

I’m running OpenSuse 13.2, installed on /dev/sda and Windows 8.1, installed on /dev/sdb.

My Windows drive has partitions sdb1 with 350MB (with the boot manager) and sdb2 with the actual Win8 installation, both NTFS drives. The content of the bootmanager partition sdb1 does not look like a EFI partition as I would expect:


drwx------ 1 frank users   8192 Sep 12 15:48 Boot
-rw------- 1 frank users 404250 Jun 14  2014 bootmgr
-rw------- 1 frank users      1 Jun 18  2013 BOOTNXT
-rw------- 1 frank users   8192 Aug 26 22:40 BOOTSECT.BAK
drwx------ 1 frank users      0 Aug 26 21:42 Recovery
drwx------ 1 frank users      0 Aug 26 21:41 System Volume Information

The yast partitioner tells me that sdb is not a GPT drive but MSDOS, hence my additions to the menu file (see below) are probably failing.

What I’ve tried this far:

  • I’ve tried os-prober as suggested on some websites (with and without mounting the windows drives before) without any luck.

  • I’ve also added menu entries in /etc/grub.d/40_custom:


menuentry "Windows" {
    insmod part_gpt
    insmod chain
    set root='(hd0,gpt1)'
    chainloader bootmgr
}

menuentry "Windows 2" {
    set root='(hd0,gpt1)'
    chainloader +1
}

Neither entry works.

Any kind of idea how to go about this??

Thanks a ton in advance!

My best guess:

You have opensuse 13.2 and Windows 8.1. My best guess is that one of those systems is setup for EFI booting and the other is setup for legacy booting. Unfortunately, I cannot tell which is which, because you have not provided enough information.

Mixing EFI with Legacy booting doesn’t work well. If opensuse is using legacy booting, then grub2 cannot boot an EFI Windows system. And, if opensuse is using EFI booting, it cannot boot a legacy Windows system.

Maybe provide the output from:


# fdisk -l
# efibootmgr -v

and that will tell us some more about your system.