it-swarm.com.de

Wie komme ich beim Booten über die serielle Konsole zum Menü GRUB?

Es ist immer ein Kampf, das Menü zu zeigen, und viele beantwortete Fragen dazu. Die Antwort scheint Shift zu halten, aber das funktioniert nicht auf seriellen Konsolen (eigentlich seriell über LAN)

Ich habe versucht, Raum zu spammen und vergeblich zu entkommen.

Dies ist ein Server, dessen Weitergabe sehr lange dauert, und der die Weitergabe noch schwieriger und zeitaufwendiger macht.

Gibt es eine gute Lösung, um zuverlässig in Grub einzusteigen?

Natürlich würde es helfen,/etc/default/grub zu bearbeiten, aber jetzt ist es zu spät.

1
feitingen

Keine perfekte Lösung, aber das Bearbeiten der Konfiguration mit einem Live-USB-Stick hat das Problem behoben.

Um dieses Problem in Zukunft zu vermeiden, ist die Grub-Konfiguration so eingestellt, dass das Boot-Menü angezeigt wird.

Die Boot-Zeit für Server ist sowieso so lang, dass es sich lohnt, 10 Sekunden Grub-Menü hinzuzufügen, wenn die Dinge nicht funktionieren.

Hier ist die feste/etc/default/grub Konfiguration:

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`

GRUB_CMDLINE_LINUX_DEFAULT="splash quiet"
# Kernel console on both serial and kvm/local console
GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8 rootdelay=60"
# Show grub menu on both serial and kvm/local console
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --Word=8 --parity=no --stop=1"
1
feitingen

Ubuntu 18.04 Desktop minimale Änderung

Hier ist die minimale Änderung an /etc/default/grub, die ich auf dem Ubuntu 18.04-Desktop-Image vornehmen musste, damit die Dinge gut funktionieren:

# Show the menu by default. Otherwise, you have to press ESC to see GRUB:
# https://askubuntu.com/questions/16042/how-to-get-to-the-grub-menu-at-boot-time/1091821#1091821
-GRUB_TIMEOUT_STYLE=hidden
+#GRUB_TIMEOUT_STYLE=hidden

# Optional kernel options that you very likely want. Don't affect GRUB itself.
# Remove quiet to show the boot logs on terminal. Otherwise, you see just init onwards.
# Add console=ttyS0, or else kernel does not output anything to terminal.
-GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
-GRUB_CMDLINE_LINUX=""
+GRUB_CMDLINE_LINUX_DEFAULT=""
+GRUB_CMDLINE_LINUX="console=ttyS0"

# Show grub on both serial and on display.
-#GRUB_TERMINAL=console
+GRUB_TERMINAL="console serial"

und dann:

Sudo update-grub

Getestet mit diesem QEMU-Setup: https://askubuntu.com/revisions/1046792/24

Zuerst habe ich mich einmal mit der GUI angemeldet, diese Konfigurationen bearbeitet und dann die VM neu gestartet.

Ubuntu 18.04 Cloud Image

Beachten Sie, dass dieses Bild auch eine Datei enthält:

/etc/default/grub.d/50-cloudimg-settings.cfg

die Einstellungen von /etc/default/grub überschreibt.

Neben den Desktop-Einstellungen müssen Sie auch Folgendes festlegen:

GRUB_TIMEOUT=10

da die Standardeinstellung 0 ist und Sie keine Zeit haben, auf das Menü GRUB zuzugreifen.

Getestet mit diesem Setup: Gibt es ein vorgefertigtes QEMU Ubuntu Image (32bit) online?