Okay, let me explain. This is a UEFI computer. It has two disks. The primary disk is partitioned with GPT and boots via GRUB2 to an Arch Linux partition. The secondary disk is partitioned with MBR and only boots if I disable the primary disk in the UEFI setup utility. The secondary disk has a partition with Windows 10. My question is how do I add a menu entry to the primary GRUB2 configuration that boots the Windows 10 partition on the secondary disk? I tried grub-mkconfig with os-prober and it was unable to find the Windows 10 install. There's apparently nothing wrong with the Windows 10 install, since it boots just fine on its own. I then tried manually adding various menu entries to the grub.cfg but they didn't work. Below are some of the entries that I tried.

menuentry "Windows 10 (loader) (on /dev/sda3)" {
    insmod part_msdos
    insmod ntfs
    insmod ntldr

    ntldr (hd0,msdos3)/bootmgr

menuentry "windows 10 (loader) (on /dev/sda3) 2" {
    insmod part_msdos
    insmod ntfs
    chainloader (hd0,msdos3)+1

menuentry "Windows 10 (loader) (on /dev/sda3) 3" {
    insmod part_msdos
    insmod ntfs
    chainloader (hd0,msdos3)/Windows/Boot/EFI/bootmgfw.efi

The most successful one is the last one which apparently boots to the EFI FW program but gives a BCD error (which is not present when booting normally.)


1 Answer 1


You cannot boot Windows installed in MBR mode from UEFI. Period.

You will have to

  1. Grab Windows UEFI boot files somewhere, unpack them to /boot/efi/EFI/Microsoft/Boot
  2. Recreate BCD
  3. Remove all the entries from HKEY_LOCAL_MACHINE\System\MountedDevices

This will probably make your Windows bootable.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.