Como forçar o Ubuntu a inicializar em um menu de inicialização bloqueado?


31

Eu tenho o Ubuntu Server 11.04, mas é decapitado (sem monitor). A única maneira que eu quero acessar é remotamente via SSH. Mas, às vezes, digamos que, após uma perda de energia, quando o servidor reiniciar, ele ficará preso no menu de inicialização do Grub e não ocorrerá a contagem regressiva. Ele ficará lá esperando que eu escolha a primeira entrada de inicialização. Isso significa que eu tenho que ir lá e conectar um monitor e teclado.

Mas não posso fazer isso remotamente. Como forçá-lo a continuar inicializando a entrada de inicialização 1 (padrão), independentemente da perda de energia ou qualquer outra coisa?

Respostas:


10

A resposta para esta pode ser encontrada no arquivo grub /etc/grub.d/00_header

make_timeout ()
{
    cat << EOF
if [ "\${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=${2}
fi
EOF
}

Definir o valor do tempo limite para -1 interromperá a contagem regressiva. Altere o valor para um valor> 0 ou sejaset timeout=10

esta seção do arquivo seria semelhante

make_timeout ()
{
    cat << EOF
if [ "\${recordfail}" = 1 ]; then
  set timeout=10
else
  set timeout=${2}
fi
EOF
}

Então corra

sudo update-grub2

Obrigado. Isso é para a seção "make_timeout" no arquivo, pois posso ver várias linhas "recordfail" ao pesquisar. Nesse caso, deixe a segunda opção "definir tempo limite" como está (a que diz "mais")?
NLinked 03/08/19

correto - atualizarei a resposta para esclarecer
fossfreedom

Se eu executar o sudo shutdown agora -r, mas executar ping no sistema e perceber que ele não voltou a ficar on-line, quando eu o desligo e ligo manualmente novamente, há algum lugar para verificar por que ele travou?
NLinked

ficou preso no grub novamente? ou acabou de desligar? Faça um homem "desligar", existem alguns arquivos nos quais as coisas são gravadas.
fossfreedom

3
Penso que esta solução não é permanente, porque será substituída se os pacotes grub receberem atualizações. A "outra solução" para usar "GRUB_RECORDFAIL_TIMEOUT" é mais apropriada. Portanto, votei respeitosamente esta solução e votei na outra.
Rik-shaw

36

A partir do Ubuntu 12.04, uma solução mais direta, mas não documentada, é usar /etc/default/grubpara substituir o tempo limite do recordfail :

GRUB_TIMEOUT=10
GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT

O fato de essa opção ser completamente indocumentada é muito ruim.

EDITAR

Na verdade, o suporte para GRUB_RECORDFAIL_TIMEOUTfoi adicionado no meio do ciclo 12.04, a partir da versão 1.99-21ubuntu3.3:

  grub2 (1.99-21ubuntu3.3) precise-proposed; urgency=low

[ Ben Howard ]
* Parameterization of recordfail setting. This allows users to define the
  default time out of GRUB when recordfail has been set. The curren
  setting causes hangs on headless and appliances where access to the
  console is limited or prohibited.  (LP: #669481)  [1]

-- Louis Bouchard <louis.bouchard@canonical.com>  Tue, 21 Aug 2012 10:51:58 +0200

Informações mais detalhadas do LaunchPad .


Depois de fazer a alteração, também execute update-grubpara gerar o /boot/grub/grub.cfgarquivo atualizado
Colt
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.