1

The relevant windows drive install is:

Disk /dev/sde: 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: dos
Disk identifier: 0xe55015e8

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sde1            2048 975849471 975847424 465.3G  7 HPFS/NTFS/exFAT
/dev/sde2       975849472 976771071    921600   450M 27 Hidden NTFS WinRE

How can I get grub2 to actually load Windows 10?

Following this answer, I tried:

menuentry 'Windows 10' {
  insmod part_gpt
  insmod search_fs_uuid
  insmod ntfs
  insmod chain
  search --fs-uuid --set=root --hint-bios=hd4,msdos1 --hint-efi=hd4,msdos1 --hint-baremetal=ahci4,msdos1 343419363418FC94
  chainloader (${root})/Windows/Boot/EFI/bootmgfw.efi
  boot

I kept getting ntfs.mod not found errors for all the insmod commands so tried to remove them. Still, nothing.

My /etc/grub.d/40_custom read:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry 'Microsoft Windows 10' {
  set root='(hd4,1)'
  chainloader +1

This fails with no boot detected.

  # same header as above.
  search --no-floppy --fs-uuid --set=root '343419363418FC94'
  chainloader /bootmgr
  boot

This fails with unknown file system & no boot detected.

  # same header as above.
  insmod part_gpt
  insmod search_fs_uuid
  insmod ntfs
  insmod chain    
  search --fs-uuid --set=root --hint-bios=hd4,msdos1 --hint-efi=hd4,msdos1 --hint-baremetal=ahci4,msdos1 343419363418FC94
  chainloader (${root})/Windows/Boot/EFI/bootmgfw.efi
  boot

This fails with ntfs.mod not found, followed by unknown file system.

  search --fs-uuid --set=root --hint-bios=hd4,msdos2 --hint-efi=hd4,msdos2 --hint-baremetal=ahci4,msdos2 6ACAB410CAB3D693
  chainloader (${root})/Recovery/WindowsRE/boot.sdi
  boot

This fails with path not found, despite it being the right path as checked by mounting the drive.

  • Booting from fedora, what's the folder tree found under `/boot/efi/`? Are you able to see something like `/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi`? Or can you see `./EFI/Windows/Boot/EFI/bootmgfw.efi` if you mount hd4 somewhere? – Roflo Mar 16 '16 at 17:36
  • @Roflo: No, nothing like that at all. Windows is installed on another disk. Mixing boot loaders has lead to so much trouble that I do not bother any more. All I want is to let grub2 decide it should pass the torch to something else which worked fine in non-EFI mode. – Sardathrion - against SE abuse Mar 17 '16 at 08:27
  • Ok. What I wanted to ask is: Have you checked that your path to `bootmgfw.efi` is correct within hd4? – Roflo Mar 17 '16 at 15:24
  • FWIW, last time I has to struggle with this (win8) all I had to do is `set root=(hd0,2)` and `chainloader /EFI/Microsoft/Boot/bootmgfw.efi` (exact options will differ for your case, of course). – Roflo Mar 17 '16 at 15:26
  • @Roflo: Yes, by mounting the drive in linux and checking. However, grub2 seems to think this is an unsupport file system when I do pass it the path. It cannot load `ntfs.mod` from anywhere. – Sardathrion - against SE abuse Mar 17 '16 at 15:29
  • Seems this is too odd for my knowledge. May I suggest you include more details to your question? (what you've tried, in what order, what errors you encountered, our discussion above, clarify "hd0" vs "hd4" in config examples) Also, the accepted answer [to this question](http://unix.stackexchange.com/questions/49332/ntldr-mod-missing-from-grub2) suggests Win7 could come with more than one bootloader maybe there's something there. – Roflo Mar 17 '16 at 21:47
  • @Roflo: answer edited. I saw that answer/question and it was no help whatsoever. – Sardathrion - against SE abuse Mar 18 '16 at 09:29

1 Answers1

1

Sadly, the only way to solve this was to re-install Windows 10 in UEFI mode, then re-install Fedora in UEFI mode. Then, some messing about with the order of loading. Finally, I have both systems working.

What a mess... :(