Boot-fähigen Datenträger mit Windows 11 PE (WinPE) erstellen


    Tags: , ,

    Windows ADKDas Prein­stallation Environ­ment (WinPE) ist eine Mager­version von Windows, die für das OS-Deploy­ment oder für das Recovery Environ­ment benötigt wird. Micro­soft stellt es nicht als ISO bereit, son­dern man muss einen boot-fähigen Daten­träger selbst erzeugen. Dabei kann man auch Sprach­pakete oder Tools hinzufügen.

    Windows PE war in der Vergangenheit stets ein Bestandteil des WAIK bzw. des Windows ADK, aber seit Windows 10 1809 ist es ein eigener Download. Dieser alleine reicht aber nicht, um eine ISO-Datei oder einen USB-Stick mit WinPE zu erstellen. Vielmehr braucht man weiterhin die Bereit­stellungs-Tools aus dem ADK.

    WinPE-Paket installieren

    Führt man das Setup für Windows PE aus, dann installiert es die Dateien wie schon unter Windows 10 standardmäßig unter

    %ProgramFiles(x86)%\Windows Kits\10\

    Startet man die Batch-Dateien, die dem Erzeugen eines boot-fähigen WinPE dienen, zu diesem Zeitpunkt, dann brechen diese aufgrund des fehlenden ADK mit diversen Fehler­meldungen ab.

    Die Dateien für das Erzeugen eines WinPE-Datenträgers installiert man über ein separates Setup.

    Bereitstellungstools hinzufügen

    Daher startet man im nächsten Schritt das ADK-Setup und wählt dort die Bereitstellungs­tools zur Installation aus.

    Aus dem Windows ADK benötigt man für WinPE nur die Bereitstellungstools.

    Ist dieser Vorgang abgeschlossen, dann öffnet man eine Eingabeauf­forderung und führt im Verzeichnis Deployment Tools (standardmäßig unter %ProgramFiles(x86)%\Windows Kits\10\Assessment and Deployment Kit) die Batch-Datei

    DandISetEnv.bat

    aus. Sie setzt die benötigten Umgebungsvariablen.

    Nun stellt man die Dateien bereit, die man für die ISO oder den Memory-Stick benötigt. Diesem Zweck dient copype.cmd, ein Aufruf könnte so aussehen:

    copype amd64 %USERPROFILE%\WinPE

    Der erste Parameter spezifiziert die Architektur, in diesem Fall 64-Bit für Intel bzw. AMD. Zur Auswahl stehen noch amd64, arm und arm64. Über den zweiten Parameter gibt man das Zielverzeichnis an. Dieses darf jedoch nicht existieren, sonst bricht der Vorgang ab.

    Dateien für das Boot-Medium mit copype.cmd bereitstellen

    ISO oder bootfähigen USB-Stick erzeugen

    Grundsätzlich sind damit schon die Voraussetzungen geschaffen, ein Boot-Medium mit Windows PE zu erzeugen. Folgender Befehl generiert ein ISO-Abbild:

    MakeWinPEMedia.cmd /ISO %USERPROFILE%\WinPE .\WinPE.iso

    Nach dem Schalter für die ISO folgt das Verzeichnis, das man bei copype.cmd als Ziel angegeben hat und zum Schluss steht der Name der ISO-Datei.

    Das Erzeugen eines USB-Sticks erfolgt auf die gleiche Weise, nur dass man dafür den Schalter UFD nutzt und als Ziel bloß den Buchstaben des Laufwerks angibt:

    MakeWinPEMedia /UFD c:\Users\me\WinPE G:

    Wenn man die Warnung vor der Formatierung des Sticks unterdrücken möchte, kann man dem Aufruf den Schalter /F hinzufügen.

    Boot-Medium für Windows PE mit MakeWinPEMedia.cmd erzeugen

    Nach dem erfolgreichen Abschluss des Vorgangs erhält man ein boot-fähiges, aber nur minima­listisches WinPE. Es enthält nur das englische Sprachpaket, die englische Tastatur­belegung und keinerlei Tools. Daher wird man in der Regel vor dem Generieren des Datenträgers das Image für Windows PE anpassen.

    WinPE-Abbild mit DISM bereitstellen

    Im Verzeichnisbaum unterhalb des Zielordners von copype.cmd findet sich in media\sources die Datei boot.wim. Möchte man Windows PE anpassen, dann muss man das WIM mit DISM mounten.

    Dies erfolgt auf der Eingabeauf­forderung aus dem Verzeichnis, das man bei copype.cmd als Ziel angegeben hat, dort existiert das Verzeichnis mount bereits:

    dism /Mount-Wim /MountDir:mount /wimfile:boot.wim /index:1

    Sprachpaket hinzufügen

    Die Sprachdateien findet man standard­mäßig unter
    ProgramFiles(x86)%\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\<Architektur>\WinPE_OCs
    in den Verzeichnissen, die nach den Sprachcodes benannt sind.

    Das deutsche Sprachpaket fügt man in der x64-Version so hinzu:

    dism /image:mount /Add-Package /PackagePath: "%ProgramFiles(x86)%\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\de-de\lp.cab"

    Deutsches Sprachpaket hinzufügen und das Layout der Tastatur ändern

    Mit

    dism /image:mount /Set-AllIntl:de-DE

    setzt man Sprache der Kommandozeile, das Tastatur-Layout und den Standort auf Deutschland.

    PowerShell und Tools integrieren

    Möchte man zusätzlich PowerShell hinzufügen, dann muss man dafür mehrere Pakete in einer vorgegebenen Reihenfolge kopieren, sie befinden sich im gleichen Verzeichnis wie die Sprachdatei:

    Dism /Image:mount /Add-Package /PackagePath:"%WinPERoot%\amd64\WinPE_OCs\WinPE-WMI.cab"

    Dism /Image:mount /Add-Package /PackagePath:"%WinPERoot%\amd64\WinPE_OCs\de-de\WinPE-WMI_de-de.cab"

    Dism /Image:mount /Add-Package /PackagePath:"%WinPERoot%\amd64\WinPE_OCs\WinPE-NetFx.cab"

    Dism /Image:mount /Add-Package /PackagePath:"%WinPERoot%\amd64\WinPE_OCs\de-de\WinPE-NetFx_de-de.cab"

    Dism /Image:mount /Add-Package /PackagePath:"%WinPERoot%\amd64\WinPE_OCs\WinPE-PowerShell.cab"

    Dism /Image:mount /Add-Package /PackagePath:"%WinPERoot%\amd64\WinPE_OCs\de-de\WinPE-PowerShell_de-de.cab"

    Die Pakete aus dem Verzeichnis de-de dienen der Lokalisierung. Wenn man mit der englischen Version von PowerShell zufrieden ist, benötigt man diese nicht.

    WinPE mit den deutschen Spracheinstellungen und PowerShell an Bord.

    Wenn man möchte, kann man noch seine eigenen Tools in das Image kopieren, indem man unter dem mount-Verzeichnis zum gewünschten Ordner wechselt, etwa zum Programm­verzeichnis.

    In Frage kämen beispielsweise die Kommando­zeilen­programe von SysInternals. Allerdings muss man damit rechnen, dass viele davon auf diesem abgespeckten Windows nicht laufen.

    Um die Änderungen an der boot.wim zu übernehmen, führt man folgenden Befehl aus:

    dism /Unmount-Wim /MountDir:mount /commit

    Fazit

    Das Erzeugen eines bootfähigen WinPE-Datenträgers hat sich in Windows 11 nicht wesentlich geändert. Man benötigt dafür die Kommando­zeilen-Tools aus dem Windows ADK sowie den separaten WinPE-Download.

    Ein minimalistisches Windows PE lässt sich mit schnell und mit geringem Aufwand erzeugen. Möchte man aber zusätzliche Sprachpakete und eine entsprechende Tastaturbelegung, dann muss man die Image-Datei bearbeiten. Das gilt auch, wenn man PowerShell oder andere Tools hinzufügen möchte.

    Täglich Know-how für IT-Pros mit unserem Newsletter

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Wolfgang Sommergut

    Wolfgang Sommergut hat lang­jährige Erfahrung als Fach­autor, Berater und Kon­ferenz­sprecher zu ver­schie­denen Themen der IT. Da­ne­ben war er als System­ad­mi­ni­stra­tor und Con­sultant tätig.
    // Kontakt: E-Mail, XING, LinkedIn //

    Verwandte Beiträge

    Weitere Links

    6 Kommentare

    Hallo Wolfgang, danke für deinen Artikel. In dem Zusammenhang kann auch dieser Hinweis wichtig werden.

    Windows Deployment Services (WDS) boot.wim image deployment
    https://docs.microsoft.com/en-us/windows-server/get-started/removed-depr...

    Bild von Wolfgang Sommergut

    Danke, das ist ein interessanter Hinweis! Da fragt es sich bald, welche Features von Windows Server überhaupt noch weiterentwickelt werden.

    Eine neue Version von WINS wäre doch was :)
    Ich verstehe deinen Einwand, es sieht in bestimmter Hinsicht mau aus.

    Im Bereich Security, Networking, ReFS, Storage Spaces und SMB tut sich noch was, der Rest scheint wirklich seit 2012 brach zu liegen.

    Die Pfadangabe "%ProgramFiles(x86)%\Windows Kits\10\Assessment and Deployment Kit)" bitte ergänzen zu: "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools", dort liegt nämlich die im Text erwähnte DandISetEnv.bat Datei.

    Auch %ProgramFiles(amd64)% müsste %ProgramFiles(x86)% heißen.

    Bild von Wolfgang Sommergut

    Stimmt, da war wohl ein Suchen und Ersetzen zu großzügig. Danke für den Hinweis, habe ich korrigiert.