after installing an operating system (Fedora 19) on an internal hard disk, there is no entry in the UEFI boot menu. I checked and corrected the settings with the linux command efibootmgr and from an UEFI shell with the bcfg command. But after a reboot the boot path is replaced with a VenHw(xxx..) entry and the entry is not shown by the boot manager.
Any ideas what's going wrong? How can I reinitialize the whole UEFI environment?
I found a workaround for this. I put an EFI shell on the boot partition in the directory EFI/boot and named it BOOTX64.efi .
Now, the firmware doesn't change the boot entry any more and booting works.
Multiple different boot entries still don't seem to work.
I know Intel doesn't support linux on this mainboard. But I hope you support the firmware of the board.
I just had a look into the UEFI Specification 2.4 from Juni 2013. In section 184.108.40.206 is written:
"[..] There may also be an optional vendor subdirectory called BOOT.
This directory contains EFI images that aide in recovery if the boot selections for the software installed on the EFI system partition are ever lost.[..]"
So, a file \EFI\BOOT\BOOTx64.EFI (or BOOTIA32.EFI) is optional. However, the board firmware requires \EFI\BOOT\BOOx64.EFI to be present. Otherwise, it invalidates the BOOTxxxx-entries. In my eyes this is a violation of the EFI standard and a firmware bug.
It looks like Windows (at least Windows 2012) always puts a \EFI\BOOT\BOOTx64.EFI file on the EFI partition and therefore can boot.