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.
Chat start time Jan 24, 2012 2:30:27 PM EST Chat end time Jan 24, 2012 2:44:35 PM EST Duration (actual chatting time) 00:14:07 Operator Victor
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?
firstname.lastname@example.org: Hi Victor
email@example.com: I have a question related to EFI
firstname.lastname@example.org: do you understand the EFI implementation in intel desktop boards?
email@example.com: Can you explain to me why the implementation in my desktop board ignores things it should not?
firstname.lastname@example.org: If I use efibootmgr to set a default option it is ignored and windows 7 is always selected
email@example.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?
firstname.lastname@example.org: 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.
email@example.com: MB is a BLH6710H
firstname.lastname@example.org: I have the latest bios installed
email@example.com: I am trying to dual boot fedora and windows 7 using the efi implementation in the bios
firstname.lastname@example.org: the efi implementation is forcing the firmware in the Microsoft folder on the efi system partition on me
email@example.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.
firstname.lastname@example.org: Whatever order I choose using efibootmgr should be used also bu is ignored if the folder /boot/efi/EFI/Microsoft/ exists.
email@example.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.
Victor: You are welcome and thank you for contacting Intel Customer Support.
Victor: Thank you for using Intel's live chat. If you are satisfied with our support, please score items with 5 in the online survey that will be shown once you close this chat window. We value your feedback and we will use it to improve our services.
info: Chat session has been terminated by the site operator.
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.
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?
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.
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.
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.