web-dev-qa-db-fra.com

Comment faire en sorte que grub2 se souvienne du dernier choix?

Grub2 - Documentation de la communauté Ubunt dit ce qui suit:

Vous pouvez enregistrer un système d'exploitation en exécutant Sudo grub-set-default si DEFAULT = saved est défini dans/etc/default/grub. Il peut également être enregistré si GRUB_SAVEDEFAULT = true est également défini dans/etc/default/grub. Dans ce cas, le système d'exploitation par défaut reste actif jusqu'à ce qu'un nouveau système d'exploitation soit sélectionné manuellement dans le menu GRUB 2 ou que la commande grub-set-default soit exécutée.

J'ai mis les lignes DEFAULT=saved AND GRUB_SAVEDEFAULT=true dans /etc/default/grub et j'ai exécuté Sudo grub-set-default. Voici la sortie:

$ Sudo grub-set-default
entry not specified.
Usage: grub-set-default [OPTION] entry
Set the default boot entry for GRUB.

  -h, --help              print this message and exit
  -v, --version           print the version information and exit
  --boot-directory=DIR    expect GRUB images under the directory DIR/grub
                          instead of the /boot/grub directory

ENTRY is a number or a menu item title.

Report bugs to <[email protected]>.

Est-ce que je ne suis pas la documentation correctement? Quelle est la bonne façon de faire cela?

96
Jay Sullivan

La documentation dans ce cas est fausse. Toutes les variables de /etc/default/grub commencent par GRUB_, il s’agit donc de GRUB_DEFAULT=saved, et non DEFAULT=saved. J'ai corrigé le wiki Ubuntu pour refléter cela.

Le manuel officiel de grub décrit cela correctement: http://www.gnu.org/software/grub/manual/grub.html#Simple-configuration

Mettez ce qui suit dans /etc/default/grub:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Puis lancez:

Sudo update-grub
146
Jordan Uggla

Dans mon cas, cela ne fonctionnait pas pour les entrées définies via /etc/grub.d/40_custom qui manquaient de la ligne savedefault.

menuentry "Chameleon" {
    savedefault ### <<<< this must be added
    set root="(hd1)"
    chainloader +1
}
3
ccpizza

Vous oubliez le numéro (c.-à-d. Que "ENTRÉE est un numéro ou un titre d'élément de menu" dans votre texte).

Sudo grub-set-default 1

pour que l'option 1 soit la valeur par défaut.

Toujours exécutez Sudo update-grub après avoir modifié le fichier /etc/default/grub pour appliquer les modifications.

2
Rinzwind

savedefault ne fonctionnera pas s'il n'y a pas d'en-tête approprié dans le fichier grub.cfg généré automatiquement

Pour générer l’en-tête approprié, vous devez le définir dans/etc/default/grub.

GRUB_DEFAULT=saved

et faites grub-mkconfig pour remplacer votre copie de grub.cfg

grub-mkconfig -o /boot/grub.cfg

savedefault de Grub 2.02 ne nécessite aucun argument supplémentaire

Vous pouvez voir la source de savedefault dans grub.cfg

1
Dblmok