Community
cancel
Showing results for 
Search instead for 
Did you mean: 
TWhit8
Novice
5,913 Views

EFI boot manager ignores menu order and always selects to load Windows Boot Manager

Jump to solution

Hi, I was wondering if anyone can confirm or answer why this happens please.

I have an Intel BLH6710H desktop board with the latest BIOS update installed. I have a GPT partition layout with Windows 7 64 bit and Fedora 19 X86_64 installed on an SSD drive on two sperate partitions. I have set Fedora to be the first boot entry in the EFI boot manager like this :

efibootmgr -v

 

BootCurrent: 0002

 

Timeout: 1 seconds

 

BootOrder: 0002,0004,0001,0000,0005

 

Boot0000* Windows Boot Manager HD(1,800,32000,1c2cab97-4df9-4777-bd4d-b4f181d8f9a2)File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...a................

 

Boot0001* Hard Drive BIOS(2,0,00)

 

Boot0002* Fedora HD(1,800,32000,1c2cab97-4df9-4777-bd4d-b4f181d8f9a2)File(\EFI\fedora\grubx64.efi)

 

Boot0004* CD/DVD Drive BIOS(3,0,00)P2: HL-DT-ST DVDRAM GH22NS70 .

 

Boot0005* UEFI: Corsair Forc ACPI(a0341d0,0)PCI(1f,2)03120a000000ffff0000HD(1,800,32000,1c2cab97-4df9-4777-bd4d-b4f181d8f9a2)File(\EFI\BOOT\BOOTX64.EFI)

The EFI folder on my EFI partition contains the folders Boot, fedora and Microsoft.

The only way I can get Fedora to boot by default is by renaming the folder Microsoft to 1Microsoft on the EFI partition. I can also hit the F10 key directly after the BIOS screen at boot to manually start Fedora.

I have used Linux for about nine years now so Fedora is my choice of OS. Windows 7 is just a necessary evil due to my gaming habit.

Legacy BIOS mode for the main board is not an option here.

My question is : Why does the BIOS ignore the boot order I have set?

0 Kudos
1 Solution
TWhit8
Novice
2,536 Views

OK. I have created my own solution to this issue. Here is what to do :

Boot into Fedora

su -c 'cd /boot/efi/EFI && gzip /boot/efi/EFI/Microsoft'

su -c 'mkdir /boot/efi/EFI/1Microsoft && mkdir /boot/efi/EFI/1Microsoft/Boot && mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/1Microsoft/Boot/bootmgfw.efi'

su -c 'efibootmgr -c -w -L Win7 -d /dev/sda -p 1 -l '\EFI\1Microsoft\Boot\bootmgfw.efi' -b 6'

Reboot the machine.

Press the F10 key after the BIOS screen displays and select the Win7 entry.

Step one backs up the Microsoft EFI firmware folder on the EFI partition (which is mounted as /boot/EFI) as a gzip archive.

Step two creates two new directories on the EFI partition and moves the Microsoft EFI firmware file into the directory.

Step three creates a boot entry named Win7 in the EFI boot loader.

The last steps are how to use the changes.

So that solves it for me. bootmgfw.efi can be anywhere; you just need to add an option to the EFI boot manager. I no longer need to rename the Microsoft folder on the EFI partition from Linux every time I want to boot into Windows. I can run Fedora by default and use F10 to select Windows at boot.

This solution was only necessary because the EFI implementation in this Intel board incorrectly looks for bootmgfw.efi inside the Microsoft/Boot folder on the EFI partition as it's first boot option. It should instead respect the boot order set in the EFI boot manager.

View solution in original post

9 Replies
AEsta1
Novice
2,536 Views

it's a known issue on these Intel motherboard's firmware. the only thing we can do is that or wait for developers to fix this problem

TWhit8
Novice
2,536 Views

Thanks ColdfireMc. Is there anywhere I can report this as a bug or anyway I can report this as a bug?

I chatted to a rep about this a while ago and nothing was done :

The following are the contents of the chat conversation.

General Info

Chat start time Jan 24, 2012 2:30:27 PM ESTChat end time Jan 24, 2012 2:44:35 PM ESTDuration (actual chatting time) 00:14:07Operator Victor

Chat Transcript

info: Please wait for a site operator to respond.

 

info: You are now chatting with 'Victor'

 

Victor: Hello. Thank you for using the Intel Customer Chat Support service. We are glad to be of service. How may I help you?

 

mailto:twhite@operamail.com twhite@operamail.com: Hi Victor

 

mailto:twhite@operamail.com twhite@operamail.com: I have a question related to EFI

 

mailto:twhite@operamail.com twhite@operamail.com: do you understand the EFI implementation in intel desktop boards?

 

Victor: Yes.

 

mailto:twhite@operamail.com twhite@operamail.com: Cool

 

mailto:twhite@operamail.com twhite@operamail.com: Okay

 

mailto:twhite@operamail.com twhite@operamail.com: Can you explain to me why the implementation in my desktop board ignores things it should not?

 

mailto:twhite@operamail.com twhite@operamail.com: If I use efibootmgr to set a default option it is ignored and windows 7 is always selected

 

mailto:twhite@operamail.com twhite@operamail.com: If I use startup.nsh it is always ignored

 

Victor: That will be something that we need to try. I can send this information up to be tested. What is your motherboard model number?

 

mailto:twhite@operamail.com twhite@operamail.com: If I delete use /boot/efi/EFI/Boot/bootx64.efi it is ignored unless I rename the Microsoft folder. Then it will select the correct option.

 

mailto:twhite@operamail.com twhite@operamail.com: MB is a BLH6710H

 

mailto:twhite@operamail.com twhite@operamail.com: I have the latest bios installed

 

mailto:twhite@operamail.com twhite@operamail.com: I am trying to dual boot fedora and windows 7 using the efi implementation in the bios

 

mailto:twhite@operamail.com twhite@operamail.com: but..

 

mailto:twhite@operamail.com twhite@operamail.com: the efi implementation is forcing the firmware in the Microsoft folder on the efi system partition on me

 

mailto:twhite@operamail.com twhite@operamail.com: If i rename the folder /boot/efi/EFI/Microsoft/ to /boot/efi/EFI/1Microsoft/ then /boot/efi/EFI/Boot/bootx64.efi is chosen and loaded. /boot/efi/EFI/Boot/bootx64.efi is always default in the efi spec.

 

mailto:twhite@operamail.com twhite@operamail.com: Whatever order I choose using efibootmgr should be used also bu is ignored if the folder /boot/efi/EFI/Microsoft/ exists.

 

mailto:twhite@operamail.com twhite@operamail.com: MB update I flashed was BLH6710H.86A.0146.EB

 

Victor: Ok, that is all the information that I will need to send it to the engineering department to test it.

 

mailto:twhite@operamail.com twhite@operamail.com: Thanks

 

Vic...
Silvia_L_Intel1
Employee
2,536 Views

T, which operating system did you first installed on the SSD? Windows or Fedora?

It seems that if you install Linux after Windows, it will be set as your default operating system.

You can also try installing Grub or Lilo so you can set the operating system you prefer to be the default.

 

Regards.

 

AEsta1
Novice
2,536 Views

i had the same issue a couple of weeks ago, but fedora bootloader loads first. GRUB isn't detecting another EFi bootloaders.

TWhit8
Novice
2,536 Views

Hi sylvia! I installed Windows 7 first. Then Fedora. Even after installing Fedora Windows remained as the default at boot time. However, I was able to manually select Fedora from the efibootmanager by pressing the F10 key after the Intel logo pops up on screen when booting.

I have used the heavily patched grub-efi (grub legacy with EFI support) and grub2-efi. No change in behaviour. The UEFI implementation simply isn't respecting the specification in terms of boot order set in the efibootmanager.

If the windows efi firmware exists in it's default location on the efi firmware partition, the windows firmware will always be selected as the default. Regardless of anything else.

My guess is that the UEFI implementation does not follow the spec and looks for the windows boot manager on the firmware partition first when it should be looking at what is set in the efibootmanager order first or whatever is in the EFI/Boot/ folder.

TWhit8
Novice
2,536 Views

My issue is not the same as yours coldfire. I am not looking to load EFI firmware using grub or grub2.

I simply want the efibootmanager boot order respected as is I guess detailed in the UEFI specification.

My issue is that if the windows firmware exists in it's default location on the EFI partition, it will boot regardless of it's precedence in the efibootmanger order which I have pre-selected. (For example : Fedora before it.)

I wonder if I delete the Windows boot manager entry and recreate it, the problem will go away? Anyone know?

Silvia_L_Intel1
Employee
2,536 Views

T,

The only way you can get Fedora to boot by default is by renaming the folder Microsoft to 1Microsoft on the EFI partition as you mention it on your original post.

However, I tried to replicate this issue and I noticed that if I disable UEFI on BIOS, I was able to boot to Linux without problems.

Are you using a 2 or more terabytes hard drive on this system? If you are not, there is no need to have UEFI enable on BIOS.

Just remember that if you disable UEFI, you would need to reinstall the operating systems.

 

Regards.

 

TWhit8
Novice
2,536 Views

Hi sylvia, please see my first post : Legacy BIOS mode for the main board is not an option here.

I am trying to use the EFI implementation on my main board. My issue is not that I cannot boot into Linux.

My issue is that the EFI boot manger in the BIOS is completely ignored. It basically has an EFI implementation which does not follow the spec.

Your suggestion wouldn't work here anyway because I have a GPT partition layout which has no MBR.

Please. Could you go and either read the UEFI specification or consult your colleges who understand UEFI before offering advice like : You only need EFI if your partition is larger than 2 terra. UEFI has features which do much, much more than just allow booting of partition sizes larger than 2 terrabytes. Maybe I want to play with secure boot... Maybe I want to write firmware for the UEFI boot manager... Maybe I don't want an MBR virus. What I actually want is that the UEFI boot manger on my main board works according to th UEFI specification as I had believed I had paid for.

Why have you told me that I should disable UEFI and re-install operating system software. That is ridiculous and not an answer to my question.

If you are an Intel employee, could you please inform your engineering department of this issue and have a BIOS fix for my board made available. The same goes for anyone else who is suffering this issue.

I feel like I'm not going to get anywhere here unless I develop coreboot to replace the BIOS on this main board.

TWhit8
Novice
2,537 Views

OK. I have created my own solution to this issue. Here is what to do :

Boot into Fedora

su -c 'cd /boot/efi/EFI && gzip /boot/efi/EFI/Microsoft'

su -c 'mkdir /boot/efi/EFI/1Microsoft && mkdir /boot/efi/EFI/1Microsoft/Boot && mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/1Microsoft/Boot/bootmgfw.efi'

su -c 'efibootmgr -c -w -L Win7 -d /dev/sda -p 1 -l '\EFI\1Microsoft\Boot\bootmgfw.efi' -b 6'

Reboot the machine.

Press the F10 key after the BIOS screen displays and select the Win7 entry.

Step one backs up the Microsoft EFI firmware folder on the EFI partition (which is mounted as /boot/EFI) as a gzip archive.

Step two creates two new directories on the EFI partition and moves the Microsoft EFI firmware file into the directory.

Step three creates a boot entry named Win7 in the EFI boot loader.

The last steps are how to use the changes.

So that solves it for me. bootmgfw.efi can be anywhere; you just need to add an option to the EFI boot manager. I no longer need to rename the Microsoft folder on the EFI partition from Linux every time I want to boot into Windows. I can run Fedora by default and use F10 to select Windows at boot.

This solution was only necessary because the EFI implementation in this Intel board incorrectly looks for bootmgfw.efi inside the Microsoft/Boot folder on the EFI partition as it's first boot option. It should instead respect the boot order set in the EFI boot manager.

View solution in original post

Reply