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

79

Grub2 - Documentation Ubuntu de la communauté dit ceci:

  

L'enregistrement d'un système d'exploitation peut être réalisé 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 jusqu'à ce qu'un nouveau système d'exploitation soit sélectionné manuellement à partir du   Le menu GRUB 2 ou la commande grub-set-default est exécuté.

Je mets les lignes DEFAULT=saved AND GRUB_SAVEDEFAULT=true en /etc/default/grub et a couru 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?

    
posée Jay Sullivan 09.06.2012 - 19:47
la source

4 réponses

122

La documentation dans ce cas est incorrecte. Toutes les variables dans /etc/default/grub commencent avec GRUB_ , donc GRUB_DEFAULT=saved , pas DEFAULT=saved . J'ai corrigé le wiki Ubuntu pour refléter cela.

Le manuel officiel de grub le décrit correctement: lien

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

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Puis lancez:

sudo update-grub
    
réponse donnée Jordan Uggla 11.06.2012 - 21:47
la source
2

Vous oubliez le numéro (c.-à-d. que «L'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.

    
réponse donnée Rinzwind 09.06.2012 - 19:50
la source
2

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
}
    
réponse donnée ccpizza 14.09.2015 - 20:37
la source
1

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

Pour générer un en-tête approprié, vous devez 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

Le fichier par défaut de Grub 2.02 ne nécessite aucun argument supplémentaire

Vous pouvez voir la source du défaut sauvegardé dans grub.cfg

    
réponse donnée Dblmok 08.09.2017 - 21:30
la source

Lire d'autres questions sur les étiquettes