Como conseguir que o grub2 se lembre da última escolha?

77

O Grub2 - Community Ubuntu Documentation diz o seguinte:

  

Salvar um sistema operacional pode ser obtido executando sudo grub-set-default se   DEFAULT = salvo é definido em / etc / default / grub. Também pode ser salvo se   GRUB_SAVEDEFAULT = true também é definido em / etc / default / grub. Nesse caso,   o SO padrão permanece até que um novo SO seja selecionado manualmente a partir do   O menu GRUB 2 ou o comando grub-set-default é executado.

Eu coloquei as linhas DEFAULT=saved AND GRUB_SAVEDEFAULT=true em /etc/default/grub e executei sudo grub-set-default . Aqui está a saída:

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

Eu não estou seguindo a documentação corretamente? Qual é a maneira correta de fazer isso?

    
por Jay Sullivan 09.06.2012 / 19:47

4 respostas

117

A documentação neste caso está errada. Todas as variáveis em /etc/default/grub começam com GRUB_ , portanto é GRUB_DEFAULT=saved , não DEFAULT=saved . Eu corrigi o wiki do Ubuntu para refletir isso.

O manual oficial do grub descreve isso corretamente: link

Coloque o seguinte em /etc/default/grub :

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Em seguida, execute:

sudo update-grub
    
por Jordan Uggla 11.06.2012 / 21:47
2

Você está esquecendo o número (ou seja, "ENTRY é um número ou um título de item de menu" em seu texto).

sudo grub-set-default 1

para a opção 1 ser o padrão.

Sempre execute sudo update-grub depois de modificar o arquivo /etc/default/grub para aplicar as alterações.

    
por Rinzwind 09.06.2012 / 19:50
1

No meu caso, não estava funcionando para entradas definidas via /etc/grub.d/40_custom , que estavam faltando a linha savedefault .

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

savedefault não funcionará, se não houver cabeçalho adequado no grub.cfg gerado automaticamente

Para gerar o cabeçalho adequado, você precisa definir em / etc / default / grub

GRUB_DEFAULT=saved

e faça o grub-mkconfig para substituir sua cópia do grub.cfg

grub-mkconfig -o /boot/grub.cfg

savedefault do Grub 2.02 não requer argumentos adicionais

Você pode ver a fonte de savedefault no grub.cfg

    
por Dblmok 08.09.2017 / 21:30