Come posso forzare l'avvio di Ubuntu in un menu di avvio bloccato?


31

Ho Ubuntu Server 11.04, ma è senza testa (senza monitor). L'unico modo in cui voglio poter accedervi è in remoto tramite SSH. Ma, a volte, dopo una perdita di corrente, quando si riavvia il server, si bloccherà nel menu di avvio di Grub e non effettuerà il conto alla rovescia. Rimarrà appeso lì in attesa che io scelga la prima voce di avvio. Questo significa che devo andare lì e collegare un monitor e una tastiera.

Ma non posso farlo da remoto. Come posso forzarlo a continuare l'avvio all'avvio della voce 1 (impostazione predefinita) indipendentemente dalla perdita di potenza o altro?

Risposte:


10

La risposta a questa può essere trovata nel file grub /etc/grub.d/00_header

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

L'impostazione del valore di timeout su -1 interromperà il conto alla rovescia. Cambia il valore in un valore> 0 ieset timeout=10

questa sezione del file sarebbe simile

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

Quindi corri

sudo update-grub2

Grazie. È questo per la sezione "make_timeout" nel file come posso vedere un numero di righe "recordfail" durante la ricerca. In tal caso, lasciare la seconda opzione "imposta timeout" così com'è (quella che dice "altro")?
nLinked

corretto - Aggiornerò la risposta per chiarire
Fossfreedom

Se eseguo sudo shutdown ora -r, ma eseguo il ping del sistema e noto che non è tornato online, quando lo spengo e riaccendo manualmente, c'è un posto per controllare perché si è schiantato?
nLinked

si è bloccato di nuovo nel grub? o ha appena chiuso? Fai un "arresto" di un uomo, ci sono un paio di file in cui è scritto qualcosa.
Fossfreedom

3
Penso che questa soluzione non sia permanente perché verrà sovrascritta se i pacchetti grub ricevono aggiornamenti. L '"altra soluzione" per utilizzare "GRUB_RECORDFAIL_TIMEOUT" è più appropriata. Quindi, ho rispettosamente votato a fondo questa soluzione e ho votato a favore dell'altra.
rik-shaw,

36

A partire da Ubuntu 12.04, una soluzione più semplice, ma tuttavia non documentata, è quella di utilizzare /etc/default/grubper ignorare il timeout del record :

GRUB_TIMEOUT=10
GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT

Il fatto che tale opzione sia completamente priva di documenti è semplicemente un peccato.

MODIFICARE

In realtà, il supporto per è GRUB_RECORDFAIL_TIMEOUTstato aggiunto a metà del ciclo 12.04, a partire dalla versione 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

Informazioni più dettagliate da LaunchPad .


Dopo aver apportato la modifica, esegui anche update-grubper generare il /boot/grub/grub.cfgfile aggiornato
Colt
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.