Linux und Windows HelpDesk

Windows 10 Installationsmedium mit Bordmitteln bearbeiten.

Es gibt ja einige Tools, NTLite und WinReducer um nur zwei zu nennen, mit denen man eine Windows 10 ISO an seine Bedürfnisse anpassen kann.
Geht es aber nur darum, ein paar Treiber in sein Installationsmedium - welches heutzutage meist ein USB-Stick sein wird - zu bekommen, kann man das auch mit Bordmitteln erledigen.

Ich gehe hier davon aus, dass man sich mit dem Microsoft Media Creation Tool einen Windows 10 USB-Stick erstellt hat.
Die ganze Sache funktioniert natürlich auch mit der ISO Datei, dann benötigt man zum entpacken der ISO sowie zum anschließenden erstellen der angepassten ISO zusätzliche Software.

Zunächst startet man die Eingabeaufforderung (cmd) als Administrator, erstellt sich ein Arbeitsverzeichnis und kopiert die install.esd aus dem /sources Verzeichnis des Windows 10 USB-Stick in dieses Verzeichnis.

# mkdir d:\win10
# copy h:\sources\install.esd d:\win10
      1 Datei(en) kopiert.

Nun lässt man sich anzeigen, welche Windows 10 Versionen in der install.esd verfügbar sind und wählt anhand der Index-ID die Version, welche man bearbeiten und später installieren möchte. Diese wird dann als install.wim aus der install.esd extrahiert, was einen Moment dauert.
Ich entscheide mich hier für Windows 10 Home mit der Index-ID 1.

# dism /Get-WimInfo /WimFile:d:\win10\install.esd

Tool zur Imageverwaltung für die Bereitstellung
Version: 10.0.18362.1

Details für Abbild: "d:\win10\install.esd"

Index: "1"
Name: "Windows 10 Home"
Beschreibung: "Windows 10 Home"
Größe: 14.329.196.995 Bytes

Index: "2"
Name: "Windows 10 Home N"
Beschreibung: "Windows 10 Home N"
Größe: 13.561.537.692 Bytes

Index: "3"
Name: "Windows 10 Education"
Beschreibung: "Windows 10 Education"
Größe: 14.565.188.883 Bytes

Index: "4"
Name: "Windows 10 Education N"
Beschreibung: "Windows 10 Education N"
Größe: 13.811.977.183 Bytes

Index: "5"
Name: "Windows 10 Pro"
Beschreibung: "Windows 10 Pro"
Größe: 14.565.534.782 Bytes

Index: "6"
Name: "Windows 10 Pro N"
Beschreibung: "Windows 10 Pro N"
Größe: 13.809.722.259 Bytes

Der Vorgang wurde erfolgreich beendet.

# dism /export-image /SourceImageFile:d:\win10\install.esd /SourceIndex:1 /DestinationImageFile:d:\win10\install.wim /Compress:max /CheckIntegrity

Tool zur Imageverwaltung für die Bereitstellung
Version: 10.0.18362.1

Das Image wird exportiert.
[==========================100.0%==========================]
Der Vorgang wurde erfolgreich beendet.

Nun wird ein weiteres Verzeichnis erstellt und die extrahierte install.wim dorthin gemountet, was auch wieder einen kurzen Moment in Anspruch nimmt.

# mkdir d:\win10\mount
# dism /Mount-Image /ImageFile:d:\win10\install.wim /index:1 /MountDir:d:\win10\mount

Tool zur Imageverwaltung für die Bereitstellung
Version: 10.0.18362.1

Abbild wird bereitgestellt
[==========================100.0%==========================]
Der Vorgang wurde erfolgreich beendet.

Nun ist man soweit, dass man mit dem Bearbeiten beginnen kann.
Es gibt eine Vielzahl von Möglichkeiten. Software hinzufügen oder entfernen, Updates integrieren, Voreinstellungen verändert... Ich zeige hier nur, wie Treiber hinzugefügt werden können.

Die Treiber müssen bei diesem Weg entpackt vorliegen, es sind also *.inf, *.cat und *.sys Dateien.
In diesem Beispiel liegen die entpackten Treiber im Verzeichnis d:\drivers in einem Unterordner.

# dism /Image:d:\win10\mount /Add-Driver /Driver:d:\drivers /Recurse /ForceUnsigned

Tool zur Imageverwaltung für die Bereitstellung
Version: 10.0.18362.1

Abbildversion: 10.0.19041.264

Suche nach zu installierenden Treiberpaketen...
Anzahl der zu installierenden Treiberpakete: 5.
1 von 5 - d:\drivers\Globetrotter HSUPA-Modem\gthsmdm_64.inf wird installiert: Das Treiberpaket wurde erfolgreich installiert.
2 von 5 - d:\drivers\Globetrotter HSUPA-Modem\gthsndis_64.inf wird installiert: Das Treiberpaket wurde erfolgreich installiert.
3 von 5 - d:\drivers\Globetrotter HSUPA-Modem\gthssc_64.inf wird installiert: Das Treiberpaket wurde erfolgreich installiert.
4 von 5 - d:\drivers\Globetrotter HSUPA-Modem\gthsser_64.inf wird installiert: Das Treiberpaket wurde erfolgreich installiert.
5 von 5 - d:\drivers\Globetrotter HSUPA-Modem\gthsubus_64.inf wird installiert: Das Treiberpaket wurde erfolgreich installiert.
Der Vorgang wurde erfolgreich beendet.

Durch die Option /Recurse wird das angegebene Verzeichnis in allen Ebenen nach Treibern durchsucht und diese hinzugefügt. Soll nur ein einzelner Treiber hinzugefügt werden, kann auch explizit nur der Pfad zur jeweiligen *.inf Datei angegeben werden.
Mit der Option /ForceUnsigned können auch unsignierte Treiber, wie sie gerade bei ein wenig älterer Hardware vorkommen, installiert werden.

Wenn man möchte, kann man sich den Erfolg des hinzufügen noch einmal detailliert anzeigen lassen.

# dism /Image:d:\win10\mount /Get-Drivers

Tool zur Imageverwaltung für die Bereitstellung
Version: 10.0.18362.1

Abbildversion: 10.0.19041.264

Liste der Treiber von Drittanbietern wird aus dem Treiberspeicher abgerufen...

Treiberpaketauflistung:

Veröffentlichter Name : oem0.inf
Originaldateiname : gthsmdm_64.inf
Windows-intern : Nein
Klassenname : Modem
Anbietername : Option
Datum : 13.05.2009
Version : 5.0.26.0

Veröffentlichter Name : oem1.inf
Originaldateiname : gthsndis_64.inf
Windows-intern : Nein
Klassenname : Net
Anbietername : Option
Datum : 13.05.2009
Version : 5.0.26.0

Veröffentlichter Name : oem2.inf
Originaldateiname : gthssc_64.inf
Windows-intern : Nein
Klassenname : SmartCardReader
Anbietername : Option
Datum : 13.05.2009
Version : 5.0.26.0

Veröffentlichter Name : oem3.inf
Originaldateiname : gthsser_64.inf
Windows-intern : Nein
Klassenname : Ports
Anbietername : Option
Datum : 13.05.2009
Version : 5.0.26.0

Veröffentlichter Name : oem4.inf
Originaldateiname : gthsubus_64.inf
Windows-intern : Nein
Klassenname : USB
Anbietername : Option
Datum : 13.05.2009
Version : 5.0.26.0

Der Vorgang wurde erfolgreich beendet.

Die einzelnen Treiber werden jeweils als oem[N].inf ins System eingebunden, für ihre Funktion spielt das jedoch keine Rolle.

Hat man die Bearbeitung abgeschlossen, kann man die install.wim wieder unmounten. Dies dauert wieder einen kleinen Moment.

# dism /Unmount-Image /MountDir:d:\win10\mount /Commit

Tool zur Imageverwaltung für die Bereitstellung
Version: 10.0.18362.1

Abbild wird gespeichert
[==========================100.0%==========================]
Bereitstellung des Abbilds wird aufgehoben
[==========================100.0%==========================]
Der Vorgang wurde erfolgreich beendet.

Nun muss man zunächst, die originale install.esd im Arbeitsverzeichnis löschen und kann im Anschluss aus der angepassten install.wim eine neue install.esd erstellen. Hier von einem kurzen Moment zu reden ist wohl nicht richtig, es dauert ein paar Minuten.

# del d:\win10\install.esd
# dism /Export-Image /SourceImageFile:d:\win10\install.wim /SourceIndex:1 /DestinationImageFile:d:\win10\install.esd /Compress:recovery /CheckIntegrity

Tool zur Imageverwaltung für die Bereitstellung
Version: 10.0.18362.1

Das Image wird exportiert.
[==========================100.0%==========================]
Der Vorgang wurde erfolgreich beendet.

Zuletzt wird die angepasste install.esd auf den Windows 10 USB-Stick kopiert.

# copy /y d:\win10\install.esd h:\sources
      1 Datei(en) kopiert.

Die Option /y sorgt dafür, dass die auf dem Windows 10 USB-Stick vorhandene install.esd kommentarlos überschrieben wird.