Einrichten der Arbeitsumgebung / Tools

Zu Beginn sollte man sich mal die Arbeitsumgebung vorbereiten auf der alle meine Anleitungen aufbauen. 

 

Meine Arbeitsumgebung:

  1. Verwaltungs / Administrations PC: Windows 10 / 1809 / Build 17763-195
    ADK Installation: Downloaddatei vom 03.01.2019
  2. Referenz PC: Installation mit den Standardinstallationsdateien von Windows 10_1809 / Download über Media CreationTool
    ReferenzPC läuft am Verwaltungs / Administrations PC unter HyperV.
    Die virtuelle Maschine wurde als "Generation2" Maschine erstellt, der "sichere Start" wurde in den HyperV Eigenschaften deaktiviert. Die virt. Maschine läuft im "Erweiterten Sitzungsmodus".

Diese Anleitung ist, wie oben erwähnt, auf meine Arbeitsumgebung angepasst. Man kann sich auch eine andere Umgebung schaffen, um mit dieser Anleitung arbeiten zu können macht es aber Sinn alles so einzurichten wie ich das gemacht habe. Darum hier mal alle Schritte die nötig sind um die Arbeitsumgebung zu erstellen die ich verwendete habe sowie Anleitungen zu allen Dingen die man braucht und schon vorab erstellen sollte.

Wichtig: 

  • Die in der Anleitung gelb geschriebenen Bereiche im cmd Fenster sind Eingaben die man durchzuführen hat so man meine Anleitung nachklicken will.
  • Wenn man, wie ich ich das mache, mit einem Standarduserkonto am PC arbeitet müsst ihr alle Tools aus dem ADK  immer mit admin. Rechten starten sonst kommts zu Problemen.
  • Es gibt Dinge die mit alten Versionen des Windows Assessment and Deployment Kit (ADK) , so z.B. mit der Version für Win10_1803 (und früher), NICHT funktionieren wie von mir gezeigt. Also unbedingt darauf achten auch wirklich das ADK für Win10_1809 runterzuladen.

 


 

Folgende Dinge braucht man damit man die gesamte Anleitung durcharbeiten kann. Einige dieser Dinge werden im Zuge der Anleitung installiert / konfiguriert, einige Dinge sind vorab zu machen - z. B. Die Hyper-V Installation.

  • Man braucht einen Rechner auf dem man alles abarbeitet, dieser PC wird  als "Verwaltungs/Administrations PC" bezeichnet. In meinem Fall läuft der Rechner unter Win10Pro_v1809. 
     
  • Die Ordnerstruktur die ich verwende muss angelegt werden, dazu hab ich zuerst einen Ordner c:\#HyperV erzeugt und diesen per Freigabe im Netzwerk verfügbar gemacht, die restlichen Ordner auf die diese Anleitung aufbaut sind im ersten der folgenden Bilder zu sehen. Außerdem muss der "Windows Assessment and Deployment Kit für Windows 10 version 1809" installiert werden. Die Windows Assessment and Deployment Kit (ADK) Installation ist recht simpel, einfach alles nachklicken wie gezeigt.
    • ADK_000
    • ADK_001
    • ADK_002
    • ADK_003
    • ADK_004
    • ADK_005
    • ADK_006
    • ADK_007
    • ADK_009
    • ADK_010
    • ADK_011
    • ADK_012
    • ADK_013
    • ADK_014
    • ADK_015
    • ADK_016
    • ADK_017
    • ADK_018
    • ADK_019

     
  • Am Verwaltungs/Administrations PC muss Hyper-V installiert sein (bzw. ein anderes Programm zur Virtualisierung von Pcs). Die Installation von Hyper-V / eurem Wunsch-Virtualisierer beschreibe ich hier nicht - das sollte jeder selber hinbekommen. Ein Datenaustausch zwischen dem Virtualisierungsprogramm / den virt. Maschinen und dem Verwaltungs/Administrations PC muss machbar sein. Unter HyperV läuft das über ein sogenanntes virt. Netzwerk, dies ist vorab einzurichten.
     
  • Die Standard Windows 10 v1809 SetUp Dateien müssen verfügbar sein, ich gehe in der Anleitung davon aus das die Dateien in einem ISO File bereitstehen welches direkt in Hyper-V verwendet werden kann. Diese iso-Datei kann man sich mit dem MediaCreationTool direkt bei Microsoft downloaden. 
     
  • Eine install.wim Datei muss vorhanden sein. Wer sich die Windows Setupdateien per MediaCreationTool geholt hat muss die so besorgte iso Datei entpacken und findet dann im Ordner "sources" eine install.esd Datei und blöderweise eben KEINE install.wim Datei. Diese install.esd Datei beinhaltet die selben Dinge wie eine install.wim, ist allerdings komprimiert und kann in dieser Form im Zuge dieser Anleitung nicht direkt verwendet werden. Gibt es nur die install.esd Datei kopiert man diese mal nach c:\#deploy\sources, wie man aus einer install.esd eine install.wim erzeugt erkläre ich weiter unten.
     
  • WinPE Bootmedium. Im ADK ist ein Script enthalten das einem hilft ein WindowsPE Bootmedium zu erstellen - wie man das macht erkäre ich weiter unten. Dieses Bootmedium enthält (fast) alle Tools die man später braucht um einen Referenz-PC "aufzuzeichnen" bzw. um ein vorhandenes install.wim File zu bearbeiten. Dieses WindowsPE Bootmedium erstelle ich ebenfalls als iso File da ich dann davon direkt meine virt. Maschine (also den ReferenzPC) starten kann. (Hyper-V kann nicht von USB Sticks booten). Auch habe ich dieses Bootmedium ein wenig an meine Erfordernisse angepasst. Es gibt die Möglichkeit Bootmedien für die Architekturen x86 und x64 zu erstellen wobei in dieser Anleitung immer von einer x64 Architektur ausgegangen wird. 

 


 

Wenn die oben gezeigte Ordnerstruktur angelegt wurde und das ADK installiert ist   gehts nun mit etwas Tiparbeit los, das Erstellen und anpassen der WindowsPE Umgebung auf Kommandozeile ist durchaus etwas mühsam und hier passieren auch schnell (Tip)Fehler bzw. gibts viel zu tun, viele Optionen und Möglichkeiten. Auch gibts hier ein paar Gemeinheiten die man berücksichtigen muss.....


Zuerst startet man am Verwaltungs / Administrations PC die "Umgebung für Bereitstellungs und Imageerstellungstools" WICHTIG !!! mit administrativen Rechten. Nun erstellt man auf Basis eines im ADK enthaltenen Scripts mit dem Namen "copype.cmd"  alles was es braucht um mit WinPE arbeiten zu können, hier wird alles generiert was es braucht um eine WinPE Umgebung zu erzeugen / zu bearbeiten. Dieses Arbeitsverzeichnis wird innerhalb der oben erstellten Ordnerstruktur unter c:\#deploy erstellt. Der Vorgang wird im den folgendem Bild gezeigt und verläuft eigentlich immer problemlos, Eingaben die zu machen sind sind in den Bildern gelb markiert. Nachdem das Script fertig ist gibt es in der zuvor oben erzeugten Ordnerstruktur einen neuen Order mit dem Namen "WinPE".

  • copypecmd

 

Scripterklärung:

"copype.cmd" = der Scriptname des Scripts das über die ADK Installation auf den Verwaltungs/Administrations PC gelangt ist.
"amd64"
= Name der vorhandenen Ziel-Architektur (entweder "x86" oder "amd64", bei mir immer 64bit da es aktuell ja eigentlich eh nur mehr 64bit CPUs gibt). Wobei hier wichtig ist das man versteht das "amd64" NICHTS mit AMD zu tun hat, das man also auch bei einer 64bit Intel CPU auf den Zielsystemen "amd64" auswählen muss. "amd64" bedeutet nur "64bit".
"c:\deploy\WinPE" = das gewünschte Zielverzeichnis für die Ordnerstruktur die das Script dann anlegt.

 

Im Zuge der Anleitung kann es vorkommen das man ein Tool mit dem Namen "imagex.exe" innerhalb der WinPE Umgebung braucht, darum kopiere ich das Tool immer gleich mit in die WinPE Files. Standardmäßig ist dieses Tool nicht Teil von WinPE - darum ist ein manuell kopieren notwendig. Der nötige Befehl sieht aus wie folgt: copy "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\imagex.exe" c:\#deploy\WinPE\amd64\media

 

Im nächsten Schritt gehts nun darum das winPE Bootimage das später für das Aufzeichnen des ReferenzPcs verwendet werden soll auf deutsch umzustellen - standardmäßig ist das WinPE nämlich auf Englisch eingestellt. Dieser Schritt muss nicht zwingend gemacht werden, es erleichtert die spätere Arbeit mit dem erzeugten WindowsPE aber erheblich - darum mache ich das immer und ich kann nur jedem empfehlen dies ebenfalls zu tun. Die Basis für das spätere WindowsPE ist die Datei boot.wim, diese muss man nun bearbeiten. Um dies tun zu können muss man diese Datei innerhalb unserer oben erzeugten Ordnerstruktur "bereitstellen", dieser Vorgang wird auch als "mounten" bezeichnet. Die folgenden Bilder zeigen nun wie man das boot.wim File "verwendbar" macht - also "mounted", wie man dann die aktuell verwendete Sprache rausfindet, wie man Deutsch als Sprache nachinstalliert und festlegt und wie man diese Änderungen dann abspeichert. Unter den Bildern sind die Befehle in Textform, zum Rauskopieren, zu finden - das erspart doch etwas Tiparbeit.

  • sprache01
  • sprache02
Verwendete Befehle:

  • dism /mount-wim /wimfile:c:\#deploy\WinPE\amd64\media\sources\boot.wim /index:1 /mountdir:c:\#deploy\dismmount
  • dism /image:c:\#deploy\dismmount /get-intl
  • dism /image:c:\#deploy\dismmount /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\de-de\lp.cab"
  • dism /image:c:\#deploy\dismmount /set-allintl:de-DE
  • dism /image:c:\#deploy\dismmount /get-intl
  • dism /unmount-wim /mountdir:c:\#deploy\dismmount /commit


 

Bis hier her hab ich mal beschrieben was es zwingend im WinPE braucht, nun beschreibe ich ein paar Dinge die man optional machen kann, es geht dabei darum das WinPE mit zusätzlichen Funktionen zu versehen die man später vielleicht mal brauchen kann. Ich integriere alle diese Funktionen eigentlich immer - sind diese im WinPE enthalten und man braucht sie so freut man sich wenn man nicht erneut ein WinPE erzeugen muss. Und braucht man sie nicht ist es auch egal - die zusätzlichen Funktionen "schaden" dem WinPE nicht, es macht also nix wenn man diese Dinge zusätzlich anpasst / installiert.

 

Option 1: Verbinden eines Netzlaufwerks zum "Verwaltungs/Administrations PC"
Da mein ReferenzPC später mit HyperV laufen wird muss ich das Image das ich später erzeugen werde irgendwo im Netz speichern. Ich speichere es direkt am "Verwaltungs/Administrations PC", dieser ist aus einer HyperV Maschine aber "nur" über das Netzwerk erreichbar. Darum lasse ich schon beim Start von WinPE ein Netzlaufwerk zum "Verwaltungs/Administrations PC" aufbauen - und zwar automatisch. Das boot.wim File muss dafür erneut gemounted werden, beinhaltet die Datei "startnet.cmd", in dieser kann man div. Befehle hinterlegen, so auch den Befehl ein Netzlaufwerk automatisch zu verbinden. Damit das auch klappt muss man vorab natürlich am "Verwaltungs/Administrations PC" eine entsprechende Freigabe einrichten. 

  • startnet

Verwendete Befehle:

  • dism /mount-wim /wimfile:c:\#deploy\WinPE\amd64\media\sources\boot.wim /index:1 /mountdir:c:\#deploy\dismmount
  • notepad.exe C:\#deploy\dismmount\Windows\System32\startnet.cmd
  • dism /unmount-wim /mountdir:c:\#deploy\dismmount\ /commit

 

Option 2: PowerShell Integration
Es ist wohl anzunehmen das der PowerShell die Zukunft gehört. Ohne PowerShell nutzt man zum Aufzeichnes des ReferenzPcs in ein wim-File das Befehlszeilentool "DISM". Eine Version von DISM als PowerShell-Version gibt es auch für WinPE. Dieses "PowerShell DISM" ist aber standardmäßig nicht Bestandteil von WinPE. Da ich in Zukunft vermehrt auf die PowerShell setzen möchte habe ich mich entschlossen gleich vorab alles was nötig ist um mit DISM / PowerShell arbeiten zu können in mein Image aufzunehmen. Also beschreibe ich hier wie man die nötigen Packete in das gemountete Image einbindet. Unter dem Bild sind wieder die verwendeten Befehle zu finden, diese müssen in genau der Reihenfolge ausgeführt werden wie ich das abgebildet habe.

  • packageinstall01
  • packageinstall02
 

Verwendete Befehle:

  • dism /mount-wim /wimfile:c:\#deploy\WinPE\amd64\media\sources\boot.wim /index:1 /mountdir:c:\#deploy\dismmount
  • dism /image:c:\#deploy\dismmount /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WMI.cab"
  • dism /image:c:\#deploy\dismmount /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-NetFx.cab"
  • dism /image:c:\#deploy\dismmount /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-Scripting.cab"
  • dism /image:c:\#deploy\dismmount /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-PowerShell.cab"
  • dism /image:c:\#deploy\dismmount /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-DismCmdlets.cab"dism /unmount-wim /mountdir:c:\#deploy\dismmount /commit

 

Wir haben nun ein boot.wim File das auf deutsch umgestellt istt und in welches das Tool "imagex.exe" integriert ist, außerdem wurde alles was für Dism und PowerShell unter WinPE nötig ist in die boot.wim integriert. Zusätzlich wurde die boot.wim dahingehend bearbeitet das bei einem Rechnerstart über die boot.wim automatisch ein Netzlaufwerk v: nach \\PCName\Freigabename verbunden wird.

Dieses boot.wim File muss man nun in eine nutzbare Form bringen, man muss daraus nun ein funkionierendes WindowsPE erzeugen von welchem man dann seinen ReferenzPC starten kann um von diesem ein Abbild, ein install.wim, zu erzeugen. Man kann nun einen USB Stick erzeugen oder eine DVD erstellen, ich erstelle eine iso Datei da ich diese direkt in Hyper-V nutzen kann um den ReferenzPC in die WinPE Umgebung zu starten. Folgender Befehl erstellt aus den Files in der Ordnerstruktur c:\deploy\WinPEboot\amd64 in eine fertige WindowsPE Umgebung in Form einer bootfähigen iso Datei.

Im ADK vom Jänner 2019 scheint das Script makewinpemedia.cmd wohl ein Problem zu haben aus meiner Ordnerstruktur c:\#deploy\WinPE\amd64 ein iso File zu erzeugen. Aus mir nicht ganz klaren Gründen muss man vor Ausführung des Scripts den Ordner von c:\#deploy\WinPE nach c:\ kopieren. Führt man das Script nun aus erhält man als Ergebnis unter c:\#deploy\ ein Iso File mit dem Namen "WinPE.iso", sieht aus wie folgt, Befehl zum Kopieren gibts wieder nach dem Bild zu sehen.

  • makepemedia

 

Verwendete Befehle:

  • makewinpemedia.cmd /ISO /f c:\WinPE\amd64 c:\#deploy\WinPE.iso

 

Das erzeugte WinPE liegt nun, in Form eines iso Files, in unserer zuvor erzeugten Ordnerstruktur unter c:\#deploy. Dieses iso File ist nun bootfähig und kann verwendet werden um den virtuellen Referenz-PC zu starten und mit dem Tool DISM aufzuzeichnen - wie man das macht beschreibe ich weiter hinten in dieser Anleitung. Für den Test des Iso Files erzeugt man nun einfach eine neue virtuelle Maschine (oder verwendet eine bereits vorhandene VM) und startet dieser von eben diesem Iso File. Dazu bindet man das Iso File in den Eigenschaften der VM als DVD Laufwerk ein und stellt die Startoptionen der virt. Maschine so ein das diese zuerst den Start von DVD versucht. Die folgenden Bilder zeigen wie das fertige Ergebnis nun aussehen sollte so man eine VM von dem angepassten Iso File startet. Wenn das soweit klappt kann die virt. Maschine beendet werden, das Iso macht was es soll,funktioniert und ist bereit im Laufe der Anleitung auch eingesetzt zu werden.

  • HyperVKonfig
  • isoStart_01
  • isoStart_02
  • isoStart_03
  • isoStart_04
  • isoStart_05

 

Option3: Bootfähiger USB Stick auf Basis des oben erstellten WinPE
In der Beschreibung ging ich bisher davon aus das der ReferenzPC auf Basis einer virtuellen Maschine betrieben wird, macht so auch Sinn und den ganzen Vorgang der ReferenzPC Aufzeichnung auch einfacher - ein Muss ist diese Vorgehensweise aber nicht. Man kann seinen ReferenzPC durchaus auch auf Basis eines echten Hardwaregerätes erstellen. Dazu ist es dann nötig dieses Hardwaregerät mit dem oben erstellen WinPE zu starten.
Oben wird aber nur beschrieben wie man aus den WinPE Files ein Iso File für die Verwendung unter HyperV erzeugt - nun gehts darum auf Basis dieser Files einen bootfähigen USB-Stick zu erstellen den man verwenden kann um einen "echten" Hardware-ReferenzPC in ein Image aufzuzeichnen.

Zuerst entpackt man mal das WinPE.iso File, ich mach das mit "7Zip", man kann es aber wohl mit jedem Zipprogramm machen. Entpackt ergibt sich ein Ordner mit einer Größe von ca. 460MB, man braucht also nun einen USB Stick der groß genug ist um den Inhalt dieses Ordners aufzunehmen. Den Stick steckt man dann auf seinem Verwaltungs/Administrations PC an, danach startet man wieder die "Umgebung für Bereitstellungs und Imageerstellungstools" mit admin Rechten und bereitet den Stick dann für die Aufnahme der WinPE Files vor. Wie es dann weitergeht zeigen die beiden folgenden Bilder.
WICHTIG !!! Die Laufwerksbuchstaben sind auf jedem PC etwas anders, also genau schauen und nicht "blind" meine Angaben übernehmen !!!

  • phybootstick01
  • phybootstick02

Der USB Stick ist nun bootfähig (aber noch leer) und kann mit den Dateien des weiter oben entpackten WinPe Iso Files beladen werden, man braucht die Daten nur über den Explorer auf den Stick kopieren. Mit diesem Stick ist man nun in der Lage seinen physikalischen ReferenzPC zu starten und die auf dem Stick vorhandenen Tools zu nutzen. Übrigens ist dieser WinPE Boot Stick perfekt dafür geeignet irgendwelche Uralt-USB Sticks "aufzuarbeiten" da der benötigte Speicherplatz für die von mir beschriebene WinPE Version unter 500MB liegt - trotz der Installtion div. Zusatzpakete.

Mit den Schritten zum Thema WinPE ist man an dieser Stelle nun mal fertig......

 


 

Wenn man sich die Win10 Installationsdateien über das MediaCreationTool, also per Download, besorgt hat ist man leider noch nicht ganz fertig mit der Erstellung der Arbeitsumgebung. Man muss noch aus dem install.esd File (liegt in den Installationsdateien unter sources\install.esd) ein install.wim File machen. Dies ist zwingend nötig da WSIM, ein Tool das ich später einsetzen werde, nicht mit dem install.esd File arbeiten kann sondern ein install.wim File fordert. Wer bereits eine install.wim Datei hat kann diesen Teil ebenfalls überspringen da er die vorhandene Datei im WSIM verwenden kann. 

Indem man den Inhalt (also die einzelnen Windows Versionen die im install.esd File vorhanden sind)  aus dem install.esd File in ein neues install.wim File exportiert erhält man ein neues File, nämlich das install.wim File das ich zwingend brauche. Dieser Vorgang wird mit einem Tool gemacht das im bereits installiertem ADK enthalten ist, dieses Tool nennt sich DSIM. Mein install.esd liegt im Ordner deploy\sources, hier wird dann auch das neu erstellte install.wim File abgelegt.

Das erste der folgenden Bilder zeigt nun wie ich ein vorhandenes install.esd File auf seinen Inhalt überprüfe, ich lasse alle enthaltenen Betriebssystemversionen auflisten und beginne mit dem Export des ersten Images. Es ist auch schön zu sehen das es im install.esd 6 Images gibt. Da mein "MultiWindowsBoot USB-Stick" alle Win10 "Privatnutzerversionen" enthalten soll exportiere ich alle im esd File enthaltenen Versionen in eine neue install.wim Datei. Gemacht wird dies immer mit dem selben Befehl wie beim Export des ersten Images, bei jedem weiteren Image wird einfach die nächsthöhere Indexnummer verwendet. Beim ersten Exportvorgang dauert die Sache recht lange, die Exporte der weiteren Versionen gehen dann wesentlich schneller.

  • esdwim01
  • esdwim02

Verwendete Befehle:

  • dism /get-wiminfo /wimfile:c:\#deploy\sources\install.esd
  • dism /export-image /sourceimagefile:c:\#deploy\sources\install.esd /sourceindex:1 /destinationimagefile:c:\#deploy\sources\install.wim /compress:maximum  ACHTUNG: die Indexnummern müssen angepasst werden

 


 

Folgende Dinge sollten nun am  "Verwaltungs/Administrations PC" vorhanden sein.

  • das "Windows Assessment and Deployment Kit for Windows 10" ist installiert
  • die Ordnerstruktur c:\#deploy ist vorhanden
  • unter c:\#deploy liegt das anpepasste WinPE.iso File
  • unter c:\#deploy\div liegen die Windows 10 Installationsdateien in Form eines iso Files das man sich über das MediaCreationTool per download besorgt hat
  • unter c:\#deploy\sources liegt ein install.esd File welches man aus den Windows10 Installationsdateien die man gedownloaded hat raus kopiert hat
  • unter c:\#deploy\sources liegt eine install.wim Dateien die man, wie weiter oben beschrieben, auf Basis des install.esd Files erzeugt hat
  • ein Virtualisierungsprogramm ist verfügbar, in meinem Fall Hyper-V

 

Nun kann damit begonnen werden den Referenz-PC zu installieren. Dazu im nächsten Abschnitt mehr.....

 


 

Kommentare  

 
0 # David 2020-10-08 07:10
beim ausführen Befehl Optional für PowerShell:

dism /image:c:\#depl oy\dismmount /add-package /packagepath:"C :\Program Files (x86)\Windows Kits\10\Assessm ent and Deployment Kit\Windows Preinstallation Environment\amd 64\WinPE_OCs\Wi nPE-DismCmdlets .cab"dism /unmount-wim /mountdir:c:\#d eploy\dismmount /commit

bekomme ich Fehler 87
Antworten | Antworten mit Zitat | Zitieren
 
 
0 # Klaus 2020-10-22 09:40
Da fehlt li-Tag,
Ab dism beginnt ein neues Kommando.
Antworten | Antworten mit Zitat | Zitieren
 
 
0 # Thomas 2021-07-08 21:47
Hi. Ich bekomme bei

dism /image:c:\#depl oy\dismmount /add-package /packagepath:"C :\Program Files (x86)\Windows Kits\10\Assessm ent and Deployment Kit\Windows Preinstallation Environment\amd 64\WinPE_OCs\Wi nPE-DismCmdlets .cab"dism /unmount-wim /mountdir:c:\#d eploy\dismmount /commit

auch den Fehler 87. Wie wäre denn die Syntax mit dem li-Tag?
Antworten | Antworten mit Zitat | Zitieren