iPXE 1.20.1 – Windows Server 2016+ DHCP/WDS Server Anpassungen

Anmerkung:
Dies ist eine weiterführende Anleitung zu meinem Grundgerüst, basierend auf dem nachfolgenden Artikel:

PXE&TFTP&DHCP Server einrichten

Diese Anleitung behandelt die DHCP und WDS Server Anpassungen, um iPXE wie im verlinkten Artikel verwenden zu können. Bitte bedenkt, dass ich hier nur die rudimentärsten Einstellungen veröffentlicht habe und ich dieses Konstrukt so einfach wie möglich gehalten habe. Ich kann nicht auf jede von Ihnen gestellte individuelle Frage bezüglich Ihres Firmenkonstrukts eingehen.

Daher erinnere ich im Vorfeld nochmals daran: Selbst ist der Mann / die Frau!

WDS Server konfigurieren

Rufen Sie über Tools die Windows-Bereitstellungsdienste auf.

Mit einem Rechtsklick auf den Server im linken Fenster und dann Eigenschaften, gehen Sie zu dem Reiter Start und setzen Sie dort den Eintrag bei Unbekannte Clients auf PXE-Start immer fortsetzen.

DHCP Server konfigurieren

Herstellerklassen

Rufen Sie über Tools den DHCP auf.

Wenn Sie einen DHCP Bereich festgelegt haben, so erstellen Sie als Erstes Herstellerklassen.

Klicken Sie dafür mit der rechten Maustaste auf IPv4 und dann auf Herstellerklassen definieren… .

Klicken Sie dort auf Hinzufügen.

Füllen Sie dies folgendermaßen aus:

Windows DHCP Herstellerklassen

Bei ASCII tragen Sie bitte PXEClient:Arch:00007 ein.

Dasselbe wiederholen Sie jetzt zwei Mal und benutzen dann lediglich folgende Paare:

  • PXEClient (BIOS x86 & x64)
  • PXEClient:Arch:00000

und

  • PXEClient (UEFI x86)
  • PXEClient:Arch:00006

Benutzerklasse

Nun erstellen wir noch die benötigte iPXE Benutzerklasse.

Klicken Sie dafür mit der rechten Maustaste auf IPv4 und dann auf Benutzerklassen definieren… .

Klicken Sie dort auf Hinzufügen.

Füllen Sie dies folgendermaßen aus:

Windows DHCP Benutzerklassen

Bei ASCII tragen Sie bitte iPXE ein.

DHCP Option 60 Eintrag löschen

Löschen Sie jeden PXEClient Eintrag, den Sie unter den Bereichsoptionen oder Serveroptionen im DHCP Manager finden können.

iPXE Verzeichnis anlegen

Erstellen Sie in Ihrem WDS Root Verzeichnis (Standard: C:\RemoteInstall) im Unterordner “Boot” einen weiteren, der iPXE heißt. Kopieren Sie das von mir veröffentlichte TFTP Root-Paket in das iPXE Verzeichnis.

iPXE Dateien modifizieren

Pfad der Konfigurationsdateien anpassen

Passen Sie nun folgende Pfade in den drei Dateien an:

  • pxelinux.kpxe
  • pxeEFI32.ipxe
  • pxeEFI64.ipxe

Setzen Sie jeweils vor die jeweiligen Konfigurationseinträge das neue Verzeichnis (Boot\iPXE\):

Alt:

chain --autofree pxelinux.kpxe.cfg ||

Neu:

chain --autofree Boot\iPXE\pxelinux.kpxe.cfg ||

Pfad der boot-url anpassen

Passen Sie nun folgende Pfade in den drei Dateien an:

  • pxelinux.kpxe.cfg
  • pxeEFI32.ipxe.cfg
  • pxeEFI64.ipxe.cfg

Erweitern Sie den boot-url Eintrag für jede genannte Datei:

Alt:

set boot-url tftp://${next-server}/

Neu:

set boot-url tftp://${next-server}/Boot\iPXE\/

Konsolenhintergrundbildpfad anpassen

Passen Sie nun folgende Pfade in den drei Dateien an:

  • pxelinux.kpxe.menu
  • pxeEFI32.ipxe.menu
  • pxeEFI64.ipxe.menu

Setzen Sie jeweils vor die jeweiligen Konfigurationseinträge das neue Verzeichnis ( /Boot\iPXE\/):

Alt:

console --x 640 --y 480 --picture iPXE_640.png --left 10 --right 10 --top 10 --bottom 10 ||

Neu:

console --x 640 --y 480 --picture /Boot\iPXE\/iPXE_640.png --left 10 --right 10 --top 10 --bottom 10 ||

Richtlinien erstellen

Klicken Sie mit der rechten Maustaste auf Richtlinien innerhalb des DHCP Bereiches und wählen Neue Richtlinie… aus.

Geben Sie als Namen: “Verteile iPXE UEFI x64” ein.

Klicken Sie im darauffolgenden Fenster auf Hinzufügen.

Stellen Sie alles wie auf dem Bild ersichtlich ist ein und klicken sie dann rechts auf Hinzufügen und anschließend auf OK.

Windows DHCP Richtlinie iPXE Firmware UEFIx64

Klicken Sie dann auf Weiter und bei “eigenen DHCP Bereich für die Richtlinie konfigurieren” wählen Sie Nein aus.

Windows DHCP Richtlinie DHCP Optionen UEFIx64

Setzen Sie jeweils einen Haken bei der DHCP Option 66 und 67 und tragen Sie bei der DHCP Option 66 die IP des Bootservers ein.

Bei der DHCP Option 67 geben Sie folgendes ein:

Boot\iPXE\iPXE64.efi

Erstellen Sie nun eine weitere Richtlinie mit dem Namen:”Lade iPXE Konfiguration UEFI x64

Klicken Sie im darauffolgenden Fenster auf Hinzufügen.

Stellen Sie alles wie auf dem Bild ersichtlich ist ein und klicken sie dann rechts auf Hinzufügen und anschließend auf OK.

Windows DHCP Richtlinie iPXE Konfiguration UEFIx64 01

Wählen Sie nun links unten im Fenster UND aus und klicken nochmals auf Hinzufügen.

Stellen Sie alles wie auf dem Bild ersichtlich ist ein und klicken sie dann rechts auf Hinzufügen und anschließend auf OK.

Windows DHCP Richtlinie iPXE Firmware UEFIx64

Klicken Sie dann auf Weiter und bei eigenen DHCP Bereich für die Richtlinie konfigurieren wählen Sie Nein aus.

Setzen Sie einen Haken bei der DHCP Option 67 und geben Sie folgendes ein:

Boot\iPXE\pxeEFI64.ipxe

Dasselbe wiederholen Sie jetzt zwei Mal und benutzen dann lediglich folgende Paare:

  • Verteile iPXE UEFI x86
  • Firmwaredatei: Boot\iPXE\iPXE32.efi
  • Lade iPXE Konfiguration UEFI x86
  • Startdatei: Boot\iPXE\pxeEFI32.ipxe

und

  • Verteile iPXE BIOS
  • Firmwaredatei: Boot\iPXE\undionly.kpxe
  • Lade iPXE Konfiguration BIOS
  • Startdatei: Boot\iPXE\pxelinux.kpxe

und wählen natürlich die passenden Herstellerklassen für die einzelnen Modi aus.

Wenn Sie das getan haben, dann ordnen Sie die Richtlinien noch, wie auf dem Bild zu sehen ist, an.

Windows DHCP Richtlinien Anordnen
Richtige Anordnung der Richtlinien.

Das ist äußerst wichtig, denn sonst wird immer wieder die iPXE Firmware bei falscher Anordnung geladen!

Das war es auch soweit bezüglich der DHCP Konfiguration.

Sie können aus dem iPXE Menü so z.b. den WDS aufrufen lassen:

UEFI:

chain tftp://${next-server}/Boot\x64\/wdsmgfw.efi

BIOS:

chain tftp://${next-server}/Boot\x64\/wdsnbp.com

Zum Anfang!

9 Antworten auf „iPXE 1.20.1 – Windows Server 2016+ DHCP/WDS Server Anpassungen“

  1. Super Anleitung, vielen Dank dafür!
    Kann man daraus eigentlich auch Syslinux booten? Würde gerne weiterhin meine Backup Software (.iso) booten.

    1. Erstelle einfach eine neue Richtlinie für den BIOS Modus und gib als Bootdatei halt die (l)pxelinux.0 an. Die zwei BIOS iPXE Richtlinien müssen dann aber deaktiviert werden!

      1. Wenn ich das mache, startet zwar PXELINUX 6.04 aber dann steht dort “unable to locate configuration file”.
        Wo muss ich dort den Pfad anpassen?

        1. Benenne die Datei einfach um und mach aus default_BIOS halt default. Für die UEFI Geschichten verwendest du ja höchstwahrscheinlich iPXE.

  2. Hallo Stefan,
    hast Du vielleicht noch einen Tip, warum ich im Legacy Mode über den BootMGR die Image Datei nicht finden kann?
    Der BootMGR wird gestartet und die Auswahl der Betriebssysteme kommt, aber danach kommt nur die Info: “Ein erforderliches Gerät ist nicht verbunden oder es kann nicht darauf zugegriffen werden.”
    Über Memdisk kann ich im 32bit oder 64bit die WinPE laden.
    Es ist wahrscheinlich nur noch ein Pfad anpassen, aber ich sehe gerade den Wald vor lauter Bäume nicht.
    Vielen Dank vorab!

  3. Moin,
    sehr schöne Anleitung. Ich habe das unter VmWare Workstation 15 probiert. Windows Server 2019 mit DHCP und WDS aufgesetzt. Dann andere VM erstellt, auf UEFI Boot umgestellt und gestartet. Beide VMs liegen im Host Only Vnet. Aber ausser “Start PXE over iPv4” für ein paar Sekunden und einem raschen “No Media” passiert leider gar nichts. Hat jemand einen Tipp für mich.

    Viele Grüße
    Mic

    1. Bei VMware muss ich jetzt ein wenig ins Blaue raten. Bei Hyper-V gibt es 3 Einstellungen für das virtuelle Switch: Extern, intern und privat. Keine Ahnung wie die bei VMware heißen, aber “Host Only Vnet” impliziert für mich ein rein virtuelles Netz nur für den einzelnen Host. Das heißt, dieser kann und darf nicht mit anderen virtuellen Hosts “reden”. Deshalb wahrscheinlich auch die No Media Meldung. Versuch es mal mit einer anderen Einstellung. Wie diese bei VMware heißen weiß ich nicht, aber ich denke anhand der Beschreibungen der Einträge wirst du das schon herausfinden können.

      1. Hallo Stefan,

        vielen Dank für Deine Antwort. “Host Only” bedeutet, dass sich alle Guests in einem Netz befinden und einander erreichen können, aber keine Connection nach draussen (z.B. Internet) haben. Das klappt auch ganz gut. Ich habe mehrere VMs “Host only”, die brav miteinander reden.
        Mittlerweile habe ich es geschafft, dass der PXE EFI Start weitergeht. Ich musste die MaxBlockSize des WDS auf 1600 stellen, anders hat WDS nicht geantwortet.

        Next server: 193.138.17.10
        Filename: Boot\iPXE\iPXE64.efi
        tftp://193.138.17.10/Boot\iPXE\iPXE64.efi… ok
        Boot\iPXE\iPXE64.efi: 1009152 bytes [EFI]
        iPXE intializing devices…

        Leider hängt der Vorgang hier nun für ein paar Sekunden, dann gibt’s einen Reboot. Das geht dann endlos so weiter.

        Wenn ich die 32Bit Variante booten will, gibt es keinen Reboot sondern “iPXE intializing devices…” hängt für immer.

        Mit BIOS Boot startet iPXE nach “iPXE intializing devices…” immer wieder neu und wird dabei langsamer. Nach diversen Starts kommt schliesslich die Meldung “No more devices available”

        Leider gibt das vmware log nicht wirklich was her.

        Viele Grüße
        Mic

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.