Wie kann ich Ubuntu zwingen, in einem blockierten Boot-Menü zu booten?

31

Ich habe Ubuntu Server 11.04, aber es ist kopflos (kein Monitor). Der einzige Weg, auf den ich zugreifen möchte, ist der Fernzugriff über SSH. Aber manchmal, wenn der Server nach einem Stromausfall neu gestartet wird, bleibt er im Grub-Startmenü hängen und zählt nicht herunter. Es bleibt einfach hängen und wartet darauf, dass ich den ersten Starteintrag auswähle. Das heißt, ich muss dorthin gehen und einen Monitor und eine Tastatur anschließen.

Aber ich kann das nicht aus der Ferne tun. Wie kann ich ihn zwingen, den Startvorgang fortzusetzen, um Eintrag 1 (Standardeinstellung) zu starten, unabhängig von einem Stromausfall oder was auch immer?

nVerknüpft
quelle

Antworten:

10

Die Antwort auf diese Frage finden Sie in der Grub-Datei /etc/grub.d/00_header

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

Wenn Sie das Zeitlimit auf -1 setzen, wird der Countdown abgebrochen. Ändern Sie den Wert in einen Wert> 0, dhset timeout=10

Dieser Abschnitt der Datei würde so aussehen

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

Dann renne

sudo update-grub2
fossfreedom
quelle
Vielen Dank. Ist dies für den Abschnitt "make_timeout" in der Datei, da ich beim Suchen eine Reihe von "recordfail" -Zeilen sehen kann. Wenn ja, lassen Sie diese zweite "Zeitlimit einstellen" -Option unverändert (diejenige, die "else" sagt)?
Vernetzt
Richtig - Ich werde die Antwort aktualisieren, um zu klären
fossfreedom
Wenn ich jetzt sudo shutdown -r ausführe, aber das System anpinge und bemerke, dass es nicht wieder online ist, kann ich nach dem manuellen Aus- und Wiedereinschalten überprüfen, warum es abgestürzt ist?
nVerbunden
ist es wieder am maden hängen geblieben? oder hat es gerade heruntergefahren? Mache einen Mann "runter", da gibt es ein paar Dateien, in die Sachen geschrieben werden.
fossfreedom
3
Ich denke, diese Lösung ist nicht permanent, da sie überschrieben wird, wenn Grub-Pakete Updates erhalten. Die "andere Lösung" zur Verwendung von "GRUB_RECORDFAIL_TIMEOUT" ist geeigneter. Ich habe diese Lösung respektvoll abgelehnt und die andere positiv bewertet.
rik-shaw
36

Ab Ubuntu 12.04 besteht eine einfachere, aber dennoch nicht dokumentierte Lösung darin, /etc/default/grubdas Recordfail- Timeout zu überschreiben :

GRUB_TIMEOUT=10
GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT

Die Tatsache, dass eine solche Option völlig undokumentiert ist, ist schade.

BEARBEITEN

Tatsächlich wurde die Unterstützung für GRUB_RECORDFAIL_TIMEOUTin der Mitte des 12.04 Zyklus hinzugefügt, beginnend mit der Version 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 <[email protected]>  Tue, 21 Aug 2012 10:51:58 +0200

Weitere Informationen finden Sie in LaunchPad .

C2H5OH
quelle
Führen Sie update-grubnach der Änderung auch den Befehl aus , um die aktualisierte /boot/grub/grub.cfgDatei zu generieren
Colt,