There was a bug in grubby-8.31-1.fc21 which caused it to write invalid grub config entries. This may only affect UEFI installations. If you installed any kernels after installing that version of grubby, they will likely be unbootable. When you try and boot them you’ll see an error like this:
error: file ‘/vmlinuz-3.14.0-0.rc8.git1.1.fc21.x86_64’ not found.
error: can’t find command ‘devicetree’.
error: you need to load the kernel first.
The bug in grubby is fixed with grubby-8.32-1.fc21, but that’s not the whole story. grubby works by using the top entry in the existing grub config file as a ‘template’ for the new entry, so as long as you have a ‘bad’ entry written by 8.31 as your top entry, even the new grubby will still write broken entries. To completely resolve this issue, you’ll need to manually edit your /etc/grub2.cfg and remove all broken entries. You should still have at least one working entry – the entry for whatever kernel is still bootable. Once you remove all broken entries, things should work OK again. You can reinstall kernel packages whose entries were lost, or use grub2-mkconfig to regenerate the grub2 config file entirely.