Syslinux 6.04 – Windows 10 ADK 1903 WinPE’s erstellen

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

https://www.german-syslinux-blog.de/synology-dsm-6-0-syslinux-6-04-pxetftpdhcp-server-einrichten/

In diesem Artikel geht es um das Erstellen von Windows 10 WinPE-Images, die sowohl über BIOS, als auch UEFI gestartet werden können. In meinem direkten Beispiel wird dies im BIOS-Modus über Syslinux mit Verweis auf den Windows-Boot-Manager geregelt oder optional durch das Tool Memdisk. Beides sind Varianten die ohne Probleme funktionieren. Im UEFI-Modus wird dann nur noch der Windows-Boot-Manager verwendet ohne das schöne Syslinux Menü. Zum Teil ist das dem Grund geschuldet, dass Syslinux im EFI Modus nicht Secure boot kompatibel ist und zum anderen kann aus der Syslinux EFI Umgebung der Windows-Boot-Manager nicht gestartet werden.

Bevor wir anfangen, möchte ich anmerken, dass dies eine sehr lange Anleitung wird. Es wäre vielleicht nicht verkehrt, sich noch einen Kaffee zu machen und nochmal kurz durchzuatmen.

Voraussetzungen:

Was brauchen Sie alles, damit Sie auch ein WinPE in aktuellster Version erstellen können?

Ein aktuelles Windows 10:

Ihr System, worüber Sie die WinPE’s erstellen wollen, muss ein aktuelles Windows 10 Build 1903 sein. Welche Version Sie haben, können Sie prüfen, wenn Sie unter Windows die Eingabeaufforderung öffnen und:

winver

eingeben.


Es gäbe natürlich die Möglichkeit, dass auch mit älteren Windows Versionen machen zu können, allerdings wollen sie doch, dass Sie mit der aktuellsten Version auch alle Windows Versionen installieren lassen könnten oder? Sollten Sie nicht das Build 1903 haben, wird der nächste Schritt in dieser Anleitung fehlschlagen. Daher updaten Sie zuerst über die Windows Update Funktion Ihr Windows 10 auf den aktuellsten Stand der Dinge.

Windows 10 ADK Build 1903 Download und Installation:
Des Weiteren laden Sie sich auf der Microsoftseite die aktuellste Windows 10 ADK Build 1903 Version für Ihr Betriebssystem herunter.

Klicken Sie unten auf

Download the Windows ADK for Windows 10, version 1903

Kopieren Sie diese Datei an einen beliebigen Ort und starten Sie dann die adksetup.exe. Wundern Sie sich nicht, das die Datei nur knappe 2 MB groß ist, denn das ist ein Onlineinstaller. Es werden etliche GB aus dem Internet heruntergeladen werden müssen. Während dem Setup ist es ratsam, alle Dateien für einen anderen Rechner herunterzuladen als Installationsmethode zu wählen, denn dann haben Sie diese Dateien alle und müssten diese nicht erneut herunterladen, wenn sie das auf einem anderen Rechner ebenfalls einrichten wollten.

Die heruntergeladenen Pakete speichert die adksetup.exe in den selbst angelegten “Installers” Ordner.
Die “UserExperienceManifest.xml” Datei gehört ebenfalls dazu!

Rufen Sie im Anschluss die adksetup.exe auf und wählen Sie den Punkt Bereitstellungstools aus. Klicken Sie auf Installieren. Dieser Prozess kann nun je nach Ihrer Internetanbindung eine ganze Ecke dauern.

Windows 10 ADK Build 1903 WinPE Download und Installation:
Des Weiteren laden Sie sich auf der Microsoftseite die aktuellste Windows 10 ADK Build 1903 WinPE Version für Ihr Betriebssystem herunter.

Klicken Sie unten auf

Download the Windows PE add-on for the ADK

Kopieren Sie diese Datei an einen beliebigen Ort und starten Sie dann die adkwinpesetup.exe. Wundern Sie sich nicht, das die Datei nur knappe 2 MB groß ist, denn das ist ein Onlineinstaller. Es werden etliche GB aus dem Internet heruntergeladen werden müssen. Während dem Setup ist es ratsam, alle Dateien für einen anderen Rechner herunterzuladen als Installationsmethode zu wählen, denn dann haben Sie diese Dateien alle und müssten diese nicht erneut herunterladen, wenn sie das auf einem anderen Rechner ebenfalls einrichten wollten.

Die heruntergeladenen Pakete speichert die adkwinpesetup.exe in den selbst angelegten “Installers” Ordner.
Die “UserExperienceManifest.xml” Datei gehört ebenfalls dazu!

Rufen Sie im Anschluss die adkwinpesetup.exe auf und wählen Sie den Punkt Windows-Vorinstallationsumgebung (Windows PE) aus. Klicken Sie auf Installieren. Dieser Prozess kann nun je nach Ihrer Internetanbindung eine ganze Ecke dauern.

Wenn das alles installiert wurde haben Sie den Grundstock zur Erstellung Ihres eigenen WinPE’s gelegt. Der schwierige Teil jedoch, kommt erst noch. 😛

Schritt: Bereitstellungstools Icon anlegen:

Drücken Sie die Windows Taste + S, um die Windows Suche zu starten. Tippen Sie dort “image” ein und Sie werden dort “Umgebung für Bereitstellungs- und Imageerstellungstools” finden. Diesen heften Sie bitte über die Rechte Maustaste an den Start an. Dadurch müssen Sie dieses Tool nicht immer wieder suchen.

Schritt: Synology – Neuen gemeinsamen Ordner anlegen / Windows Images Ordnerstruktur:

Melden Sie sich bei Ihrer Synology an und erstellen Sie einen neuen gemeinsamen Ordner für Ihre Windows Images und geben Sie einem Benutzerkonto Rechte diesen lesen zu dürfen. Sie können auch wahlweise einfach eines neues Benutzerkonto anlegen, extra für Windowsinstallationen über Netzwerk. Den Ordner könnten Sie z.b. “WSources” nennen.

Achten Sie bitte auch auf Groß- und Kleinschreibung.

Für ein flexibles Windowsinstallationsmedium bittet sich eine Ordnerstruktur an, an dessen Sie kinderleicht erkennen können, wo, welche Windows Versionen hineinkommen. Ich empfehle Ihnen auch wirklich diese Ordner so zu benennen, denn das wird Ihnen die weitere Einrichtung durch meine Anleitung erleichtern.

WSources-Root-Ordner:

Win7 Ordner:

Win8 Ordner:

Win10 Ordner:

Windows Server Ordner:

Damit Ihnen nicht langweilig wird, laden Sie sich alle Windows Versionen, die Sie über Netzwerk installieren lassen möchten von Microsoft herunter und entpacken Sie diese ISO’s in die jeweiligen, dafür vorgesehenen Ordner. Es ist nicht ratsam die DVD von Ihrer Windows Version zur Hand zu nehmen, da Sie dann das Problem haben, ein sehr altes Windows Build vor sich zu haben, wo aktuelle Updates und Features fehlten. Es ist in solchen Fällen immer die bessere Entscheidung die aktuellste Version von Microsoft zu beziehen, da diese ISO’s immer auf dem aktuellsten Patchstand sind. Denn je nachdem wie alt Ihre Windows DVD ist, wird das einen anschließenden Updatemarathon nach sich ziehen.

Hier finden Sie die Übersichtsseite von Microsoft.

Um Windows 10 ISO’s für die Home, Pro und Education Versionen herunterzuladen, verwenden Sie das Media Creation Tool 10 von Microsoft.
Um Windows 8.1 ISO’s für die Home und Pro Versionen herunterzuladen verwenden Sie das Media Creation Tool 8 von Microsoft.

Alternativ können Sie auch die Freeware “Windows ISO Downloader” herunterladen.  Von Windows 7 bis Windows 10 können sie für jede Version eine ISO beziehen.

Wie Ihnen vielleicht aufgefallen ist, habe ich in meiner Struktur keine Trennung nach verschiedenen Sprachen, denn ich persönlich brauche nur die Deutschen Versionen. Wenn Sie das zusätzlich noch nach Sprachen trennen wollen können Sie das natürlich gerne machen, bedeutet aber auch mehr Arbeit 🙂

Schritt: WinPE Ordner und Dateien kopieren und Treiber falls notwendig einbinden:

Ich habe Ihnen ein kleines Paket geschnürt, das Sie sich erst einmal herunter laden werden:

ADK-Paket (Erstellt von Stefan Saft)

Letztes Paket Update: 16.09.19

Änderungen:

  • Das WinPE zeigt nun in der Eingabeaufforderung an, in welchem Firmware Modus Ihr Euch befindet.
  • Die Netzwerktreiber wurden aktualisiert und noch fehlende hinzugefügt. Dabei habe ich die überflüssigen Dateien aussortiert. Das Paket ist nun kleiner, beinhaltet aber trotzdem mehr Treiber.
  • BCD Datei um zwei Einträge erweitert.
  • Ausgiebige Überarbeitung der Datei: CreateWinPE10_x86_x64.cmd. Fehlermechaniken wurden überarbeitet, sowieso eine wesentlich bessere Dokumentation über die einzelnen Schritte hinterlegt.
  • Dateiherkunft im Kopfbereich der Datei mit Webseitenverweis und Details zu dem Autor hinterlegt.
  • Ein fehlerhafter Treiber wurde aus dem Paket gelöscht. Ordner: x86\network\Intel\PRO1000\NDIS68 Dateien: e1s*.*
  • Protokollfunktion integiert.

Dieses entpacken Sie vorerst an einen beliebigen Ort.

Sie werden dort ein Verzeichnis mit dem Namen: “PXEServerTools” finden, das Sie bitte direkt auf “C:\” kopieren. Die Batchfiles speichern Sie bitte irgendwo, wo Sie diese auch jederzeit wiederfinden 😉 Kommen Sie nicht auf die dumme Idee diese jetzt schon zu starten. Wir müssen erst einige Dinge ändern.

Nun zu der Erklärung, was es damit auf sich hat. Schritt für Schritt natürlich.

Der PXEServerTools-Ordner ist äußerst nützlich bei der WinPE Erstellung, da dort gefundene Treiberdateien mit eingebunden werden. Schauen Sie sich den “C:\PXEServerTools\Drivers” Ordner einfach mal an. Grundlegend müssen bei allen Treibern zwischen 32Bit und 64Bit unterschieden werden. Wenn Sie eigene Treiber einbinden wollen, dann erstellen Sie einfach einen weiteren Ordner im X86 und X64 Ordner für Ihre Komponente. Bei Raid Treibern z.b. einen Storage Ordner.

Ich war mal so frei und habe die gängigsten Netzwerktreiber bereits in die Verzeichnisse kopiert. Weitere Treiber sind grundsätzlich auch nicht nötig, denn für unser Vorhaben: “Windows Netzwerkinstallation” ist es äußerst wichtig, das die Netzwerkkarte immer erkannt wird. Daher ist es zwingend erforderlich, auch möglichst alle Netzwerktreiber einzubinden. Für besondere Storage Konstellationen wie RAID Verbunde oder ähnliches müssten Sie diese Treiber ebenfalls einbinden, damit Windows Ihre Festplatten auch erkennt und somit die Installation überhaupt möglich wäre.

Warum habe ich das mit Vordefinierten Ordnern gelöst?

Weil die Befehle die abgearbeitet werden müssten, wenn man das alles manuell in die Bereitstellungskonsole tippt, eine Ewigkeit dauert. Das Ziel ist der Automatismus dieser Abläufe. Oder haben Sie Lust 50 Befehle manuell eingeben zu müssen in der Bereitstellungskonsole? Ich nicht und ich denke Sie auch nicht. 😉

Die Startnet.cmd beinhaltet unser späteres Menü, das auch die Verbindung zu dem Netzwerkshare herstellen wird.

Schritt: Startnet.cmd editieren:

Sie werden außerdem einen Ordner mit dem Namen “Startnet” finden. In diesem befindet sich die “startnet.cmd” und zu dieser kommen wir als erstes, bevor wir überhaupt in der Lage sind, das WinPE zu erstellen.

Vorwort: Was macht die Startnet.cmd
Die Startnet.cmd ist eine Datei die beim Starten eines WinPE’s immer ausgeführt wird. Diesen Umstand können wir uns zu nutze machen um die Netzwerkinstallation zu vereinfachen.

Öffnen Sie zunächst diese Datei bitte in einem Editor Ihrer Wahl, denn wir müssen dort einiges ändern!

startnet.cmd:

Suchen Sie als erstes bitte einmal diesen Teil:

set NTIP=192.168.1.5

Diese IP ändern Sie bitte auf Ihre DS IP!

Des weiteren suchen Sie:

set WindowsShare=WSources

Falls Sie den erstellten gemeinsamen Ordner nichtWSources” genannt haben, müssen Sie diesen Teil ändern.

Und nun zu dem mitunter wichtigstem Teil:

net use v: \\%NTIP%\%WindowsShare% /u:Installer loadwindows

Benutzer: Installer
Passwort: loadwindows

Diese Angaben müssen Sie natürlich ändern. Geben Sie dort den Benutzer mit Passwort an, der das Recht hat auf den gemeinsamen Ordner zugreifen zu können.
Eine Gastfreigabe wäre auch möglich und könnte zum Beispiel so umgesetzt werden:

net use v: \\%NTIP%\%WindowsShare% /u:guest none

Ich empfehle Ihnen das trotzdem nicht mit Gastrechten zu machen 😉

Mit dieser Datei sind wir nun auch fertig. Also bitte einmal speichern. Den Rest der Datei können Sie sich natürlich auch mal angucken. Dann erkennen Sie auch wie das ganze Menü aufgebaut ist.

Denn so sieht das nachher einmal aus:

Das ist nämlich die startnet.cmd die Sie dort auf den Bildern sehen.

Schritt: CreateWinPE10_x86_x64.cmd Analyse

Dies ist unsere Batchdatei, die das WinPE Image erstellen wird. Ich werde dazu ein paar Worte sagen, aber modifizieren müssten Sie diese nicht, wenn Sie sich strikt an die Anleitung gehalten haben!

Öffnen Sie diese bitte mit einem Editor.

Grundlegend ist zu sagen, das alle Bereiche und dessen Tätigkeiten mit Kommentaren versehen sind. Das sind die REM Einträge = Kommentare.

Was für Sie vielleicht noch interessant ist, ist dieser Teil:

X86 Abschnitt

:: Sprachpaket X86 ANFANG!
::	-	Setze die Sprache für das WinPE auf Deutsch
"%KITPATH%\Deployment Tools\x86\DISM\Dism.exe" /image:"%TEMPDIRx86%\mount" /add-package /packagepath:"%KITPATH%\Windows Preinstallation Environment\x86\WinPE_OCs\de-de\lp.cab"
if errorlevel 1 goto E_MOUNT_KEYBOARD
"%KITPATH%\Deployment Tools\x86\DISM\Dism.exe" /image:"%TEMPDIRx86%\mount" /Set-AllIntl:de-DE
if errorlevel 1 goto E_MOUNT_KEYBOARD
:: Sprachpaket X86 ENDE!

X64 Abschnitt

:: Sprachpaket X64 ANFANG!
::	-	Setze die Sprache für das WinPE auf Deutsch
"%KITPATH%\Deployment Tools\amd64\DISM\Dism.exe" /image:"%TEMPDIRx64%\mount" /add-package /packagepath:"%KITPATH%\Windows Preinstallation Environment\amd64\WinPE_OCs\de-de\lp.cab"
if errorlevel 1 goto E_MOUNT_KEYBOARD
"%KITPATH%\Deployment Tools\amd64\DISM\Dism.exe" /image:"%TEMPDIRx64%\mount" /Set-AllIntl:de-DE
if errorlevel 1 goto E_MOUNT_KEYBOARD
:: Sprachpaket X64 ENDE!

Dort wird die Sprache des WinPE’s festgelegt. Es könnte ja sein, das Sie vorhaben für jede Sprache ein WinPE zu erstellen. Dann sind diese Zeilen genau die richtigen. Viel werde ich wohl nicht dazu sagen müssen, denn de-DE ist wohl selbsterklärend. Englisch wäre en-US.

Für die Unterstützung von BitLocker verschlüsselten Festplatten editieren Sie die Datei wie folgt:

Suchen Sie:

:: Sprachpaket X86 ENDE!

Fügen Sie darunter ein:

:: Zusätzliche Pakete X86 ANFANG!
:: - Inkludiere zusätzliche WinPE Pakete.
:: - Benötigte Pakete für die Bitlocker Unterstützung.
"%KITPATH%\Deployment Tools\x86\DISM\Dism.exe" /image:"%TEMPDIRx86%\mount" /add-package /packagepath:"%KITPATH%\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE-WMI.cab"
"%KITPATH%\Deployment Tools\x86\DISM\Dism.exe" /image:"%TEMPDIRx86%\mount" /add-package /packagepath:"%KITPATH%\Windows Preinstallation Environment\x86\WinPE_OCs\de-de\WinPE-WMI_de-de.cab"

"%KITPATH%\Deployment Tools\x86\DISM\Dism.exe" /image:"%TEMPDIRx86%\mount" /add-package /packagepath:"%KITPATH%\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE-SecureStartup.cab"
"%KITPATH%\Deployment Tools\x86\DISM\Dism.exe" /image:"%TEMPDIRx86%\mount" /add-package /packagepath:"%KITPATH%\Windows Preinstallation Environment\x86\WinPE_OCs\de-de\WinPE-SecureStartup_de-de.cab"

"%KITPATH%\Deployment Tools\x86\DISM\Dism.exe" /image:"%TEMPDIRx86%\mount" /add-package /packagepath:"%KITPATH%\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE-EnhancedStorage.cab"
"%KITPATH%\Deployment Tools\x86\DISM\Dism.exe" /image:"%TEMPDIRx86%\mount" /add-package /packagepath:"%KITPATH%\Windows Preinstallation Environment\x86\WinPE_OCs\de-de\WinPE-EnhancedStorage_de-de.cab"
:: Zusätzliche Pakete X86 ENDE!

Suchen Sie weiter:

:: Sprachpaket X64 ENDE!

Fügen Sie darunter ein:

:: Zusätzliche Pakete X64 ANFANG!
:: - Inkludiere zusätzliche WinPE Pakete.
:: - Benötigte Pakete für die Bitlocker Unterstützung.
"%KITPATH%\Deployment Tools\amd64\DISM\Dism.exe" /image:"%TEMPDIRx64%\mount" /add-package /packagepath:"%KITPATH%\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WMI.cab"
"%KITPATH%\Deployment Tools\amd64\DISM\Dism.exe" /image:"%TEMPDIRx64%\mount" /add-package /packagepath:"%KITPATH%\Windows Preinstallation Environment\amd64\WinPE_OCs\de-de\WinPE-WMI_de-de.cab"

"%KITPATH%\Deployment Tools\amd64\DISM\Dism.exe" /image:"%TEMPDIRx64%\mount" /add-package /packagepath:"%KITPATH%\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-SecureStartup.cab"
"%KITPATH%\Deployment Tools\amd64\DISM\Dism.exe" /image:"%TEMPDIRx64%\mount" /add-package /packagepath:"%KITPATH%\Windows Preinstallation Environment\amd64\WinPE_OCs\de-de\WinPE-SecureStartup_de-de.cab"

"%KITPATH%\Deployment Tools\amd64\DISM\Dism.exe" /image:"%TEMPDIRx64%\mount" /add-package /packagepath:"%KITPATH%\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-EnhancedStorage.cab"
"%KITPATH%\Deployment Tools\amd64\DISM\Dism.exe" /image:"%TEMPDIRx64%\mount" /add-package /packagepath:"%KITPATH%\Windows Preinstallation Environment\amd64\WinPE_OCs\de-de\WinPE-EnhancedStorage_de-de.cab"
:: Zusätzliche Pakete X64 ENDE!

Schritt: CreateCustomBCD_WinPE_BIOS_AND_UEFI_X86_X64.cmd Analyse

Viel gibt es hier nicht zu sagen. Das wird unsere Binary Coded Decimal Datei. Diese Datei können Sie sich auch mal in Ruhe angucken. Diese ist ebenfalls mit Kommentaren versehen und sollten Sie vorhaben weitere Einträge hinzuzufügen, sollte dies ein leichtes sein, denn die Vorgabe haben Sie bereits.

Damit Sie im UEFI Modus und eingeschaltetem Secure Boot das Menü angezeigt bekommen ist noch folgende Änderung in dieser Datei notwendig, die Sie ganz unten einfügen:

REM UEFI Secure Boot Signatur ANFANG
bcdedit -store C:\BCD -set {bootmgr} path \Boot\bootmgr.efi
REM UEFI Secure Boot Signatur ENDE

Im Hyper-V-Manager zum Beispiel klicken Sie dafür auf eine VM und dann auf Einstellungen und stellen es wie auf dem Bild zu sehen ist ein:

Schritt: WinPE erstellen

Wir haben ja nun schon etliche Dinge vorher machen müssen, doch nun haben Sie es endlich geschafft, das wir an dem Punkt sind, die WinPE’s in Auftrag zu geben.

Starten Sie nun das Tool “Umgebung für Bereitstellungs- und Imageerstellungstool” mit Administrator-rechten, das Sie anfangs an den Start angeheftet hatten.

Navigieren Sie nun über den “cd Ordnername” Befehl zu dem Ort, wo Sie die Datei “CreateWinPE10_x86_x64.cmd” gespeichert haben.
Starten Sie diese Datei. Dieser Vorgang kann etwas dauern. Also heißt es nochmal…. Kaffee machen 🙂

Wenn der Vorgang abgeschlossen ist, werden Sie feststellen, das Sie unter C:\ einen weiteren Ordner finden werden => C:\PXEServer

Hier liegen nun die WinPE ISO’s, als auch die WinPE Wim Dateien und die Bootmanager Dateien wie boot.sdi, pxeboot.n12, bootmgr.exe und die MUI Sprachpakete.

Schritt: WinPE Dateien auf den TFTP Server Transferieren

Das gröbste haben wir nun hinter uns. Jetzt geht es darum, die Dateien auch startbar aus unserer Syslinux Umgebung zu machen.

Erstellen Sie zunächst einen Ordner “Winpe” im “images” Ordner Ihres TFTP Servers.
Innerhalb des “Winpe” Ordners einen weiteren der “WinPE10.0” heißt.

Kopieren Sie nun folgende Dateien alle in den”WinPE10.0” Ordner auf Ihren TFTP Server (images\Winpe\WinPE10.0):

C:\PXEServer\BootSources\ISO\WinPE_x64.iso
C:\PXEServer\BootSources\ISO\WinPE_x86.iso
C:\PXEServer\BootSources\WinPE_x64.wim
C:\PXEServer\BootSources\WinPE_x86.wim

Kopieren Sie als nächstes folgende Dateien direkt in das TFTP ROOT Verzeichnis:

C:\PXEServer\Boot32\bootmgr.exe
C:\PXEServer\Boot32\pxeboot.n12(Nach dem kopieren bitte in pxeboot.0 umbenennen!)

Erstellen Sie im TFTP Root Verzeichnis noch folgende Ordnerstruktur:

/Boot/
/Boot/de-DE/
/Boot/Fonts/
/Boot/resources/
/EFI/
/EFI/Microsoft/
/EFI/Microsoft/Boot/
/EFI/Microsoft/Boot/de-DE/
/EFI/Microsoft/Boot/Fonts/
/EFI/Microsoft/Boot/resources/

Kopieren Sie nun folgende Dateien in das /Boot/de-DE/ Verzeichnis auf Ihren TFTP Server:

C:\PXEServer\Boot32\de-DE\bootmgr.efi.mui (Bitte in bootmgr.efi.MUI umbenennen!)
C:\PXEServer\Boot32\de-DE\bootmgr.exe.mui (Bitte in bootmgr.EXE.MUI umbenennen!)

Kopieren Sie nun folgende Datei in das /Boot/ Verzeichnis auf Ihren TFTP Server:

C:\PXEServer\Boot32\boot.sdi

Mounten Sie nun bitte einmal die WinPE_x64.iso mit “Öffnen mit” und dann Windows Explorer.

Kopieren Sie aus dem ISO folgende Dateien in den /Boot/Fonts/ Ordner:

DVDROM\Boot\Fonts\ ALLE DATEIEN!

Kopieren Sie aus dem ISO folgende Dateien in den /EFI/Microsoft/Boot/Fonts/ Ordner:

DVDROM\EFI\Microsoft\Boot\Fonts\ ALLE DATEIEN!

Kopieren Sie aus dem ISO folgende Dateien in den TFTP Root Ordner:

DVDROM\EFI\Boot\bootx64.efi

Kopieren Sie aus dem ISO folgende Dateien in den TFTPROOT\Boot\ Ordner:

DVDROM\bootmgr.efi

Mounten Sie nun bitte einmal die WinPE_x86.iso mit “Öffnen mit” und dann Windows Explorer.

Kopieren Sie aus dem ISO folgende Dateien in den TFTP ROOT Ordner:

DVDROM\EFI\Boot\bootia32.efi

Schritt: CreateCustomBCD_WinPE_BIOS_AND_UEFI_X86_X64.cmd ausführen

Starten Sie die Eingabeaufforderung mit Administratorrechten und führen Sie dieses Skript bitte einmal aus. Danach finden Sie eine BCD Datei unter C:\ die Sie bitte an folgenden Ort verschieben:

TFTPROOT\Boot\

Schritt: Syslinux 6.04 Booteinträge erstellen

Öffnen Sie die pxelinux.cfg/default_BIOS und suchen Sie nach:

KBDMAP german.kbd

Fügen Sie direkt darunter folgendes ein:

##############################################################
#Windows Section
##############################################################
LABEL WindowsSysteme
MENU LABEL Windows Installation:
MENU DISABLE

MENU BEGIN

MENU TITLE + Windows Installations Service

LABEL Original
MENU LABEL Microsoft Windows PE Images:
MENU DISABLE

LABEL WinPE50X32ISO
MENU LABEL 1. WinPE10.0 x32 Bit - MemDisk ISO (Windows 10)
MENU INDENT 2
COM32 linux.c32 memdisk
APPEND iso raw
INITRD images/Winpe/WinPE10.0/WinPE_x86.iso
TEXT HELP
Es wird die Windows Vorinstallations Umgebung 10.0 (Windows 10) im
32 Bit Modus geladen mit allen Netzwerktreibern.

Die WinPE Versionen sind abwaertskompatibel. Es ist Ihnen moeglich
mit der WinPE 10.0 Version auch aeltere Windows Versionen zu installieren.

Es wird automatisch das Netzwerkshare zu den Windows Images aufgebaut.
ENDTEXT

LABEL WinPE50X64ISO
MENU LABEL 2. WinPE10.0 x64 Bit - MemDisk ISO (Windows 10)
MENU INDENT 2
COM32 linux.c32 memdisk
APPEND iso raw
INITRD images/Winpe/WinPE10.0/WinPE_x64.iso
TEXT HELP
Es wird die Windows Vorinstallations Umgebung 10.0 (Windows 10) im
64 Bit Modus geladen mit allen Netzwerktreibern.

Die WinPE Versionen sind abwaertskompatibel. Es ist Ihnen moeglich
mit der WinPE 10.0 Version auch aeltere Windows Versionen zu installieren.

Es wird automatisch das Netzwerkshare zu den Windows Images aufgebaut.
ENDTEXT

LABEL WinPE50X32X64MGR
MENU LABEL 3. WinPE10.0 x64 & x32 Bit - BootMGR (Windows 10)
MENU INDENT 2
KERNEL pxeboot.0
TEXT HELP
Es wird die Windows Vorinstallations Umgebung 10.0 (Windows 10) im
64 Bit oder 32 Bit Modus geladen mit allen Netzwerktreibern.

Die WinPE Versionen sind abwaertskompatibel. Es ist Ihnen moeglich
mit der WinPE 10.0 Version auch aeltere Windows Versionen zu installieren.

Es wird automatisch das Netzwerkshare zu den Windows Images aufgebaut.
ENDTEXT

MENU SEPARATOR

LABEL return_main

MENU LABEL - ^Zum Hauptmenu
MENU INDENT 1
MENU EXIT

MENU END

Ich habe Ihnen dort ein Beispiel mit Memdisk gemacht und das Beispiel des Umwegs über den BootMGR. Ich persönlich empfehle Ihnen Memdisk zu meiden, da Sie gerade in Bezug auf die Geschwindigkeit mit dem BOOTMGR schneller sind und nicht solange warten müssen. Außerdem haben Sie dort einen schönen Balken, der verdeutlicht wie viel noch transferiert werden muss!

Das gleiche machen Sie bitte auch für die Dateien:

pxelinux.cfg/default_EFI32
pxelinux.cfg/default_EFI64

ABER! Die Memdisk Einträge sind dort zu löschen, da dieses Tool in einer EFI Umgebung nicht funktioniert. Lassen Sie nur den letzten Eintrag stehen. Ja, jetzt kommen wir noch zu dem Problem, das ich mehrmals angesprochen hatte in Bezug auf Syslinux im EFI Modus, den BootManager von Windows und eine Windows Installation über Netzwerk im EFI Modus. Dummerweise funktioniert auch der EFI Boot mit dem letzten Eintrag nicht, da auch dieses ein BIOS Tool ist 😉 Aber, das ist vorerst auch nicht weiter tragisch! Irgendwann soll das wohl auch mit Syslinux gehen. Solange können Sie den Umweg gehen und einen Notbehelf anwenden, wenn Sie Rechner im EFI Modus über Netzwerk starten.

Ändern Sie wie aus der Vorherigen Anleitung einfach folgende Abschnitte wie folgt (Denken Sie daran, das die IP wieder geändert werden muss. Schlagen Sie dazu bitte nochmal in der anderen Anleitung nach, falls Sie vergessen haben, wie man das nochmal macht):

dhcp-boot=tag:pxe,pxelinux.0
dhcp-vendorclass=set:pxe,PXEClient

#Beispiel Eintrag und Erklärung
#Tag vergeben, DHCP-Option 60, Suche String (Match)
#dhcp-match=set:bios,60,PXEClient:Arch:00000
#Boot-Tag, Boot-Dateiname, Server Name (DNS), Server IP Addresse
#dhcp-boot=tag:bios,pxelinux.0,192.168.1.5,192.168.1.5
#Boot-Tag, DHCP-Option 209, Pfad zur Syslinux-Konfigurationsdatei
#dhcp-option-force=tag:bios,209,pxelinux.cfg/default_BIOS

dhcp-match=set:bios,60,PXEClient:Arch:00000
dhcp-boot=tag:bios,pxelinux.0,192.168.1.5,192.168.1.5
dhcp-option-force=tag:bios,209,pxelinux.cfg/default_BIOS

dhcp-match=set:efi32-1,60,PXEClient:Arch:00002
dhcp-boot=tag:efi32-1,bootia32.efi,192.168.1.5,192.168.1.5
dhcp-option-force=tag:efi32-1,209,pxelinux.cfg/default_EFI32

dhcp-match=set:efi32-2,60,PXEClient:Arch:00006
dhcp-boot=tag:efi32-2,bootia32.efi,192.168.1.5,192.168.1.5
dhcp-option-force=tag:efi32-2,209,pxelinux.cfg/default_EFI32

#Standard für UEFI Rechner
#Die meisten UEFI Rechner benutzen diesen Eintrag. Je nach Hersteller kann es 
#jedoch sein, das statt 00007 mal 00009 verwendet wird. 
dhcp-match=set:efi64-1,60,PXEClient:Arch:00007
dhcp-boot=tag:efi64-1,bootx64.efi,192.168.1.5,192.168.1.5
dhcp-option-force=tag:efi64-1,209,pxelinux.cfg/default_EFI64

dhcp-match=set:efi64-2,60,PXEClient:Arch:00008
dhcp-boot=tag:efi64-2,bootx64.efi,192.168.1.5,192.168.1.5
dhcp-option-force=tag:efi64-2,209,pxelinux.cfg/default_EFI64

dhcp-match=set:efi64-3,60,PXEClient:Arch:00009
dhcp-boot=tag:efi64-3,bootx64.efi,192.168.1.5,192.168.1.5
dhcp-option-force=tag:efi64-3,209,pxelinux.cfg/default_EFI64

Nach der Änderung den DHCP Server auch nochmals neustarten.

Was machen wir dort?

Wir verwenden von nun an im EFI32 und EFI64 Modus nur noch den Microsoft EFI Bootloader, damit wir Windows auch im EFI Modus installieren lassen könnten. Sie fragen sich jetzt, warum wir überhaupt den ganzen Zirkus dann mit den 3 verschiedenen Syslinux Bootloadern betrieben haben? Nun weil das irgendwann funktionieren soll und solange das nicht funktioniert wir den Umweg über den Microsoft Bootloader im EFI Modus gehen. Im alten Legacy Modus haben Sie ja nach wie vor noch das Menü.

Schritt: Der Test

Booten Sie nun einen Rechner über Netzwerk und Sie sollten im BIOS Modus das Syslinux Menü sehen und es Ihnen auch möglich sein, den BootMGR Eintrag zu starten und Windows installieren zu können. Im EFI Modus werden Sie direkt in das BootMGR Menü booten ohne Syslinux. Testen Sie auch jeden Eintrag, ob auch alles funktioniert. Eine Testinstallation im EFI Modus in einer VM schadet vielleicht auch nicht 😉

Sollten Sie noch Fragen haben, so nutzen Sie einfach die Kommentarfunktion.

Zum Anfang!

71 Antworten auf „Syslinux 6.04 – Windows 10 ADK 1903 WinPE’s erstellen“

  1. Hallo zusammen,

    mal eine Frage, kann man dem Windows Bootmanager (BCD File das erstellt wird) auch beibringen, das der als ersten Eintrag Standardmäßig das vorhandene Windows (Win7 oder Win10) booten soll, analog dem Eintrag wie er im Linux Bootmenu gemacht wird?
    Also wenn nichts gedrückt wird boote von HDD…

    1. Das ist eine gute Frage! Ich habe ein wenig herumprobiert und hiermit funktioniert das so einigermaßen.

      Du kannst die Datei: “CreateCustomBCD_WinPE_BIOS_AND_UEFI_X86_X64.cmd” folgendermaßen anpassen:

      Das fügst du unter den bestehenden zwei Einträgen ein:

      Variante 1 (UEFI Windows 7/8/10 Start):

      REM BOOT EINTRAG #3
      for /f "tokens=1-3" %%a in ('bcdedit -store C:\BCD -create /d "Starte Windows 7/8/10 (UEFI)" /application osloader') do set GUID3=%%c
      bcdedit -store C:\BCD -set %GUID3% device locate=custom:12000002
      bcdedit -store C:\BCD -set %GUID3% path \Windows\system32\winload.efi
      bcdedit -store C:\BCD -set %GUID3% osdevice locate=custom:22000002
      bcdedit -store C:\BCD -set %GUID3% locale de-DE
      bcdedit -store C:\BCD -set %GUID3% systemroot \Windows
      bcdedit -store C:\BCD -set %GUID3% detecthal Yes
      

      Variante (BIOS Windows 7/8/10 Start):

      REM BOOT EINTRAG #4
      for /f "tokens=1-3" %%a in ('bcdedit -store C:\BCD -create /d "Starte Windows 7/8/10 (BIOS)" /application osloader') do set GUID4=%%c
      bcdedit -store C:\BCD -set %GUID4% device locate=custom:12000002
      bcdedit -store C:\BCD -set %GUID4% path \Windows\system32\winload.exe
      bcdedit -store C:\BCD -set %GUID4% osdevice locate=custom:22000002
      bcdedit -store C:\BCD -set %GUID4% locale de-DE
      bcdedit -store C:\BCD -set %GUID4% systemroot \Windows
      bcdedit -store C:\BCD -set %GUID4% detecthal Yes
      

      Dann suchst du nach:

      bcdedit -store C:\BCD -set {bootmgr} displayorder %GUID1% %GUID2%
      

      und fügst die anderen beiden Guids hinzu:

      bcdedit -store C:\BCD -set {bootmgr} displayorder %GUID1% %GUID2% %GUID3% %GUID4%
      

      Wenn einer der Einträge vor selektiert sein soll, dann fügst du unter dieser Zeile:

      bcdedit -store C:\BCD -set {bootmgr} displayorder %GUID1% %GUID2%
      

      noch ein:

      bcdedit -store C:\BCD -set {bootmgr} default %GUID3%
      

      hinzu. Es sei dabei noch angemerkt, dass einer der Einträge natürlich nicht funktioniert 😉 Wenn Windows im UEFI Modus installiert wurde, dann wird der BIOS Eintrag nicht funktionieren. Im anderen Falle halt nur umgekehrt. Sollte aber klar sein. 😀

  2. Hallo Stefan,

    Zuerst DANKE für deine tolle Arbeit!

    I habe Synology 6.2.1 und ich kriege nicht DHCP zum laufen mit deine Einstellungen, es wird immer wieder weg und bootet nicht.

    Was wäre möglich für mich?

    Danke,

    1. Danke für die Blumen 🙂

      Bist Du denn auch sicher, das Du die richtige Datei bearbeitet hast?

      Nicht die dhcpd.conf bearbeiten!

      Denn diese wird immer wieder zurückgesetzt, wenn man den DHCP Server deaktiviert/aktiviert. Auch ein Reboot würde die Datei neu schreiben lassen.

      Deshalb unbedingt darauf achten das die dhcpd-pxe.conf bearbeitet wurde!

      Wenn Du die richtige Datei bearbeitet hast und der DHCP Server im Anschluss gar nicht mehr funktioniert, dann hat sich beim Kopieren/Einfügen/Bearbeiten der Datei ein Zeichen eingeschlichen, dass zu dem Versagen führt. Überprüfe nach dem Einfügen deines angepassten Codes wie in der Anleitung beschrieben, ob das Zeile für Zeile genau so aussieht (Bis auf die zu ändernden IP Adressen natürlich)! Meistens befindet sich der Fehler direkt am Anfang der Datei. Es reicht ein simples Zeichen an irgendeiner Position, dass der DHCP Server nicht mehr funktioniert.

      1. Danke,

        Es hat geklappt, mindestens mit BIOS.

        Aber mit UEFI nicht. Ich hab per Lenovo X250 und VirtualBox getested, beide ohne erfolg.
        .
        Lenovo X250 mit und ohne Secure Boot aktiviert.

        Fehlermeldung ohne Secure Boot:

        Getting cached packet
        My IP is 192.168.0.78
        core_udp_sendto: udp->Configure() unsuccessful (3)disable UseDefaultAddress
        core_udp_connect: udp->Configure() unsuccessful (2)Failed to configure UDP: 2

        Ich habe 2 Teste gemacht: mit pxelinuxEFI64-pxelinuxEFI32 ver pre_01 und pxelinuxEFI64-pxelinuxEFI32 ver pre_03 (inzwischen gibts -> https://www.zytor.com/pub/syslinux/Testing/6.04/ )

        Any ideea?

        1. Secure Boot und Syslinux im EFI Modus funktioniert nicht. Syslinux ist nicht signiert und somit würde das sowieso scheitern. Du müsstest eine solche Meldung aber auch erhalten haben, als du das probiert hast.

          Die pre-3 funktioniert bei mir gar nicht. Ich habe nur den BIOS Modus getestet und es danach direkt sein gelassen. Also wenn schon das Starten des Menüs nicht mehr funktioniert, dann brauch ich den Rest erst gar nicht weiter testen…

          Bei der pre-3 bekomme ich im BIOS Modus die Meldung, das er die ldlinux.c32 nicht finden kann. Irgendwie nicht wirklich gut getestete Versionen wie es scheint. Bei der pre-2 funktioniert noch alles. Zumindest was das Starten des Menüs betrifft.

          Die pre-2 funktioniert auch mehr schlecht als recht.

          Die pre2 hat noch etliche Fehler im BIOS Modus. Das hdt Tool funktioniert nicht mehr, ebenso der CPU ID Test.

          Fehler:
          Undef symbol FAIL: exp
          Failed to load libgpl.c32
          Failed to load COM32 file hdt.32

          Und das ist nur das, was ich in 5 Minuten gefunden habe.
          Da hat wohl einer beim Programmieren einen Fehler gemacht oder geschlafen oder schlicht einfach nicht getestet was man da programmiert hat 😀

          Der EFI 64 Modus läuft in der pre-2 bei mir.

          Ich werde aber bei der pre-1 bleiben. Die läuft stabil. Auf die lang ersehnte Chainload bootx64.efi Kompatibilität warte ich leider immer noch. Das ist das worauf alle sehnsüchtig warten und trotzdem kümmert sich keiner darum :S

          core_udp_sendto: udp->Configure() unsuccessful (3)disable UseDefaultAddress
          

          Ich hatte diesen Fehler mal im Hyper-V. Ein Update auf die Konfigurationsversion 9.0 behob damals diesen Fehler. Eventuell ist das bei Virtualbox ähnlich. Aber da auch ein Notebook das selbe Problem zu haben scheint, kann es das nicht sein. Gelegentlich war auf der Syslinux Seite aber der Hinweis vermerkt, dass es bei Lenovo Geräten gerne mal zu Problemen kommt. Ich finde den Eintrag nur gerade nicht, wo das nochmal genau stand.

          Es bleibt Dir wohl nichts anderes übrig, als dich an den Entwickler selbst zu wenden. Du kannst höchstens mal ein Firmware Update versuchen. Vielleicht hast du Glück und das Problem ist danach keines mehr. Ansonsten kann ich Dir bei dem Problem auch nicht helfen.

          Vielleicht kann Dir ja auch im IRC einer weiterhelfen. Manchmal sind da auch die Entwickler selbst anzutreffen.

          irc://irc.freenode.net#syslinux

  3. Hallo Stefan,

    Ich habe den PXE-Boot nach Deiner Anleitung und nach einigen Startschwierigkeiten nun erfolgreich zum laufen bringen können. Vielen Dank dafür.
    Nun wollte ich damit anfangen den Image Ordner mit Windows PE und Verschiedenen Windows Versionen zum installieren über PXE-Boot zu befüllen, scheitere aber schon am Installieren der Windows 10 ADK, das herunterladen und die Erstinstallation funktioniert soweit Problemlos aber nach der Installation und dem erneuten Aufruf der “adksetup.exe” egal welcher, bekomme ich immer nur wieder die Ansicht zur Erstinstallation, das Menü “Wählen Sie die Futures aus, die Sie Änderung möchten” zum installieren/downloaden/starten der Bereitstellungstools bekomme ich nicht zu sehen.

    Was mache ich hier falsch?

    Carsten

    1. OK habe das Problem selber lösen können, der 2. Aufruf der “apksetup.exe” erfolgt dann mit dem ersten Menüpunkt “auf diesem Rechner installieren” dann klappt es auch mit den Bereitstellungsungstools.

      Vielleicht solltest Du Deine Anleitung um diese Angabe erweitern/ergänzen.

      Gruß
      Carsten

    2. Hallo Carsten,

      als ich die Anleitung verfasst hatte, war das alles schon bei mir installiert. Damit ich dieses Fenster mit den zu installierenden Features angezeigt bekam, musste ich natürlich bei dem bereits installierten Programm (Apps und Features) auf Ändern klicken. Wenn man das natürlich zum aller ersten Mal installiert, dann sieht das natürlich ein wenig anders aus. Die Ansicht mit den Auswahlkästchen ist jedoch identisch und genau darum ging es doch. Ob nun der Button im Fenster “Ändern” oder “Installieren” heißt dürfte wohl ziemlich Jacke wie Hose sein.

  4. Hallo Stefan,
    ich komme nicht weiter und bin am verzweifeln, eventuell kannst du mir helfen!?

    Beim ausführen der CreateWinPE10_x86_x64.cmd erhalte ich folgende Meldung!

    c:\PXEServerTools>CreateWinPE10_x86_x64.cmd
    Das System kann den angegebenen Pfad nicht finden.
    Das System kann den angegebenen Pfad nicht finden.

    Fehler: 740

    Zum Ausführen von DISM sind erhöhte Rechte erforderlich.
    Verwenden Sie eine Eingabeaufforderung für erhöhte Rechte, um diese Aufgaben
    abzuschließen.

    Could not mount boot.wim!

    Danke vorab

    1. Hallo Paco,

      du darfst nicht die normale Eingabeaufforderung starten! Du musst schon die von Microsoft modifizierte Anwendung “Umgebung für Bereitstellungs- und Imageerstellungstools” mit Administratorrechten starten. Im Prinzip sind das beides Eingabeaufforderungen, aber mit dem Unterschied, das in der Zweiten noch diverse variablen und Pfade gesetzt sind, die es nicht beim dem normalen Aufruf der Eingabeaufforderung gibt.

      1. Sorry Stefan,
        hätte ich schreiben sollen!
        Ich habe die “Umgebung für Bereitstellungs- und Imageerstellungstools” mit Administratorrechten benutzt, daraus entstand die Fehlermeldung

        1. Es reicht nicht als Administrator angemeldet zu sein. Du musst wirklich mit der rechten Maustaste auf das Programm klicken und “Als Administrator ausführen” auswählen.

          Solltest du das bereits gemacht habe, fiele mir nur dazu ein, dass du eventuell das Windows ADK nicht in das Standardverzeichnis installiert hast.

          Der Standard Installationspfad ist:
          C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit

          Existieren diese Ordner bei Dir?

          Solltest du den Installationsort geändert haben, so kannst du in der Datei “CreateWinPE10_x86_x64.cmd” einfach die betroffene Zeile ändern:

          if exist "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit" set KITPATH=C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit
          
          1. -mit der rechte Maustaste habe ich gemacht
            -der Ordner ist vorhanden “C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit”

            und trotzdem dieser Fehlermeldung 🙁

            c:\PXEServerTools>CreateWinPE10_x86_x64.cmd
            Das System kann den angegebenen Pfad nicht finden.
            Das System kann den angegebenen Pfad nicht finden.

            Tool zur Imageverwaltung für die Bereitstellung
            Version: 10.0.18362.1

            Fehler: 3

            Das System kann den angegebenen Pfad nicht finden.

            Die DISM-Protokolldatei befindet sich unter “C:\WINDOWS\Logs\DISM\dism.log”.

            Could not mount boot.wim!

            Drücken Sie eine beliebige Taste . . .

        2. Vom chronologischem Ablauf her gesehen sind die ersten Aufrufe:

          REM X86 Bereich! Anfang
          call "%KITPATH%\Windows Preinstallation Environment\copype.cmd" x86 "%TEMPDIRx86%\"
          copy "%KITPATH%\Windows Preinstallation Environment\x86\en-us\winpe.wim" "%TEMPDIRx86%\"
          
          REM Lade das IMAGE
          "%KITPATH%\Deployment Tools\x86\DISM\Dism.exe" /mount-wim /wimfile:"%TEMPDIRx86%\winpe.wim" /index:1 /mountdir:"%TEMPDIRx86%\mount"
          

          Das würde sich auch komplett mit deiner Ausgabe decken.

          Zweimal
          “Das System kann den angegebenen Pfad nicht finden.” = Call Abschnitt
          “Das System kann den angegebenen Pfad nicht finden.” = copy Abschnitt

          Could not mount boot.wim! = DISM Zeile

          Existiert nach der Ausführung unter C: ein Ordner mit dem Namen “C:\WinPE_x86” Es gibt hier nur zwei Möglichkeiten. Beide basieren darauf, das einer der zwei oder beide gesetzten Variablen nicht funktionieren.

          Wenn der Ordner C:\WinPE_x86 nicht erstellt wird sind die Folgefehler klar, denn dann kann auch das Image nicht gemountet werden. Die Frage wäre aber dann, warum dieser nicht erstellt wird…

          Ansonsten musst du mir halt mal die C:\WINDOWS\Logs\DISM\dism.log Logdatei via E-Mail schicken. Dann guck ich mal drüber, was genau da nicht stimmt.

          E-Mail-Adresse: info [at] german-syslinux-blog [dot] de

        3. Ich habe mir die Datei mal angesehen und die Variablen werden korrekt benutzt.

          Die Zeile:

          "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\x86\DISM\Dism.exe"  /mount-wim /wimfile:"C:\WinPE_x86\winpe.wim" /index:1 /mountdir:"C:\WinPE_x86\mount"
          

          beweist, das er die Variablen korrekt mit den hinterlegten Strings verwendet.

          Allerdings ist mir etwas anderes in der Datei aufgefallen:

          2019-09-15 18:41:42, Warning               DISM   DISM Provider Store: PID=13872 TID=14916 Failed to load the provider: C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\x86\DISM\MetaDeployProvider.dll. - CDISMProviderStore::Internal_GetProvider(hr:0x8007007e)
          

          Ich empfehle Dir einfach mal das ganze Windows ADK nochmal komplett zu deinstallieren mit dem Windows ADK WinPE Paket und im Anschluss erst einmal eine Datenträgerbereinigung durchzuführen (Systemdateien bereinigen klicken). Dann wird der ganze überflüssige Kram gelöscht.

          Im Anschluss daran in der Eingabeaufforderung mit Adminrechten einen Systemcheck durchführen mittels:

          sfc /scannow

          Wahrscheinlich werden dann ein paar beschädigte Dateien gefunden. Nach einem Neustart und der Hoffnung der Reparatur startest du den selben Vorgang nochmal. Erst wenn nach der Durchführung dort zu lesen ist: “Keine beschädigten Komponenten/Systemdateien gefunden” ist alles wieder in Ordnung. Nun nochmal einen Windows Update-Check durchführen lassen.

          Erst jetzt wieder Windows ADK + WinPE installieren.

  5. Hallo Stefan,
    habe alles so gemacht wie du empfohlen hast!
    Leider erhalte ich immer noch die gleiche Fehlermeldung, ich habe es auch an einem anderen PC versucht, mit dem gleichen Ergebnis, leider.
    Habe aber festgestellt das es bei diesen Vorgang folgender Ordner unter C:\ angelegt werden:
    PXEServer (Ordner)
    Boot32 (unterordner)
    Boot64 (Unterordner)
    BootSouces (Unterordner ISO (Unterordner)
    Alle Ordner sind aber leer!?
    Kannst du was damit anfangen?
    Verzweifelung:-(

    1. Hallo Stefan,
      man man man ICH BIN EIN VOLL KOFFER!!!
      es konnte nie im Leben gehen……ich hatte die adkwinpesetup.exe noch nicht ausgeführt.

      Jetzt ist das ganze am Downloaden und es geht voran.

      Vielen Dank nochmal für deine Bemühung!!
      LG Paco

  6. Hallo Stefan,

    danke für das Howto, funktioniert auch fast alles. Einzig beim Booten via Windows Boot Manager bekomme ich folgenden Fehler: https://i.imgur.com/n72DhSX.png

    Die Verzeichnisnamen stimmen alle. Auch liegen alle benötigten Dateien in den jeweiligen Ordnern. Ich habe mich hier zu 100% an die Anleitung gehalten. Ich starte eine VM über Proxmox VM und habe noch virtio Storage und Netzwerktreiber in die PE-Images integriert, falls das relevant ist.

    Hast du eine Idee, was ich falsch gemacht habe?

    1. Es ist wahrscheinlich wieder das Problemchen, dass er die BCD nicht finden kann – steht ja auch in der Fehlermeldung. Der beliebteste Fehler wäre wohl, das der Boot Ordner von Dir kleingeschrieben wurde. Der WBM achtet immer auf Groß- und Kleinschreibung. Da kennt der keine Toleranz 😀

  7. Hier mal mein tftpd Log, in dem man sieht, dass das BCD file geladen wird: https://i.imgur.com/drhAKDy.png

    Mein UEFI Windows Boot über den WBM funzt übrigens auch nicht, im Log sehe ich folgendes immer dann, wenn ich den Menüpunkt auswähle:
    Oct 18 07:57:56 nas in.tftpd[8543]: RRQ from 10.10.10.136 filename pxeboot.0

    1. Sorry fürs spammen, aber ich kann hier meine Beiträge leider nicht bearbeiten. 😀

      Oder bedeuten diese Zeilen “sending NAK (1, File not found) to 10.10.10.136”, dass er die Dateien, die er vorher angefragt hat, nicht finden kann? Das würde es dann erklären. Allerdings gibt es alle Dateien. Eventuell Datei- und Ordnerberechtigungen?

  8. Ok, ich hab’s rausgefunden. Es lag am fehlenden Mapping. Stichwort tftp remap file.
    Wenn ich ein File erstelle mit dem Inhalt “rg \\ /”, das ich mit dem tftpd lade und somit Backslashes durch Forwardslashes ersetze, startet mein Windows. Dann muss ich nur mal schauen, ob das dann mit Linux auch funktioniert.

    1. Mich wundert das ein bisschen, denn bei mir war das nicht notwendig. Schön das es läuft, aber ich wüsste eigentlich schon gerne, warum du das setzen musstest und ich beispielsweise nicht. Das wäre eventuell auch etwas für die Anleitung als kleiner Hinweis.

      Aber dann muss ich nochmal nachfragen:

      Deine Umgebung ist haargenau so, wie diese in der Anleitung vorausgesetzt wird?
      Du hast das alles auf der Synology eingerichtet und nutzt KEINE anderen TFTP/DHCP Server Programme als die in der Anleitung erwähnten?

      Weil laut deinem IP Range würde ich daraus schließen, dass du das in einer Firma eingerichtet hast, die einen “etwas” größeren privaten IP Adressbereich nutzt. Den Größten um genau zu sein. Daher ist es für mich umso wahrscheinlicher, dass dort schon ein DHCP Server und eventuell auch ein TFTP Server existierte.

Schreibe einen Kommentar zu Carsten Meinicke Antworten abbrechen

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