Estou executando o Ubuntu 12.04.
Por toda a minha vida, não consigo que o menu grub (com opções) desapareça.
Gostaria de inicializar automaticamente na primeira opção. Eu editei o / etc / default / grub para que fique com o seguinte:
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
Depois disso, executei o sudo update-grub . Então percebi que tinha o grub 2, então executei o sudo update-grub2 (ambos parecem criar o arquivo grub.cfg com êxito.
Eu reinicio meu computador e ele volta ao menu grub e fica lá até eu fazer uma escolha. Isso não é desejável se a energia acabar ... :-)
Eu também tentei reinstalar o grub usando o sudo grub-install / dev / sda - também sem êxito
sudo update-grub
esudo update-grub2
executa o mesmo comando. Então, não se preocupe com essa parte.cat /boot/grub/grub.cfg
via pastebin e compartilhe o link aqui. Isto é para ver o realgrub.cfg
gerado.Respostas:
Como outras respostas apontam, você pode ser vítima da situação de falha no registro . A edição
/boot/grub/grub.cfg
manual deve estar fora de questão, pois é gerada automaticamente. Outra sugestão vista ao redor é editar o,/etc/grub.d/00_header
mas isso pode solicitar a intervenção do usuário nas atualizações.A solução mais fácil é definir a variável não documentada
GRUB_RECORDFAIL_TIMEOUT
em/etc/default/grub
. Por exemplo:Editar
Veja esta resposta para mais detalhes.
fonte
update-grub
para gerar o/boot/grub/grub.cfg
arquivo atualizadorecordfail
! Você deseja um tempo limite mais longo se houver uma falha na inicialização. Para manualmente clara, tudo que você precisa é a resposta de @ sniffski:grub-editenv create
. No entanto, pode haver algum outro motivo pararecordfail
se preparar ...Usar:
Isso limpará o arquivo do ambiente grub e deverá ser inicializado claramente na próxima vez.
fonte
grub-editenv - unset recordfail
funciona bem e não afeta outros envs que possam ser configuradosmude
GRUB_TIMEOUT=10
para zeroEste é o meu arquivo de configuração:
Primeiro, escreva o nome do sistema operacional no qual deseja inicializar diretamente. O meu é o Ubuntu. Então você escreverá como no
GRUB_DEFAULT="Ubuntu, with Linux x.x.x-xx-generic-pae"
então usei 1 segundo no
GRUB_TIMEOUT=
para me dar 1 segundo antes de selecionar o sistema operacional padrão (se eu precisar inicializar em outro sistema operacional, por exemplo, o Xubuntu)como
GRUB_CMDLINE_LINUX_DEFAULT=""
se você removê-quite splash
lo, ele mostrará textos em vez do logotipo do Ubuntu durante o processo de inicialização (eu gosto desta maneira: P)Existe outra solução:
Existe um programa chamado boot-repair que ajuda na configuração com uma GUI.
como você pode ver na imagem. há uma caixa chamada
Unhide boot menu
. Basta desmarcar a caixa e pressionar appy. Você pode acessar isso clicando na seta de opções avançadas.instalar o reparo de inicialização
e, em seguida, execute
boot-reapir
a partir do terminal ou do painel.3ª solução:
Você pode usar um aplicativo GUI fácil de usar chamado grub-customizer para facilitar sua vida. Como o nome sugere, você pode fazer muito mais do que apenas reordenar as entradas do menu Grub com ele.
Você pode instalá-lo:
como você pode ver no menu, existe a
show menu
opção. Desmarque e veja se funcionafonte
grub-update
após alterar os valores?GRUB_HIDDEN_TIMEOUT
e asGRUB_HIDDEN_TIMEOUT_QUIET
opções estão obsoletas. Então comente esses.Para pular o menu e mostrá-lo apenas quando pressionado
ESC
, adicione:Amostra
/etc/default/grub
'GRUB_TIMEOUT_STYLE' : Se esta opção estiver configurada para 'contagem regressiva' ou 'oculta', antes de exibir o menu, o GRUB aguardará o tempo limite definido por 'GRUB_TIMEOUT' para expirar. Se ESC for pressionado durante esse período, ele exibirá o menu e aguardará a entrada.
fonte
Eu poderia resolver esse problema adicionando a seguinte linha ao
/etc/default/grub
... e depois correndo
sudo update-grub
.Explicação: O arquivo
/boot/grub/grub.cfg
é gerado executandoupdate-grub
usando os arquivos em/etc/grub.d
e/etc/default/grub
. Portanto, você não deve editargrub.cfg
, mas pode ser útil descobrir por que o tempo limite está definido. Pesquise as linhas que começam comset timeout=
e, em seguida, procure a próxima linha que começa com### END /etc/grub.d/ ...
. Isso pode lhe dar dicas de qual script define o tempo limite. No meu caso, o script os-prober foi responsável pelo tempo limite. Acontece que há um tempo limite de 10s codificado no/etc/grup.d/30_os-prober
qual não é definido porGRUB_TIMEOUT
. Você pode desativar o os-proberGRUB_DISABLE_OS_PROBER=true
ou editar/etc/grup.d/30_os-prober
ou usarGRUB_OS_PROBER_SKIP_LIST
para pular algumas partições do disco rígido (30_os-prober é usado quando outro sistema operacional é encontrado em algum lugar). Veja estas perguntas e respostas para obter detalhes. Como outros apontaram, outro motivo pode ser o recorde , nesse caso definidoGRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT
.fonte
Eu tive o problema de o menu grub aparecer sempre depois de usar o AUFS (unionfs) para colocar o sistema de arquivos raiz somente para leitura. Eu tinha que pressionar fisicamente a tecla Enter no servidor após cada inicialização. Eu segui as instruções aqui: desativar o menu grub 2 . Desde então, não tive problemas.
Edite o /boot/grub/grub.cfg e altere:
Para
fonte
set timeout=-1
não é o mesmo queset timeout=1
. O primeiro é "espere para sempre" e o segundo é "espere um segundo".Meu Ubuntu sempre teve um tempo limite de 30 segundos ou eu teria definido um valor ou não. Aqui está a seguir como eu descobri que o recorde de falha foi o valor que faltava .
1. Verifique o script grub real
/boot/grub/grub.cfg
IMHO, a melhor maneira de verificar o que o Grub fará, é abrir
/boot/grub/grub.cfg
. É o script gerado automaticamentegrub-mkconfig
usando modelos/etc/grub.d
e configurações de/etc/default/grub
.Na linha 109, você verá algo como:
No meu caso, com a ajuda desse script gerado, eu pude descobrir que a
recordfail
variável não estava definida.2. Se a
recordfail
variável estiver desabilitada, configure-aAbra
/etc/default/grub
no seu editor de texto favorito (por exemplo, vim) e defina a variávelGRUB_RECORDFAIL_TIMEOUT
para um determinado valor, por exemplo, 5 segundos.Seu arquivo de configuração deve se parecer com:
3. Atualize a configuração para executar com
update-grub
Última etapa, atualize a configuração para executar
update-grub
. Por enquanto, o GRUB2 usará o tempo limite definido. Este comando irá gerar novamente o/boot/grub.cfg
arquivo.4. Verifique o resultado do script gerado
Novamente, abra
/boot/grub.cfg
e verifique o resultado na linha 109:Observe que o valor na linha 109 agora é 5 em vez de 30 como antes.
fonte