Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question

2 Answers 2

up vote 1 down vote accepted

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

share|improve this answer

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.

share|improve this answer
    
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

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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