PXE Boot troubleshooting guide
Vorbereitungen für einen PXE-Boot
Ist auf Ihrem Client PXE-Boot eingestellt und steht dieser in der Bootreihenfolge auch an vorderer Stelle?
Richten Sie Ihr BIOS entsprechend ein. Achten Sie darauf, dass als First Boot Device Network oder ähnlich lautend ausgewählt ist. Bei manchen System wird dieser Eintrag auch durch den Namen der Netzwerkkarte wiedergegeben z.B. Intel onboard NIC oder Realtek D3400 oder die Schnittstelle z.B. IBA CL Slot.
Bitte schalten Sie Quiet Boot oder ähnlich lautende Schalter und sämtliche Splashscreens des Mainboards im BIOS aus. Für die Fehlersuche sollte der zu startende Rechner so "gesprächig" wie möglich sein.
Es bootet nicht, oder der Bildschirm bleibt dunkel.
Fehler z.B. PXE-M0F
Bitte kontrollieren Sie die folgende Dinge und arbeiten Sie alle folgenden Punkte ab:
Besitzt der zu startende Rechner mehrere Netzwerkkarten?
Auf Systemen mit mehrere Netzwerkkarten ist oft nur eine Karte PXE-Boot-fähig. Bitte probieren Sie alle Netzwerkkarten.
PXE-E53 no boot filename received
Sollten Sie openthinclient unter Windows installiert haben, deaktivieren Sie die Windows-Firewall.
PXE-E16 no offer received
Bitte überprüfen Sie im Bios, ob die Netzwerkkarte auf IPv4 gestellt ist.
PXE-E32 TFTP open timeout
Versuchen Sie entweder eine andere Boot-Methode im BIOS/UEFI des ThinClients einzustellen oder einen anderen Bootloader im zugeordneten Hardwaretypen zu verwenden:
Startoption → Bootmethode → Sicher
Sind Server und Client wirklich im gleichen Subnetz aktiv?
Wenn nicht, dann müssen Sie im Subnetz in dem sich der Client befindet einen DHCP-Server vorhalten, der die passenden DHCP-Optionen 66 und 67 sowie ein Standardgateway mitgibt. Bitte stellen Sie in diesem Fall den PXE-Proxy-Dienst auf den Wert single-homed-broadcast ein.
Oder Sie konfigurieren auf Ihrem Router (Netzgrenze) einen IP-Helper. Bitte stellen Sie in diesem Fall den PXE-Proxy-Dienst auf den Wert single-homed-broadcast ein.
Existiert in Ihrem Netz eventuell ein zweiter PXE-Bootserver?
Der openthinclient Server "bedient" per Standard nur "seine" Clients (keine anderen) die im openthinclient-Manager auch eingerichtet worden (Whitelist). Überschneidet sich die PXE-Antwort aber mit der Antwort eines anderen Servers gibt es häufig Probleme. Bitte stellen Sie sicher, dass kein anderer PXE-Bootserver den gewünschten Client "bedient".
Loading .../vmlinuz failed: No such file or directory
Wenn Sie diesen Fehler nach einem Update sehen, überprüfen Sie im Hardwaretypen (unter "Experten-Einstellungen") und eventuell im ThinClient-Profil (unter "Boot-Optionen"), dass kein expliziter Eintrag für diesen Kernelnamen "vmlinuz" existiert.
Sie nutzen 32-Bit Hardware?
Seit der Version 2020.2 unterstützt openthinclient nur noch 64-Bit Hardware.
Einstellungen für das Booten mit "abgesichertem Modus"
Hiermit empfehlen wir einige Grundeinstellungen für eine Art "abgesicherten Modus", mit der Sie eine große Chance haben, dass Ihr Gerät bootet.
Wählen Sie diese Einstellungen:
Bootloader → TFTP
Kernel und init per → TFTP
Grafiktreiber → Xorg-Vesa
Splashsceen → kein Splashscreen, zeige alle Startmeldungen
Der Bootvorgang bleibt stehen?
Der PXE-Boot beginnt, Kernel und initrd werden geladen, aber der weitere Systemstart bleibt hängen?
Sehen Sie beim Start des System ein solche Ausgabe, hat der Client nach dem Laden des Kernels und der initrd keine IP bekommen. Dies könnte auf ein DHCP-Problem hindeuten, oder darin begründet sein, dass kein Treiber für Ihre Netzwerkkarte verfügbar ist.
Nutzen Sie die Debugshell
Bricht der Bootvorgang ab, sollte Ihnen immer eine Debugshell angeboten werden. Diese erreichen Sie nachdem Sie eine beliebige Taste im "Prolog" gedrückt haben. Die Debugshell können Sie mit dem Kommando DE
oder FR
auf deutsches oder französisches Keyboardlayout umstellen. Im Standard ist amerikanisches Layout aktiv. Mit TAB wird Ihnen die Liste der verfügbaren Kommandos gezeigt. Es handelt sich um eine größere Auswahl von Werkzeuge aus der aktuellen Busybox.
Sie könnten mit ifconfig
zum Beispiel nachschauen, ob Ihre Netzwerkkarte erkannt wurde:
Im obigen Beispiel sind die Karten sehr wohl erkannt worden (es existiert demnach auch ein Treiber), nur hat keine der beiden Karten eine IP bekommen. Man könnte in diesem Beispiel nun mit udhcpc -i eth0
versuchen eine IP per DHCP zu bekommen und so den vorliegenden Fehler ergründen. Sehen Sie mittels Kommando ifconfig -a
keine Einträge wie eth0
oder eth1
, ist davon auszugehen, dass für Ihre Netzwerkkarte kein Treiber existiert.
Theoretisch lässt sich nach Beheben eines Fehlers (z.B. IP nachträglich bezogen oder manuell gesetzt) der Bootvorgang auch fortsetzen. Beenden Sie die Busybox mit dem Kommando exit
.
Die aktuellen init-Scripts des openthinclient-OS finden Sie zum nachlesen jederzeit auf Bitbucket bzw. direkt in der Busybox (Dateien: /init
und /init_functions
).
Debugmodus für einen Client
Neben der Debugshell, besteht weiterhin die Möglichkeit einen Client in den Debugmodus zu versetzen. Dies bewirkt die mehrfache Unterbrechung der Abarbeitung des init-Script an vorgegebenen Punkten (ähnlich Breakpoints). An jedem dieser Punkte bleibt das init-Script stehen und ruft eine Debugshell auf. Mit Kommando exit
kann jeweils fortgesetzt werden.
Versetzen Sie ein einen Client in den Debugmodus indem Sie in dem Client-Profil unter Startoptionen > Debugmodus für Startvorgang > Debugge init-script (für Experten) einstellen.