Microsofts Betriebssystem “Windows” ist heute nicht nur ein Betriebssystem,
sondern auch eine riesige Ansammlung von Code aus vergangenen Tagen.
Das System soll uns garantieren, dass uralte Programme mit lange überholten
Schnittstellen ebenso noch laufen, wie die neueste modernste App.
Daher kennen wir Windows nur von einer großen Installation auf der Festplatte, wo anfangs 10 Gigabyte und später immer mehr Speicher für die vielen Komponenten und Updates benötigt werden.
Doch der Windows Kern ist dagegen überschaubarer und viel kleiner. Lässt man die ganzen alten Kompatibilitätscodes und Anwenderprogramme weg, dann erhält man:
Das “Preinstallation Environment”, kurz PE ist ein kleiner Mini-Windows Kern, der nur die nötigsten Schnittstellen und einige Standard-Treiber beinhaltet.
Es passt daher mit zwischen 100 und 300 Megabytes locker auf eine CD oder USB Stick.
Normalerweise dient Windows PE vor allem für die Abwickelung einer gewöhnlichen Windows Installation. Man bootet Windows PE von einer DVD oder einem USB Stick und von dort aus wird ein Standard-Windows Image auf die Festplatte kopiert.
Wir können aber aus diesem Mini-Windows unser eigenes kleines angepasstes
Betriebssystem machen.
Darauf werden zwar keine großen Anwendungen wie Office oder Datenbankserver
laufen (diese brauchen eben doch ein vollständiges Windows), aber wir
können kleinere Programme wie Browser, Netzwerk- oder Reparatur-Tools
meist ohne Probleme damit betreiben.
Viele üblichen Windows Tools benutzen Windows PE für Operationen, die in einem normalen Windows nicht möglich sind.
Windows PE kann man nicht “im Laden” kaufen, sondern seine Komponenten sind Teil des “Assessment und Deployment Kit”, kurz ADK.
Dort befinden sich das Basis-Image und noch einige weitere Bestandteile, die man in das kleine Windows-Image integrieren oder weglassen kann. Beispiel: dotNet Framework oder Scripting-Unterstützung.
Nutzen darf man das ADK und Windows PE nur, wenn man eine normale
Windows Lizenz für ein vollständiges Windows gekauft hat.
Es ist also nicht erlaubt, das kleine Mini-Windows bei Bekannten oder
seinen Kunden für die tägliche Arbeit zu nutzen.
Man darf es aber parallel zum Experimentieren oder für analytische Zwecke privat nutzen.
Windows PE arbeitet im Normalfall mit einem RAM-Abbild anstatt mit
der Festplatte.
Weil dieses Windows klein genug ist, werden alle Dateien beim Booten
in den Speicher geladen und über das virtuelle RAM-Laufwerk “X:"
bereitgestellt und nicht unter “C:" wie bei einer normalen Windows Installation.
Das bedeutet auch, dass Änderung an diesem Windows mit dem nächsten Neustart verloren gehen, weil die Daten alle im RAM liegen und nicht automatisch auf das Bootmedium zurückgeschrieben werden.
Wenn man aber Dokumente und Dateien auf z.B. einem USB Stick ablegt, überleben diese natürlich den Neustart und somit eignet sich PE durchaus auch als Notfallsystem, mit dem auch Online arbeiten kann.
Hardwareseitig werden viele Basistreiber und Kernfunktionen eines PCs durch Windows PE betrieben. Neben Grafik, Festplatte und Netzwerk, kann man auch weitere Treiber integrieren.
Es fehlt jedoch an speziellen Programmen, die erweiterte Hardware ansteuern
können. z.B.: Bluetooth, Audio oder andere Multimedia-Geräte.
Vor allem ist es durchaus schwierig deren Treiber in das System zu integrieren
und braucht eine Menge Fachwissen dafür.
Daher ist es sinnvoll sich nur auf rudimentäre Aufgaben zu beschränken.
Windows PE kann übrigens entweder als 32-bit oder als 64-bit System genutzt werden, doch man kann nicht wie in einem normalen Windows mit einem 64-bit System auch 32-bit Programme nutzen. Hier muss man sich im Vorfeld entscheiden kann dann etweder nur 32-bit oder nur 64-bit Anwendungen einsetzen.
Kurz zusammengefasst, sieht der Ablauf in etwas so aus.
copype
Script wird ein neues PE-Image in einem Verzeichnis angelegtdism
mountet das PE WIM-Image in ein temporäres Verzeichnisdism
werden zusätzlich Komponenten integriert (dotNet, WMI, Scripting)dism
können weitere Treiber für Netzwerk oder Grafik integriert werdendism
wieder in die WIM-Datei zurückgespeichert.makewinpemedia
Script wird entweder eine ISO-Datei (für CDs) oder
der USB-Stick mit dem fertigen Windows PE aufbereitet.Der nachfolgende Erstellungsprozess setzt Windows 10 voraus. Viele Schritte sind auch unter Windows 8, teilweise auch unter Windows 7 durchführbar, jedoch können einzelne Schritte von der beschriebenen Prozedur abweichen.
Nach dem Download des Windows ADK in einer möglichst neuen Version (ich empfehle Windows 10 und neuer) wird dessen Installation gestartet. Hier muss man darauf achten, dass der Punkt “Preinstallation Environment” bzw. “Bereitstellungsumgebung und/oder -werkzeuge” mit installiert werden.
Danach befinden sich alle erforderlichen Dateien im Verzeichnis
C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment
sofern bei der Installation dieser Standard-Pfad nicht abgeändert wurde.
Im Startmenü sollte sich auch der Punkt “Umgebung für Bereitstellungs- und Imageerstellungstools” auffinden lassen.
Dieser sollte als Administrator gestartet werden, womit man eine
cmd.exe
Konsole erhält, in welcher alle erforderlichen Pfade für
Windows PE vorkonfiguriert sind.
Aus dem Verzeichnis in der zuvor geöffneten Konsole sollte man zuerst in das
PE-Verzeichnis wechseln, und zwar per
cd "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment"
Hier liegt nämlich das Script copype
, mit welchem die wichtigsten PE-Dateien
für ein neues Image in ein neues Arbeits-Verzeichnis zusammenkopiert werden können.
Das Script kann entweder ein 32-bit Image (x86) oder ein 64-bit Image (amd64) erstellen. Ich wähle her stets 32-bit, weil es auch heute jede Software als 32-bit Version gibt, während nicht immer ein 64-bit Zwilling existiert.
Nennen wir daher unser Arbeitsverzeichnis einfach pe-x86
und führen daher
den Befehl
copype x86 c:\pe-x86
aus.
Das Script kopiert die Boot-Dateien und das Basis-Image namens boot.wim
in
das Unterverzeichnis c:\pe-x86\media
und c:\pe-x86\media\sources
Theoretisch könnten wir nun schon ein finales PE-Image fertigstellen, doch diesem würde einige Komponenten fehlen und würde daher viele Anwendungsprogramme nicht ausführen können.
Daher wird das Basis-Image boot.wim
in ein temporäres Verzeichnis “gemountet”,
als sein Inhalt darin bereitgestellt, damit wir es aktualisieren und verbessern
können.
Der Befehl:
dism /Mount-Image /ImageFile:c:\pe-x86\media\sources\boot.wim /Index:1 /MountDir:d:\pe-x86\mount
tut genau das, und nachdem das Kommando abgearbeitet ist, können wir im
Verzeichnis d:\pe-x86\mount
alle Dateien und Verzeichnisse sehen, die im
Basis-Image enthalten sind.
Die angesprochenen fehlenden Komponenten befinden sich im Verzeichnis
C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs
daher sollt man mit
cd C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs
nun dort hin wechseln.
Mit dem Kommando:
dism /Image:c:\pe-x86\mount /Add-Package /PackagePath:XXXXXX.cab
werden nun fehlenden Komponenten aus den CAB Dateien integriert.
Folgende halte ich für essentiell:
WinPE-WMI.cab
WinPE-Scripting.cab
WinPE-NetFx.cab
WinPE-PowerShell.cab
Weitere hilfreiche optionale Komponenten sind:
WinPE-HTA.cab
WinPE-MDAC.cab
WinPE-PPPoE.cab
-Zusätzliche Netzwerkfunktionen für PPP over EthernetWinPE-RNDIS.cab
WinPE-EnhancedStorage.cab
WinPE-FMAPI.cab
WinPE-StorageWMI.cab
Alle gewünschten CAB Dateien werden also der Reihe nach integriert,
wie im Beispiel: dism /Image:c:\pe-x86\mount /Add-Package /PackagePath:WinPE-WMI.cab
Wenn wir damit fertig sind, müssen wir die neuen Komponentenupdates
vom mount
-Verzeichnis wieder in die WIM-Imagedatei zurückübertragen.
Und das erledigt das Kommando:
dism /UnMount-Image /MountDir:c:\pe-x86\mount /commit
Die Dateien von Windows PE sind also fertig, nun wollen wir ein korrektes Boot Medium erstellen:
Dafür nutzen wir wieder in der Konsole das Kommando:
makewinpemedia /iso c:\pe-x86 c:\WinPE10-x86.iso
um eine CD ISO-Image-Datei zu erhalten.
Danach kann die ISO-Datei auf eine CD oder DVD gebrannt werden.
Oder wir nutzen:
makewinpemedia /ufd c:\pe-x86 U:
um das Image auf den USB-Stick mit
Laufwerk U: zu übertragen (Wenn das USB-Laufwerk anders heißen sollte,
muss dies im Kommando natürlich berücksichtigt werden).
Hinweis: Der USB-Stick wird mit dieser Prozedur formatiert und vollständig gelöscht!
Damit ist unser Windows PE Image fertig und kann auf jedem beliebigen Computer getestet werden, der von CD oder USB-Stick booten kann.
Nach dem Start sollte eine Windows Kommandozeile sichtbar werden (cmd.exe
).
Über welche man die wenigen anderen PE-Programme starten kann, wie z.B.:
taskmgr
, der Windows Task-Managernotepad
, der Windows Editor
Wenn wir das Arbeiten in Windows PE erleichtern wollen, können wir ein paar externe Programme in integrieren, die uns Benutzeroberflächen für administrative Aufgaben zur Verfügung stellen.
Einige Anwendungen besitzen so genannte “Portable” Varianten neben den üblichen Installationspakten. Dies “portablen” Programme kopiert man einfach in ein Unterverzeichnis, startet eine EXE und alles läuft. Das ist für uns ein großer Vorteil, da Installationsroutinen von Fremdsoftware unter Windows PE nicht funktionieren.
Fortsetzung folgt