Jedes IoT Device benötigt ein Betriebssystem, um zu funktionieren. Für viele Betriebssysteme sind Updates essentiell, um die Sicherheit und Stabilität zu gewährleisten. In unserem Fall handelt es sich um Windows 10 IoT Enterprise, welches aktuelle Updates beinhalten soll. Bei der Verwendung des Microsoft Deployment Toolkit (MDT) sind wir beim Einbinden der Updates auf einige Schwierigkeiten gestoßen.
Mit MDT kann man über “Import OS Packages” die nötigen Updates einbinden und diese automatisch über einen “Standard Client Task Sequence”-Task installieren lassen. Leider gab es immer wieder Probleme die Updates während des Deploymentvorgangs zu installieren. Erschwerend kam hinzu, dass das Einspielen der Updates in dieser Phase sehr viel Zeit in Anspruch nahm.
Um diese Probleme zu umgehen, haben wir uns entschlossen, die Installation der Updates nicht während des Deployments durchzuführen, sondern die Updates bereits im auszurollenden Image bereitzustellen. Hierzu wird das in Windows integrierte Werkzeug DISM (Deployment Image Servicing and Management) verwendet.
Zu Vorbereitung müssen die benötigen Updates aus dem Microsoft Update Catalog heruntergeladen werden. Da die Updates direkt in die WIM-Datei eingespielt werden, empfiehlt es sich, eine Sicherung der WIM-Datei zu erstellen.
Hat man DISM, die Updates sowie das WIM nun zur Stelle, so gestaltet sich die Installation sehr einfach.
Zuerst wird eine Kommandozeile als Administrator ausgeführt. Wie das geht, finden Sie hier: 8 Ways To Open Command Prompt As Administrator In Windows 10 (intowindows.com).
Danach benötigen Sie folgenden Befehle:
- DISM /Mount-Wim /WimFile:C:\TempMount\install.wim /Index:1 /MountDir:C:\TempMount\Mount
- DISM /Image:C:\TempMount\Mount /Add-Package /PackagePath:C:\Updates\Update_XY.msu
- DISM /Unmount-Wim /MountDir:C:\TempMount\Mount /Commit
In Schritt 1 wird die Image-Datei (C:\TempMount\Install.wim) in ein temporäres Arbeitsverzeichnis (C:\TempMoun\Mount) geladen. Anschließend wird ein Update (C:\Updates\Update_XY.msu) in das Image eingespielt (Schritt 2). In Schritt 3 wird die Image-Datei wieder entladen und alle Änderungen übernommen.
Hinweis 1: Sollen mehrere Updates in das Image eingespielt werden, so können diese in Schritt 3 durch mehrfaches Nutzen des Schalters /PackagePath angegeben werden. Da die Reihenfolge beim Einspielen der Updates von Bedeutung ist, werden diese in der angegebenen Reihenfolge in das Image eingespielt.
Hinweis 2: Sollte es Probleme mit dem Laden und Entladen von Images geben, so kann der Befehl DISM /Cleanup-Wim helfen, wieder einen sauberen Arbeitszustand herzustellen.
Dadurch lässt sich das Image schneller deployen, da keine Installation mehr notwendig ist. In unseren Fall gab es eine Reduktion von ca. 90 Minuten. Zu beachten ist, dass die WIM-Datei nach diesem Vorgang etwas größer ist. Passend dazu schauen wir uns im nächsten Teil dieser Blogserie an, wie man Bootsticks für UEFI mit großen Image-Dateien erstellt.
Haben Sie Ideen für IoT Lösungen auf der Edge oder in der Cloud? Wir unterstützen Sie gerne bei der Planung und der Umsetzung Ihrer Lösung. Mit unserem Baukastensystem AIT Smart Edge (aitgmbh.de) ermöglichen wir es Ihnen, schneller zu einem ersten Produkt zu gelangen, damit Sie möglichst schnell einen Mehrwert für Ihre Kunden schaffen können.