Come ottenere grub2 per ricordare l'ultima scelta?

81

Grub2 - La documentazione della comunità di Ubuntu dice quanto segue:

  

Il salvataggio di un SO può essere ottenuto eseguendo sudo grub-set-default if   DEFAULT = salvato è impostato in / etc / default / grub. Può anche essere salvato se   GRUB_SAVEDEFAULT = true è anche impostato in / etc / default / grub. In questo caso,   il sistema operativo predefinito rimane attivo fino a quando non viene selezionato manualmente un nuovo sistema operativo   Il menu GRUB 2 o il comando grub-set-default viene eseguito.

Ho inserito le righe DEFAULT=saved AND GRUB_SAVEDEFAULT=true in /etc/default/grub e ho eseguito sudo grub-set-default . Ecco l'output:

$ 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]>.

Non sto seguendo correttamente la documentazione? Qual è il modo corretto per farlo?

    
posta Jay Sullivan 09.06.2012 - 19:47

4 risposte

124

La documentazione in questo caso è errata. Tutte le variabili in /etc/default/grub iniziano con GRUB_ , quindi è GRUB_DEFAULT=saved , non DEFAULT=saved . Ho corretto il wiki di Ubuntu per riflettere questo.

Il manuale ufficiale di grub lo descrive correttamente: link

Aggiungi quanto segue in /etc/default/grub :

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Quindi esegui:

sudo update-grub
    
risposta data Jordan Uggla 11.06.2012 - 21:47
2

Stai dimenticando il numero (ad esempio "ENTRY è un numero o un titolo di una voce di menu." nel tuo testo).

sudo grub-set-default 1

per l'opzione 1 come predefinita.

Sempre esegui sudo update-grub dopo aver modificato il file /etc/default/grub per applicare le modifiche.

    
risposta data Rinzwind 09.06.2012 - 19:50
2

Nel mio caso non funzionava per le voci definite tramite /etc/grub.d/40_custom a cui mancava la riga savedefault .

menuentry "Chameleon" {
    savedefault ### <<<< this must be added
    set root="(hd1)"
    chainloader +1
}
    
risposta data ccpizza 14.09.2015 - 20:37
1

savedefault non funzionerà, se non c'è un'intestazione corretta nel file generato automaticamente grub.cfg

Per generare un'intestazione corretta è necessario impostare in / etc / default / grub

GRUB_DEFAULT=saved

e crea grub-mkconfig per sostituire la tua copia di grub.cfg

grub-mkconfig -o /boot/grub.cfg

savedefault da Grub 2.02 non richiede alcun argomento aggiuntivo

Potresti vedere la fonte di savedefault in grub.cfg

    
risposta data Dblmok 08.09.2017 - 21:30

Leggi altre domande sui tag