Skip to main content

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

67175070.png

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?

67175076.png

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:

67175074.png

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.