Depois de examinar a origem do script /usr/sbin/grub2-reboot
, descobri que a seleção de inicialização foi manipulada por uma variável "next_entry" no arquivo grubenv
.
O problema pode ser visto correndo (enquanto chroot'd no sistema) grub2-editenv list
, que mostrou:
saved_entry=openSUSE 13.1
next_entry=Windows 8.1 (loader) ...
Nesse caso, o campo next_entry
não foi limpo após uma reinicialização como deveria (talvez devido a alguma incompatibilidade do btrfs?)
Eu consegui desfazê-lo dessa maneira com sucesso (novamente, dentro do chroot):
grub2-editenv /boot/grub2/grubenv unset next_entry
Após a reinicialização, o menu do grub voltou ao normal!