I’ve got an issue at boot. I’m on openSUSE 13.1 with GNOME and everything worked fine until a few days ago, when I decided to hibernate my system. My computer supports hibernation, so it worked, but since the hibernation, after a reboot, grub doesn’t show me the menu but boots into the first choice (opensuse 13.1). It displays, for a moment, this message:
GRUB loading,
welcome to GRUB
(and then, instead of the menu)
“error: sparse file not allowed”
and then boots into opensuse displaying
“Booting: opensuse 13.1
loading kernel…
loading initial ramdisk…”
So remove /boot/grub2/grubenv and grub2 should show the menu again.
The problem is that on hibernating, a script sets the entry that grub2 should boot to your hibernated Linux system, so you can’t mistakenly boot another system which may modify partitions mounted by the hibernated system and thus cause data-loss.
But grub2 cannot write to btrfs, so it cannot remove that flag itself. Therefore also on following boots, grub2 directly boots that Linux system.