After a frozen install while trying to make a dual-boot system I had to hard-reboot my laptop using the power button.

 

On restarting, I was greeted with a UEFI message telling me that there was no bootable device installed!  I quickly inserted a boot CD and managed to boot into my installed Fedora 20 by editing the booted CD's grub commands (thank goodness for grub's command line completion!).

 

I therfore know that my Fedora installation (including the EFI partition) is intact and that my crash had somehow corrupted my UEFI NVRAM.

 

A quick check with 'efibootmgr -v' confirmed this, as it just listed the basic 'fallback' paths (no filepaths to the Fedora installed EFI files).

 

The simple answer was therefore to re-add the entry for Fedora and reboot.  In order to get the correct syntax for efibootmgr I grep'd '/var/log/anaconda.program.log'  and found:

 

    'efibootmgr -c -w -L Fedora -d /dev/sda -p 1 -l \EFI\fedora\shim.efi'.

 

I simply escaped the back-slashes by changing them to double-back-slashes and ran the command as root.

 

I confirmed that everything had worked using 'efibootmgr -v' again and it showed that the entry was there, so I rebooted.

 

Unfortunately, I was greeted by the same 'no bootable device' message as before at which point I had to use the boot CD to get back in again.

 

To my suprise 'efibootmgr -v' didn't show the entry that I'd just created - it had simply vanished.

 

I Googled and Googled and got nowhere.  To get out of this predicament, I installed Fedora again in the partition I'd earmarked for the dual boot, at which point anaconda os-probed all partitions/installations, re-created grub's grub.cfg file and fixed the NVRAM.  I was then able to successfully boot my laptop.  Fortunately, there was a kernel update waiting for me, so installing that reconfigured grub2 and my main Fedora installation was the default in grub again.

 

While I'm now working again, there is still the issue of not being able to alter NVRAM using 'efibootmgr' directly.

 

My question therefore is: Does anaconda do something else after running 'efibootmgr' to make it permanent? Or: Why can anaconda update NVRAM using efibootmgr, while I can't?

 

Thanks in advance.