I installed Windows 8 and Ubuntu 12.10 on a 3TB GPT disk in UEFI mode.

Both can boot up OK.

Both operating systems created their ntries in the UEFI boot menu, there's an "ubuntu" and a "Windows 8" entry.

The boot order can be altered in the motherboard's UEFI setup.

I'd like to boot "ubuntu" first, because I set up GRUB 2 to be able to boot both systems.

But whenever I boot Windows 8, it changes the boot order so that it boots up first.

How can I prevent this?

Thanks a lot.

-- UPDATE --

I learned that bcdedit.exe can be used to manipulate the Boot Configuration Data in windows.

This is important because Windows synchronizes the BCD with the boot NVRAM, that stores the boot order.

Every time the {fwbootmgr} entry in the BCD is touched, the NVRAM is overwritten.

I modified this entry to load GRUB 2 first, and it did. However, after booting Windows 8, both the NVRAM and the {fwbootmgr} in the BCD reverted to the original order, that is, to boot Windows 8 first.

I'm really puzzled by this.

-- UPDATE 2 --

I managed to kinda fix the problem by creating a startup script at the group policy editor in Windows. The startup script issues a "bcdedit /set {fwbootmgr} DEFAULT {appropriate UUID}" command. This is BIG hack, and definitely NOT the soulution I want. I'd like Windows to feel OK at the second place after GRUB in the NVRAM.

So how can I do that?


A Microsoft representative answered my question on their official forum. They said that this is indeed the normal behaviour.

I solved the problem by running a .bat file at every system startup. The file does this:

bcdedit /set {fwbootmgr} DEFAULT {appropriate UUID}

Where "appropriate UUID" is the UUID in GRUB, and can be read from the list that "bcedit /enum firmware".

The bat files can be edited by opening the group policy editor (look it up in metro).

I wrote an article on the dual-boot issue at: http://tlfabian.blogspot.hu/2013/01/converting-dual-boot-mbr-partitioned.html

  • 3
    "Normal behaviour?", seriously? – RogUE Jul 5 '15 at 12:44
  • Yes. My reaction was similar. – netom Jul 8 '15 at 8:21

No promises, but try this in Windows:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

If you haven't disabled Secure Boot, you'll need to change grubx64.efi to shim.efi.

If that doesn't work, complain to Microsoft, or remove it from dual-boot status and run it in a virtual machine.

  • Thanks Rod, I'll try this soon. I don't use secure boot, so this won't be a problem. Unfortunately I can't put Windows in a VM. I play hardware-demanding games on it, and it would run slowly in a VM if at all. I also don't want to 'box' the Linux install either. – netom Jan 2 '13 at 8:23

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.