Empirum WinPE Boot Troubleshooting

Matrix42 bietet nun seit einer geraumen Zeit die Alternative WinPE als PXE-Bootmedium für die Windows 10 Installation an. In Kürze wird damit auch die automatisierte Installation von Windows 7 und der Windows Server Versionen möglich sein. Damit werden weitere Grundlagen geschaffen, den herkömmlichen EPE PXE-Boot für Windows Installationen obsolet zu machen. Die Installation per WinPE ist in der Empirum Welt ein Bruch mit dem vorhandenen Vorgehen, dass ich jedoch nicht negativ werten möchte. Die Möglichkeiten sind vielfältiger, die Umsetzung dagegen noch jung und somit nicht so umfänglich wie der vorhandene EPE PXE-Boot.

Der WinPE PXE-Boot bootet ein von Empirum modifiziertes bzw. ergänztes Windows PE. Das WinPE wurde im Bedarf um weitere Treiber ergänzt, aber auf jeden Fall um nützliche Libraries und den Matrix42 UAF Dienst. Letzterer führt die zugewiesenen PreOS-Packages (Powershell „Pakete“) aus und bedient sich der gesetzten Variablen. Diese zugewiesenen Pakete beschreiben die Art und Weise, wie z.B. die Betriebssystem-Installation stattfinden soll. Auf weitere Einzelheiten und Vergleiche mit dem EPE Boot werde ich an anderer Stelle eingehen.

So gliedert sich der WinPE PXE-Bootvorgang in:

  • Laden und Ausführen der WinPE Umgebung
  • Laden des Matrix42 UAF Dienstes
  • Verarbeiten der PreOS-Packages

Nun zu möglichen Problemen und Maßnahmen/Hilfestellungen zur Bearbeitung.

Laden der Windows PE Umgebung

Schlägt bereits das Laden der WinPE Umgebung fehl, so könnte dies ggf. an der TFTP Blocksize liegen. Diese kann bis Empirum v19 global in der .config Datei des BTQH (Backend Task Queue Host Services) Dienstes eingestellt werden. Standardmäßig steht dieser Wert auf 4096. Mit größeren Werten kann man den Boot beschleunigen. Damit kann er jedoch unzuverlässiger werden. In einem Falle musste ich die Größe auf 1456 festsetzen, damit der Boot zuverlässig an allen Standorten funktioniert hat.

Windows PE ist gestartet

Sobald das Windows PE gestartet ist, kann mittels STRG+C auf die Kommandozeile und per STRG+L direkt auf die Log Datei des UAF Dienstes zugegriffen werden. Die Windows PE Umgebung befindet sich unter X:\. Der UAF Dienst liegt im Ordner X:\UAF. Das wpeinit.log unter X:\Windows\System32.

Herstellen einer Netzwerkverbindung

Damit der im WinPE implementierte UAF Dienst seine Aufträge abarbeiten kann, bedarf es einer grundlegenden Netzwerkverbindung. Diese Verbindung wird durch Laden und Starten des Netzwerk-Stacks durch die  X:\Windows\StartNet.cmd und nachvollziehbar durch die wpeinit.log  vorgenommen (QueryAdapterStatus ist hier das passende Suchwort). Kann das WinPE keine Netzwerkverbindung aufbauen, kann es notwendig sein, das WinPE mit Netzwerk- und/oder Speicherverwaltungs-Treibern (Storage) zu versorgen. Dies geht über die Bootkonfiguration und wird in einem anderen Beitrag erläutert.

DeviceMapping.xml

Die DeviceMapping.xml im \\%EmpirumServer%\Values$ Verzeichnis stellt die Verbindung MAC-Adresse bzw. UUID zum Computernamen her. Somit darf jede MAC Adresse bzw. UUID auch nur einmal in der DeviceMapping.xml vorhanden sein. Beim Einsatz von SubDepots muss zusätzlich beachtet werden, dass es für die DeviceMapping Datei einen separaten SyncJob (ESubdepot_DeviceMapping) gibt, der zugewiesenen werden muss.

UAF – Auftragsverarbeitung

Das Vorgehen des UAF Dienstes wird im Matrix42.Platform.Service.Host.log festgehalten. Wie zuvor beschrieben, kann dies per STRG+L geöffnet werden. Um Neuerungen mitzubekommen, muss man ggf. das Fenster schließen und erneut aufrufen. Nach einer UAF Sitzung wird das Log auf den EmpirumServer zurückgeschrieben. In Empirum v18 bzw. WinPE 1.4.14 ist das das Verzeichnis \\%EmpirumServer%\EmpInst$\Wizard\OS\Auto\<letzten8 Stellen der MAC-Adrese> bzw. <UUID>.

Hinweis: Bis WinPE 1.4.14 (mindestens) werden die Log Dateien nicht überschrieben, wenn zwischenzeitlich ein Neustart stattgefunden hat.

 

2 Kommentare Schreibe einen Kommentar

  1. Hi Jochen,
    ich versuche mal hier an deinem Blog dran zu bleiben und ggf. andere Erfahrungen mit einfließen zulassen.
    Beim PXE aktivieren unter WinPE hatte ich schon öfter das Phänomen, dass die OS.ini im UUID Ordner geschrieben wurde (was erstmal richtig ist). Jedoch der PXE Dienst die OS.ini im MAC8 Ordner sucht und nicht findet, somit keine Installation startet. Abhilfe brachte nur den Client zu deaktivieren (OS.ini wird aus dem UUID Ordner gelöscht), in den PC Eigenschaften das UUID Feld zu leeren und neu zu aktivieren. Somit landet die OS.ini im MAC8 Ordner und die Installation läuft wie gewohnt.
    Des Weiteren kann es vorkommen das eine UUID auf der Black-List gelandet ist, dies sieht man sehr leicht im DebugView auf dem PXE Server. Hier reicht es aus, den betroffenen Eintrag zu löschen:
    Unter Konfiguration -> Boot Konfigurationen „Extras“ „Ungültige UUID‘s“

    • Hallo Ingo,

      danke für Dein Feedback. Generell ist es bei der WinPE Thematik (bei Besonderheiten und Problemen) interessant, welche Empirum Version und WinPE Umgebung du jeweils im Einsatz hast.

      Grüße

      Jochen

Schreibe einen Kommentar


/* */