Configura o kernel “mais antigo” como entrada padrão do grub

81

Eu instalei um kernel principal para fins de teste. Eu gostaria de configurar o grub para inicializar a partir do kernel antigo por padrão.

Eu sei que posso definir a configuração GRUB_DEFAULT=0 para a primeira página do grub, mas como configurá-la para inicializar por padrão a partir de um kernel na segunda página (página Advanced)?

Eu preferiria fazer isso sem instalar outro software (ex. grub-customizer).

% bl0ck_qu0te%     
por To Do 12.11.2012 / 22:51

4 respostas

115

Primeiro, faça uma cópia de backup de /etc/default/grub . Se algo der errado, você poderá reverter facilmente para a cópia em boa hora.

sudo cp /etc/default/grub /etc/default/grub.bak

Em seguida, edite o arquivo usando o editor de texto de sua escolha (por exemplo, gedit, etc.).

sudo -H gedit /etc/default/grub

Encontre a linha que contém GRUB_DEFAULT - é isso que você deseja editar para definir o padrão. Você deve saber o nome completo do kernel que deseja - por exemplo, Ubuntu, with Linux 3.13.0-53-generic - juntamente com o nome completo do "menu avançado" - por ex. Advanced options for Ubuntu .

Você então combina essas duas strings com > e define GRUB_DEFAULT para elas como: GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 3.13.0-53-generic" (incluindo aspas).

Salve e crie o menu atualizado do grub.

sudo update-grub

Veja também: Manual GNU GRUB 2.02

Nota: Existe um método que utiliza números para acessar os kernels e menus, mas isso não é recomendado, pois não é confiável quando ocorrem atualizações do kernel.

    
por DaimyoKirby 12.11.2012 / 23:31
13

Agora que um menu Advanced é padrão no Ubuntu, você precisará selecioná-lo antes do kernel que deseja usando o caractere > .

Defina, por exemplo:

GRUB_DEFAULT="1>7"

em /etc/default/grub e execute novamente sudo update-grub .

É importante observar que, para o menu do GRUB, a numeração de entradas começa com 0 . Portanto, o 1 acima aponta para o menu Advanced . Como precaução, você pode querer definir inicialmente GRUB_TIMEOUT=5 . Alguns podem não conseguir acessar o GRUB pressionando uma tecla no momento da inicialização. Esta é uma rede de segurança no caso de você acidentalmente apontar para algo como Memory test . Também é necessário incluir os números acima entre aspas. Não funcionará de outra forma.

Eu testei em 16.04 LTS.

    
por sarnold 08.12.2016 / 19:48
13

A melhor solução para mim foi definir (em /etc/default/grub ):

 GRUB_DEFAULT=saved
 GRUB_SAVEDEFAULT=true

Com essas configurações, o último valor selecionado é mantido para a próxima inicialização. Se você tem um novo kernel, não precisa editar sua configuração.

Não se esqueça de executar novamente sudo update-grub

A solução é da leitura: info grub-mkconfig

    
por Martin T. 28.01.2018 / 20:08
3

Para definir qual opção de inicialização usar como padrão, você precisa saber o que há ... então:

Para exibir as entradas do menu sem realmente inicializar , tente algo como:

$ lsb_release -s -rdc
Ubuntu 16.04.4 LTS
16.04
xenial

$ update-grub --version
grub-mkconfig (GRUB) 2.02~beta2-36ubuntu3.17

$ grep -Ei 'submenu|menuentry ' /boot/grub/grub.cfg | sed -re "s/(.? )'([^']+)'.*/ /"
menuentry  Ubuntu
submenu  Advanced options for Ubuntu
    menuentry  Ubuntu, with Linux 4.4.0-34-generic
    menuentry  Ubuntu, with Linux 4.4.0-34-generic (upstart)
    menuentry  Ubuntu, with Linux 4.4.0-34-generic (recovery mode)
menuentry  System setup

    
por Hannu 31.03.2018 / 19:58