Grub bootet nicht – fail von recordfail?
Linux/OpenSource, ubuntuusers.de März 10th, 2012Ubuntu setzt den Grub / Grub2 Bootloader standardmäßig ein. Solange er funktioniert ist auch alles prima. Bei Desktop Rechnern gibt es sowieso kein Problem – hier kann man notfalls manuell eingreifen und im Boot Menü seine Lieblingsoption auswählen oder ganz von Hand booten.
Bei Servern sieht das schon etwas anders aus. Normalerweise sind diese nicht an eine Konsole angeschlossen, oder stehen sogar (sehr) weit weg.
Ein Feature von Grub ist, dass sich der Bootloader merken kann, ob ein Startvorgang erfolgreich war. Wenn der schief geht, wird beim nächsten Start nicht direkt gebootet, sondern das Grub Menü bleibt stehen, damit der Anwender eine andere Option auswählen kann. Das ist für einen Desktop Rechner sicherlich genau das gewünschte, und Ubuntu zielt primär auf Desktop User. Der Anwender kann jetzt eine Rettungs-Konfiguration auswählen, oder es einfach nochmal versuchen.
Wenn bei einem Server ein boot jedoch schief geht – z.B. weil genau da ein Reset/Stromausfall o.ä. stattfindet – dann steht der Server. Bis jemand etwas von Hand einstellt. Das kann dann eine längere Downtime bedeuten.
Ich kann damit besser leben wenn der Server im Falle eines Defekts endlos immer wieder Boot-Versuche unternimmt, als wenn er stehen bleibt weil einmal etwas blöd gelaufen ist. Das ist auch ganz einfach zu ändern:
Man öffne die Datei /etc/grub.d/20_header
und ersetze folgenden Abschnitt
if [ "\${recordfail}" = 1 ]; then set timeout=-1
Durch diesen Abschnitt:
if [ "\${recordfail}" = 1 ]; then set timeout=30
Danach noch ein "update-grub"
und in Zukunft wird im Falle eines Bootfehlers 30 Sekunden auf Eingaben gewartet und sonst ein neuer Boot-Versuch gestartet.
Juli 16th, 2012 at 13:28
Vielen Dank für den Hinweis! Für die Desktop Version steht die Header Datei leider nicht zur Verfügung. Um das Problem hier zu umgehen habe ich die /boot/grub/grub.cfg wie oben abgeändert (habe es zunächst über die 00_header Datei probiert, allerdings ohne Erfolg)
Ich hoffe das hilft!