Eu instalei um kernel da linha principal para fins de teste. Eu gostaria de configurar o grub para inicializar a partir do kernel mais antigo por padrão.
Eu sei que posso definir a GRUB_DEFAULT=0
configuração para a primeira página do grub, mas como faço para inicializá-la por padrão a partir de um kernel na segunda página (página Avançada)?
Eu preferiria fazer isso sem instalar outro software (por exemplo, grub-customizer).
Perguntas relacionadas:
Como configurar o Windows para inicializar como padrão no carregador de inicialização?
Como altero a ordem de inicialização do grub?
Respostas:
Primeiro, faça uma cópia de segurança de
/etc/default/grub
. Se algo der errado, você poderá reverter facilmente para a cópia em bom estado.Em seguida, edite o arquivo usando o editor de texto de sua escolha (por exemplo, gedit, etc.).
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 exemploUbuntu, with Linux 3.13.0-53-generic
- junto com o nome completo do "menu avançado" - por exemploAdvanced options for Ubuntu
.Você então combina essas duas cadeias com
>
e defineGRUB_DEFAULT
como:GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 3.13.0-53-generic"
(incluindo aspas).Salve-o e crie o menu grub atualizado.
Veja também: Manual do GNU GRUB 2.02 ou mais especificamente a seção 15.1.0 sobre configuração do padrão .
Nota: Existe um método que utiliza números para acessar kernels e menus, mas isso não é recomendado, pois não é confiável quando ocorrem atualizações do kernel.
fonte
sudo grub-mkconfig | less
para ver todas as opções possíveis/boot/grub/grub.cfg
e lá você verá todosmanuentry
e todossubmenus
. Se você editá-los, poderá definir facilmente os padrões e até alterar os títulos das opções na lista do grub ao reiniciar um computador./boot/grub/grub.cfg
para determinar os nomes exatos a serem usados. Mas não altere esse arquivo, pois ele será regenerado automaticamenteupdate-grub
, inclusive na atualização de pacotes.update-grub
eu encontrei um aviso: Por favor, não use título antigoPrevious Linux versions>Ubuntu, with Linux 3.13.0-53-generic
para GRUB_DEFAULT, useAdvanced options for Ubuntu>Ubuntu, with Linux 3.13.0-53-generic
(para as versões antes 2,00) ougnulinux-advanced-b0ce60c3-184c-453b-af59-419b56a2584f>gnulinux-3.13.0-53-generic-advanced-b0ce60c3-184c-453b-af59-419b56a2584f
(para 2,00 ou posterior)A melhor solução para mim foi definir (in
/etc/default/grub
):Com essas configurações, o último valor selecionado é mantido para a próxima inicialização. Se você possui um novo kernel, não precisa editar sua configuração.
Não se esqueça de voltar a executar
sudo update-grub
A solução é da leitura:
info grub-mkconfig
fonte
;
) no final das linhas?!?Agora que um
Advanced
menu é padrão no Ubuntu, você precisará selecioná-lo antes do kernel que deseja usar o>
personagem.Definir por exemplo:
em
/etc/default/grub
e re-runsudo update-grub
.É importante notar que, para o menu GRUB, a numeração das entradas começa com
0
. Portanto, o item1
acima aponta para oAdvanced
menu. Como precaução, convém definir inicialmenteGRUB_TIMEOUT=5
. Alguns podem não conseguir acessar o GRUB pressionando uma tecla no momento da inicialização. Esta é uma rede de segurança, caso você aponte acidentalmente para algo parecidoMemory test
. Também é necessário incluir os números acima entre aspas. Não funcionará de outra maneira.Eu testei em 16.04 LTS.
fonte
Para poder 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:
fonte