Repair Windows 10 bootloader with Dual Boot with Arch Linux

1

I installed Windows 10 first and then Arch Linux into the remaining space on the same disk. However, during the install I unfortunately also did mkfs'd the EFI partition (as described here) although it already existed due to Windows 10.

Right now Arch Linux works fine but I cannot get back into Windows 10. I tried to chainload it via my /etc/grub.d/40_custom:

    #!/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 "Windows 10" {
    set root='(hd0,4)' // windows is on sda4
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
    #   chainloader +1
    boot
    }

And here is the lsblk output:

╰─$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 232,9G  0 disk 
├─sda1   8:1    0   450M  0 part            // Windows recovery   partition   
├─sda2   8:2    0    99M  0 part /boot      // EFI
├─sda3   8:3    0    16M  0 part            // Microsoft reserved partition
├─sda4   8:4    0 107,3G  0 part            // Win10
├─sda5   8:5    0    30G  0 part /          // Arch
└─sda6   8:6    0   500M  0 part [SWAP]
sdb      8:16   0 465,8G  0 disk 
├─sdb1   8:17   0  39,1G  0 part 
├─sdb2   8:18   0     1K  0 part 
├─sdb5   8:21   0  24,5G  0 part 
└─sdb6   8:22   0 402,2G  0 part 
sdc      8:32   0 186,3G  0 disk 
└─sdc1   8:33   0 186,3G  0 part 
sdg      8:96   1   7,4G  0 disk 
└─sdg1   8:97   1   7,4G  0 part 
sdi      8:128  1  29,7G  0 disk 
└─sdi1   8:129  1  29,7G  0 part 
sr0     11:0    1  1024M  0 rom  

But obviously the path and file in the chainloader line does not exist so it gives me Error: file EFI/Microsoft/Boot/bootmgfw.efi not found when selecting Windows 10 at the start.

I am thinking of booting with the Windows CD and trying the repair function(s) or fixboot/fixmbr but I want to know and make sure beforehand that I won't screw up the Linux system when doing that.

Someguy

Posted 2017-02-27T11:56:14.017

Reputation: 21

1The fixmbr feature will be useless, since that fixes the BIOS boot loader, but you're clearly booting in EFI mode. I can't provide step-by-step instructions (I'm not much of a Windows person), but you should look for instructions on repairing an EFI-mode (aka UEFI) boot of Windows. If the instructions don't specify, they're probably for BIOS mode, not for EFI mode. – Rod Smith – 2017-03-07T14:17:38.690

No answers