Anpassen von Windows PE für den Start der Installation

    Wir haben nun alle Vorbereitungen getroffen, um unsere Installation zu automatisieren:

    1. Einen DHCP- und TFTPD-Server

    2. Eine Windows PE-Startumgebung

    3. Eine unbeaufsichtigte Windows 7-Installation

    Jetzt müssen alle Teile zusammengeführt werden. Nach dem Booten von Windows PE soll die Windows-Installation automatisch gestartet werden. Wir könnten nun Windows PE so anpassen, dass aus der Startdatei direkt das Windows-Setup aufgerufen wird. In diesem Fall müssten jedoch alle späteren Änderungen wieder in Windows PE, also in der winpe.wim, vorgenommen werden.

    Um zu vermeiden, ständig das Image mounten und unmounten zu müssen, erstellen wir uns das eigentliche Script auf einer Netzfreigabe und starten eben dieses Script von Windows PE aus.

    Zunächst das Startscript:

    Für die Vorbereitung der unattended Installation hatten wir in Schritt 4 bereits eine Netzfreigabe Installfiles erstellt und dort die Installations-DVD in einen Unterordner kopiert. Erstellt nun in 'Installfiles' einen neuen Unterordner cmd. Darin erstellt eine Datei w7install.cmd mit folgendem Inhalt:

    @echo off
    :: Variablen definieren
    for /F %%i in ('chdir') do set _mypath=%%i
    set _installpath=..\W7PRO

    cls
    echo ##################################################################
    echo # Installation Windows 7 Professional
    echo #
    echo # Automatische Installation
    echo #
    echo # ALLE Daten auf der Festplatte werden GELOESCHT!!!
    echo #
    echo #
    echo # www.exilschwaelmer.de
    echo ##################################################################
    echo.
    echo.
    echo.
    set /P _reply=Tippen Sie JA (in GROSSBUCHSTABEN) wenn Sie wirklich fortfahren wollen:

    if %_reply%==JA goto :install

    echo Dann eben nicht ;-(
    echo Erneuter Aufruf der Installationsroutine mit '%0'

    goto :eof

    :install

    echo.
    echo Ok, dann geht's los

    cd %_installpath%

    setup.exe /unattend:Autounattend.xml

    Nun passen wir Windows PE an, damit dieses Script automatisch gestartet wird:

    Es muss natürlich zunächst sichergestellt werden, dass Ihr PE-seitig Zugriff auf das Netzlaufwerk habt. Dazu legt Ihr einen speziellen Installationsuser auf dem Windows-Server an, in diesem Beispiel:

    Name: instuser
    Kennwort: install

    Jetzt öffnet erneut die Konsole von WAIK und mountet das WinPE-Image, diesmal im Schreibmodus:

    imagex /mountrw D:\winpe\winpe.wim 1 D:\winpe\mount

    Uns interessiert nun das Script D:\winpe\mount\Windows\system32\startnet.cmd

    Dieses Script besteht im Moment aus einem einzigen Befehl: wpeinit

    Damit wird das Netzwerk gestartet. Erweitern wir nun das Script um die folgenden Befehle:

    wpeinit

    echo Netzlaufwerk verbinden...
    echo.

    net use Z: \\SERVERNAME\Installfiles /user:DOMAIN\instuser install
    echo.
    echo Jetzt wird das Installationsscript aufgerufen...

    cd /D z:\cmd

    w7install.cmd

    Die Einträge SERVERNAME und DOMAIN müssen natürlich an Eure Gegebenheiten angepasst werden.

    Speichert die Datei ab und schliesst alle Explorerfenster, die auf das Verzeichnis D:\winpe weisen, da sonst das geänderte winpe-Image nicht korrekt abgespeichert werden kann!

    Gebt nun in der WAIK-Konsole den Befehl zum speichern und unmounten ein:

    imagex /unmount /commit D:\winpe\mount

    Kopiert anschließend die winpe.wim von D:\winpe nach D:\PXE\Boot. Fertig!

    Startet nun EurenTestrechner via PXE. Ihr solltet nach kurzer Zeit von diesem Bild begrüßt werden:
    WindowsPEwait

    Bestätigt die Abfrage mit 'JA', dann geht es los:
    StartSetup1

    Setuprunning

    So, das wars. Viel Spaß beim Nachkochen.

    Einen Nachteil hat die Sache (bis jetzt) allerdings schon: Da der Rechnername fest in der XML-Datei steht, kann damit kein zweiter Rechner installiert werden, weil sonst die Namen gleich sind. Beim Join Domain-Teil wird es dann zu Fehlern kommen, ohne Domäne muß auf jeden Fall händisch der Rechnername geändert werden.

    Man könnte natürlich auch in der XML-Datei gar keinen Rechnernamen angeben, dann generiert Windows einen zufälligen Namen. Im 'meiner' Domäne will ich aber schon festlegen, wie meine Rechner heissen.

    Weiterhin ist der Rechner ja immer noch "nackt", es ist keine Software installiert.

    Wenn wir die Automation konsequent weiter betreiben, dann darf hier noch nicht Schluss sein.

    Angenommen, eine Firma plant eine Hardware-Regeneration. Gleichzeitig soll auf Windows 7 migriert werden. Die Umstellung soll so kostengünstig wie möglich durchgeführt werden, d.h. so wenig Arbeitsausfall wie möglich. Außerdem soll nicht die ganze IT-Abteilung tagelang nur mit Rechner- und Softwareinstallation gebunden werden. Ziel ist folgendes Szenario:

    Ein LKW kommt mit einer Ladung neuer Rechner. Die Rechner werden durch Hilfspersonal ausgeladen, in die Büros gebracht und angeschlossen. Die Rechner werden angeschaltet und installieren sich vollautomatisch, alle in der Firma benötigte Software wird installiert und jeder Rechner hat einen Namen, der den Konventionen der Firma entspricht.

    Wenn bei Euch bis hierher alles funktioniert hat und Ihr neugierig geworden seid, was noch alles möglich ist, dann lest einfach weiter.

    © 2018 Exilschwaelmer. All Rights Reserved. Designed By JoomShaper
    Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
    Weitere Informationen Ok Ablehnen