Après analyse du code j'arrive à la conclusion que dans ton cas comme le miens, le problème est lié à la présence du répertoire boot dans un volume LVM.
Et plus généralement dans toute situation ou /boot est situé dans un emplacement pour lequel grub n'a pas de support en écriture. (Et peut-être que cette condition n'existe que dans le cadre d'un boot en mode UEFI)
Grub étant alors dans l'incapacité d'aller inscrire son flag "recordfail" dans /boot/grub/grubenv, qui permet de forcer l'affichage du menu après un échec de lancement du kernel, et ainsi permettre de choisir un démarrage en mode dépannage par exemple...
Bref on peut corriger le problème de façon plus définitive en allant modifier /etc/grub.d/00_header :
Il faut mettre en commentaire les lignes ci-dessous
# -fda #if [ "$recordfail_broken" = 1 ]; then
# -fda # cat << EOF
# -fda #if lsefi; then
# -fda # set timeout=${GRUB_RECORDFAIL_TIMEOUT:-30}
# -fda # if [ x\$feature_timeout_style = xy ] ; then
# -fda # set timeout_style=menu
# -fda # fi
# -fda #fi
# -fda #EOF
# -fda #fi
Ce bout de code était déjà là avant la mise à jour de grub (les fichiers dans /etc/grub.d ne sont pas impactés par les mises à jour de grub), mais a probablement été activé par la correction d'un bug au niveau de la commande "grub-probe --target=abstraction" qui ne retournait vraisemblablement pas ce qu'elle aurait dû dans le cas d'un /boot dans LVM...
edit: après modif du fichier /etc/grub.d/00_header il faut faire
sudo update-grub