Freigeben über


Einschränkungen von $WinPeDriver$ bei Verwendung in Verbindung mit anderen Treiberinjektions-Methoden

Dieser Artikel enthält Anleitungen zum Einschließen von Treibern in WinPE und zum Installieren des Betriebssystems, sodass der Treiber im WinPE-Teil der Installation verfügbar ist und auch in der abgeschlossenen Betriebssysteminstallation endet.

Gilt für: Windows 7 Service Pack 1, Windows Server 2012 R2, Windows Server 2008 R2 Service Pack 1
Ursprüngliche KB-Nummer: 2686316

Zusammenfassung

Wenn Sie einen Treiber in Installationsmedien hinzufügen, mischen Sie keine Versionen. Verwenden Sie die gleiche Version jedes Treibers auf allen Medien.

Es gibt verschiedene Methoden zum Einschließen von sofort einsatzbereiten Treibern in Winpe (boot.wim) und das Zielinstallationsbetriebssystem (install.wim). Wenn die Treiberversionen nicht übereinstimmen, wird der erste in den Arbeitsspeicher geladene Treiber unabhängig von PNP-Bewertungsregeln verwendet. Andere Versionen werden möglicherweise als "Ungültige" Treiber gekennzeichnet, die verhindern, dass diese Treiber zu einem späteren Zeitpunkt von PNP ausgewählt werden. Dies schließt alle Treiber ein, die während des Starts mit WinPE (Winpe-Phase) der Installation in den Arbeitsspeicher geladen wurden. Beispiele können das Einfügen von Treibern in boot.wim über DISM.exe oder das Laden eines Treibers mithilfe von Drvload.exe zum manuellen Laden des Treibers sein.

Zweck

Betrachten Sie das folgende Szenario: Sie erstellen ein benutzerdefiniertes Windows Pre-Installation Environment (WinPE)-Image für die Installation von Windows-Betriebssystemen, die einen vordefinierten Speichercontrollertreiber benötigen, bevor Sie Setup.exe ausführen, um die Datenträger zu bearbeiten. Darüber hinaus möchten Sie "aktuelle" Treiber für die Aufnahme über das Ordnerfeature \$WinPEDriver$ von Setup bereitstellen, um spätere Versionen desselben Treibers einzuschließen.

Das feature $WinPEDriver$ ist als Methode zum Bereitstellen von Treibern zur Installation gedacht. Es handelt sich jedoch um ein Feature von Setup.exe und wird daher erst aufgerufen, nachdem Setup.exe gestartet wurde. Treiber für vorhandene Geräte, die manuell in den WinPE boot.wim-Treiberspeicher mit DISM eingefügt werden, werden zur Startzeit in den Arbeitsspeicher geladen. Diese beiden Mechanismen sind voneinander getrennt, und es gibt einige Vorbehalte, sie zusammen zu verwenden.

WinPE verfügt nicht über einen integrierten Mechanismus zum Entladen von Treibern, die in den Arbeitsspeicher geladen wurden. Daher werden alle Treiber für bereits geladene Geräte nicht neu geladen, sobald setup.exe gestartet wird, da bereits Treiber für das geladene Gerät vorhanden sind. Dieser Fehler führt dazu, dass Setup den Treiber im Ordner "$WinPEDriver$" als ungültiger Treiber kennzeichnet, auch wenn er neuer als die in WinPE eingefügte Treiberversion ist und andernfalls ausrangiert würde. Setup verfügt nicht über explizite Kenntnisse von Treibern, die in "boot.wim" geladen wurden.

Dieses Verhalten ist beabsichtigt. In diesem Artikel wird jedoch eine Methode zur Aufnahme dieses Szenarios identifiziert, sodass diese Treiber weiterhin im bereitstellungsfähigen Betriebssystem enthalten sein können.

Weitere Informationen

Angesichts des oben genannten Szenarios wäre das Platzieren von WinPE auf einer startbaren USB Flash Device (UFD)-Festplatte oder einem Usb-Stick am besten geeignet.

In diesem Dokument werden wir Methoden zum Einfügen von Treibern und zum Starten von Fenstern hervorheben. Das folgende Diagramm zeigt kurz Methoden und Ergebnisse der Treiber.

WinPE (systemintern oder injiziert) (Soforttreiber in $WinPEDriver$) Ergebnis (Post OS)
Wenn WinPE Treiberversion X1 enthält, die über Dism.exe enthält X2-Treiberversion mit demselben Treibernamen X1 wird nach der Betriebssysteminstallation übertragen, und X2 wird ignoriert.
Wenn WinPE Treiber X2 mit Drvload.exe von $WinPEDriver$ installiert enthält X2-Treiberversion mit demselben Treibernamen X2 wird nach der Installation des Betriebssystems übertragen
wenn WinPE Treiber X1 enthält, der nicht bootkritisch ist (systemeigene Systeminterne In-Box) enthält keinen Treiber Wird systemeigener Treiber X1 im Box-System verwendet. Für dieses Gerät nach der Installation des Betriebssystems ist kein sofort einsatzbereiter Treiber verfügbar.

Treiberbeschränkungen

Beachten Sie, dass es einige Treiber gibt, die eingeschlossen und/oder geladen werden können, die während der WinPE-Installation möglicherweise nicht funktionsfähig sind. Dazu gehören auch, aber nicht beschränkt; Videotreiber, Drahtlosadaptertreiber und Audiotreiber. Das in diesem Dokument beschriebene Verhalten ist nicht spezifisch für BootCritical-Treiber (Treiber, die während des Starts erforderlich sind, z. B. Controllertreiber für den Zugriff auf die Festplatte) und gilt für alle Treiber, die während der Installation/Bereitstellung geladen wurden.

Gehen Sie durch das Laden von Treibern von StartNet.cmd

Es ist aber eine Methode zum Einschließen desselben Treibers in Windows Preinstallation Environment (WinPE) sowie für die Bereitstellung des installierten Betriebssystems; weitere Methoden sind in diesem Dokument unter Verwendung der Informationen möglich.

  1. Richten Sie die Maschine des Technikers ein:

    1. Installieren Sie OPK/AIK auf der unterstützten Technikermaschine.
    2. Kopieren Sie Windows-Bits, die auf lokale HDD c:\bin geändert werden sollen.
    3. Suchen/Herunterladen/Extrahieren von Treibern, die in Medien eingeschlossen werden sollen.
  2. Bereiten Sie das USB-Gerät pro Webseite vor, um das Gerät "INSTALL_WIN7" zu benennen. Dieser Name wird später verwendet, und wenn Sie dies ändern, müssen Sie den Namen im beispielskript ändern, das in Schritt 6 und im folgenden Beispiel beschrieben ist (Webseitenlinks werden am Ende des Dokuments aufgeführt)

  3. Erstellen Sie WinPE-Dateien zum Kopieren auf USB-Gerät, öffnen Sie die Administrative Eingabeaufforderung, und führen Sie Folgendes aus:

    1. Copype.cmd <arch> <path>
    2. Copy <pathto> winpe.wim to \ISO\sources\boot.wim
  4. Mount boot.wim:

    1. Dism /get-wiminfo /wimfile:\<pathto>\boot.wim
    2. Dism /mount-wim /wimfile:<pathto>\boot.wim /index:1 /mountdir:<pathto>\Mount
  5. Öffnen Sie eine Administrative Eingabeaufforderung, und bearbeiten Sie \mount\windows\system32\startnet.cmd (mit Notepad.exe oder ähnlich).

  6. Das folgende Beispielskript identifiziert USB-Geräte und stellt Treiber mithilfe von Drvload.exe zur Verfügung. Schneiden Sie das Skript aus, und fügen Sie es in die startnet.cmd Datei ein, die Sie geöffnet haben.

    Notiz

    Möglicherweise möchten Sie das Skript zuerst in notepad.exe oder einen anderen Texteditor kopieren, um die Formatierung zu entfernen.

    wpeinit
    :ChkVar
    :: Locating USB Device
    IF NOT DEFINED usbdrv (  
    ECHO list vol | diskpart | find "INSTALL_WIN7" > pt.txt  
    FOR /F "tokens=3" %%a IN (pt.txt) DO (  
    SET usbdrv=%%a^:  
    )  
    del pt.txt /f /q  
    IF EXIST %usbdrv%\InstallOS.bat call InstallOS.bat  
    
  7. Speichern Sie StartNet.cmd, und schließen Sie sie.

  8. Dismount and commit changes to boot.wim using the following command:

    Dism /unmount-wim /mountdir:<pathto>mount /commit
    
  9. Kopieren Sie alle Dateien im Ordner \ISO auf ein USB-Flashgerät (sollte FAT32 formatiert und als aktiv gekennzeichnet sein).

  10. Erstellen Sie einen Ordner auf der Stammebene des USB-Flashgeräts mit dem Namen $WinpeDriver$.

  11. Kopieren Sie Treiber in diesen Ordner (z <. B. USB_drv>\$WinpeDriver$\DriverX).

  12. Öffnen Sie die Eingabeaufforderung "Administrative Cmd", und erstellen Sie datei <USB_drv>\InstallOS.bat, indem Sie die folgende Zeile in die Batchdatei einschneiden und einfügen:
    drvload %usbdrv%\$winpedriver$\device>\<filename. INF

  13. So schließen Sie Die Quelldateien der Windows-Betriebssysteminstallation von DVD ein:

    1. Erstellen Sie den folgenden Ordner auf dem USB-Ministick: <USB_drv>\<OS>\Sources (z. B. e:\Win2008r2x64\Sources).
    2. Auswählen und Kopieren von DVD\sources\* in <USB_drv>\OS>\<sources (Sie können boot.wim ausschließen)
    3. Wenn Sie setup.exe manuell starten möchten, wenn Sie mit WinPE gestartet werden, wählen Sie <USB_drv>\OS>\<Sources\Setup.exe aus, und fügen Sie bei Bedarf alle entsprechenden Schalter hinzu.
    4. Fügen Sie für die vollständig automatisierte Bereitstellung die folgende Zeile zur datei InstallOS.bat hinzu, und fügen Sie alle geeigneten Schalter hinzu:
      %usbdrv%\<OS>\Sources\Setup.exe
  14. TEST durch Starten eines USB-Geräts auf dem TEST-Computer

Methoden zum Bereitstellen von Treibern für WinPE

Methoden zum Einschließen von Treibern in WinPE umfassen:

  1. Bildbuildzeiteinfügung über DISM.exe – Platziert treiber im Driverstore des WinPE-Images und wird über Plug & Play zur WinPE-Startzeit ausgewählt. Sie wird nicht an das installierte Betriebssystem weitergegeben. Für diese Methode müssen Sie die WIM-Dateien für den Zugriff bereitstellen, den Treiber einfügen und dann die Änderungen an der WIM speichern und übernehmen.

    Schritte zum Sammeln von Informationen, Montage, Injizieren und Aufheben der Bereitstellung von WIM:

    1. DISM /get-wiminfo /wimfile:<pathto>boot.wim
    2. DISM /mount-wim /wimfile:<pathto>boot.wim /index:n /mountdir:<pathto>mount
    3. DISM /add-driver /image:<pathto>mount / driverpath:<pathto>driverINF [und umgekehrt /remove-driver bei Bedarf]
    4. DISM /unmount-wim /commit /mountdir:<pathto>mount
  2. Laufzeittreiber laden über Drvload.exe – Lädt den Treiber in den Arbeitsspeicher und startet das Gerät. Gibt den Treiber nicht an das installierte Betriebssystem weiter.

  3. Laufzeittreiber laden über Devcon.exe – Devcon wird über Beispielquellcode im Windows Device Driver Kit (DDK)/Windows Driver Kit (WDK) bereitgestellt. Sie müssen Ihre eigene Kopie erstellen und kompilieren. Devcon wird verwendet, um Treiber zu bearbeiten, z. B. das Laden von Treibern in den Arbeitsspeicher und das Starten von Geräten. Gibt den Treiber nicht an das installierte Betriebssystem weiter. (Link im Abschnitt "Verweise")

  4. $WinPEDriver$-Ordner – Setup.exe versucht, alle Treiber im Verzeichnis $WinPEDriver$ in den Arbeitsspeicher zu laden, und plant außerdem, dass sie in das Installationsbetriebssystem eingefügt werden.

  5. Laufzeitantwortdatei (unattend.xml) mit DriverPath – Pfad (und Anmeldeinformationen bei Bedarf) müssen in unattend.xml bereitgestellt werden. Es wird verwendet, um auf Dateien im zentralen Repository zuzugreifen, die sich auf einer Netzwerkfreigabe oder lokal befinden können. Setup versucht, alle Treiber im Treiberspeicher zu laden, der im unattend.xml angegeben ist, und plant außerdem, dass sie in das installierte Betriebssystem eingefügt werden.

Starten der Windows-Installation

Es gibt mehrere Methoden zum Starten der Installation des Betriebssystems von WinPE, darunter:

  1. Einfügen von Setuppaketen in "boot.wim".
    1. Benutzerdefinierte WinPE kann geändert werden, um Windows Setup.exe automatisch zu starten.
    2. Kann auch für Sprachpakete und Skriptunterstützung verwendet werden.
  2. Starten von setup.exe aus startnet.cmd oder winpeshl.ini.
    1. USB-Stick/Hdd suchen
    2. Starten von \path\setup.exe </switches>
  3. Benutzerdefiniertes Front-End, um cmd.exe zu ersetzen (siehe Links für Windows RE im Referenzabschnitt).
  4. Starten von normalen Windows Setup-Medien, die zuerst mit WinPE (Boot.wim) gestartet werden und Eingaben von angeschlossenem USB-Gerät oder Netzwerkspeicher übernehmen können. Diese Methode wird in diesem Artikel nicht behandelt.

Methoden zum Hinzufügen von Treibern zu Windows

Im Anschluss an die Entwicklung der Installation bis hin zur Aufnahme von out-of-box-Treibern stehen einige Methoden zur Verfügung, um sofort einsatzbereite Treiber in Windows einzuschließen:

  1. Dism.exe
    1. Dism /get-wiminfo /wimfile:<pathto>Install.wim
    2. Dism /mount-wim /wimfile:<pathto>Install.wim /index:n /mountdir:<pathto>mount
    3. Dism /add-driver [and conversely /remove-driver] /image:<pathto>mount /driverpath:<pathto>driverINF
    4. Dism /unmounts-wim /commit /mountdir:<pathto>mount
  2. \$WinPEDriver$
  3. Ausführen eines Skripts während der unbeaufsichtigten Installation
    1. unattend.xml (Driverstore) im WinPE- und Überwachungsmodus (weitere Informationen sind im Abschnitt "Verweise und Links") enthalten.
    2. Setupcomplete.cmd kann für die Treibereinfügung verwendet werden, wird jedoch empfohlen, da es sich um eine schlechte Benutzererfahrung handelt und zu Verzögerungen beim erstmaligen Starten auf dem Desktop führen kann.
  4. Drvload.exe
    1. Fügt nur Treiber in das derzeit ausgeführte Betriebssystem ein, was bei WinPE in der Regel RAM-Datenträger ist.
    2. Drvload <pathto. INF> (kann in startnet.cmd skriptiert werden (siehe Beispiele))

Notiz

Wenn der zu verwendende Treiber denselben Namen wie ein in-Box-Treiber hat (nativ in das Image eingeschlossen), werden diese neu eingefügten Treiber nicht vom Startbetriebssystem verwendet, und Sie sollten sich an die Treiberhersteller wenden, die für aktualisierte Treiber hergestellt werden. (Wenn Sie mit dem Windows-Logokit (WLK) vertraut sind, lesen Sie Devfund0005.

Wenn ein Treiber während des WinPE-Durchlaufs (anfänglicher Start) geladen wird, gibt es keinen systemeigenen Mechanismus, um diesen Treiber zu entfernen, bis das Betriebssystem neu gestartet wird.

Es gibt mehrere Methoden für jeden Schritt des Prozesses zum Hinzufügen von Treibern zu Windows. Die Methoden bieten ein erweiterbares und malleierbares Bereitstellungsszenario. Sie möchten ermitteln, welche Methode unten für die jeweilige Situation am besten geeignet ist.

Detaillierte Anweisungen zum Einschließen von Out-of-Box-Treibern in WinPE

Erforderliche Einrichtung/Tools:

  • Techniker Computer - Computer, der zum Erstellen/Bearbeiten von Installationsmedien verwendet wird
  • OPK / AIK installiert
  • USB/UFD oder DVD

Verwenden von DISM.exe:

  1. Installieren Sie entweder das OEM Preinstallation Kit (OPK) oder das Windows Automated Installation Kit (Windows AIK)
  2. Klicken Sie auf "Windows OPK starten>">(oder "Windows AIK") und öffnen Sie eine Eingabeaufforderung für verwaltungstechnische Bereitstellungstools.
  3. Kopieren Sie boot.wim auf die Festplatte (z. B. c:\Bin). Sie können auch mit Copype.cmd neue WinPE generieren; Dies wird jedoch nicht automatisch setup.exe ohne zusätzliche Anpassungen gestartet.
  4. Verwenden Sie DISM, um die Anzahl der Indizes in "boot.wim" zu identifizieren. Wenn Sie "boot.wim" von Installationsmedien kopieren, enthält sie zwei Indizes. In der Regel ändern wir den Index Nr. 2; andernfalls Index Nr. 1.
    dism /get-wiminfo /wimfile:<wim_file>

    Notiz

    In einen Index eingefügte Dateien sind für andere Indizes nicht verfügbar.

  5. Erstellen eines "Mount"-Ordners (z. B. c:\Bin\mount)
  6. Verwenden Sie DISM, um wim zu mounten.
    DISM /mount-wim /wimfile:c:\bin\boot.wim /index:1 /mountdir:c:\bin\mount
  7. Platzieren Sie den Treiber im locatable-Ordner (z. B. c:\bin\driver).
  8. Verwenden Sie DISM, um den Treiber zum bereitgestellten WIM-Image hinzuzufügen.
    dism /image:c:\bin\mount /Add-Driver /driverpath:<path to INF>
  9. Bestätigen Sie den Erfolg, indem Sie das DISM-Protokoll überprüfen oder sicherstellen, dass DISM den Abschluss an der Eingabeaufforderung zurückgibt.
  10. Heben Sie die Bereitstellung auf, und übernehmen Sie Änderungen an "Boot.wim". Schließen Sie alle Handles für alle geöffneten Fenster, die möglicherweise unter c:\bin\mount geöffnet werden, bevor Sie diesen Befehl ausführen (stellen Sie außerdem sicher, dass sich die Eingabeaufforderung in der Verzeichnisstruktur "c:\bin" befindet).
    dism /unmount-wim /mountdir:c:\bin\mount /commit
  11. Sobald DISM die Bereitstellung von WIM erfolgreich aufgehoben hat, können wir Dinge für das Verschieben auf USB/DVD einrichten. Wenn während der Dismount-Bereitstellung ein Fehler auftritt, sollten Sie die Wim-Bereitstellung erneut installieren, um zu bestätigen, dass die Pakete eingefügt wurden. DISM-Parameter /cleanup-wim und /get-packages können hier hilfreich sein. Anweisungen zum Erstellen startbarer WinPE-Medien auf einem optischen oder USB-Speicherstick finden Sie im Abschnitt "Verweise und Links" am Ende dieses Dokuments.

Verwenden von \$WinpeDriver$

$WinpeDrivers$ ist eine zusätzliche Ordnerstruktur, die Setup.exe sucht und falls gefunden wird, analysiert wird, um zusätzliche Treiber abzurufen. Setup analysiert Dateien und Ordner rekursiv unter diesem Ordner \$WinpeDriver$ nach *. INF-Dateien und Versuche, diese ermittelten Treiber im Treiberspeicher zu installieren.

Die Ordnerstruktur kann etwa wie folgt auf dem Stamm des USB-Geräts aussehen:

\$WinpeDriver$
└\WiFi
└\Wireless1
└Wireless.INF
└Wireless.SYS
└Wireless.CAT (erforderlich nach Betriebssystem)

Notiz

Wenn Sie in der Datei "\Windows\Panther\Setupact.log" nachschauen, finden Sie einen Verweis auf diesen Ordner: PnPIBS: Überprüfen auf vorkonfigurierte Treiberpfade ...
PnPIBS: Überprüfung auf vorkonfiguriertes Treiberverzeichnis C:$WinPEDriver$.
PnPIBS: Überprüfung auf vorkonfiguriertes Treiberverzeichnis D:$WinPEDriver$.
PnPIBS: Überprüfung auf vorkonfiguriertes Treiberverzeichnis E:$WinPEDriver$.
PnPIBS: Überprüfung auf vorkonfiguriertes Treiberverzeichnis X:$WinPEDriver$.

Verwenden der unbeaufsichtigten Antwortdatei (unattend.xml/autounattend.xml)

Windows kann automatisch nach einer unbeaufsichtigten Antwortdatei auf dem Stamm der bereitgestellten Laufwerke suchen, wenn die Dateien autounattend.xml benannt sind. Windows übernimmt auch eine unbeaufsichtigte Antwortdatei, wenn sie mit Setup.exe mithilfe von Schaltern gestartet wird. Diese Antwortdatei kann Informationen für das Installationsbetriebssystem bereitstellen, z. B. Laufwerkkonfiguration, Product Key, Computername und Pfad zum Treiberspeicher, OEM-Unternehmensinformationen und viele andere Dinge. Dokumentation zum Hinzufügen eines Treibers zum unattend.xml finden Sie am Ende dieses Dokuments im Abschnitt "Verweise und Links".

Nachfolgend sehen Sie einen Beispielausschnitt eines AutoUnattend.xml mit Drvstore aus einem AIK Unattend.chm. Die XML-Ausgabe gibt den UNC-Pfad zu zusätzlichen Speicherorten für Gerätetreiber und die Anmeldeinformationen an, die für den Zugriff auf die Netzwerkpfade verwendet werden.

<DriverPaths>
<!-- First PathAndCredentials list item -->
   <PathAndCredentials wcm:action="add" wcm:keyValue="1">
        <Path>\\myFirstDriverPath\DriversFolder</Path>
        <Credentials>
                <Domain>MyDomain</Domain>
                <Username>MyUsername</Username>
                <Password>MyPassword</Password>
        </Credentials>
   </PathAndCredentials>
<!-- Second PathAndCredentials list item -->
   <PathAndCredentials wcm:action="add" wcm:keyValue="2">
      <Path>C:\Drivers</Path>
      <Credentials>
         <Domain>MyComputerName</Domain>
         <Username>MyUsername</Username>
         <Password>MyPassword</Password>
      </Credentials>
   </PathAndCredentials>
</DriverPaths>

Verwenden von Drvload.exe

Drvload ist ein Tool in WinPE, das zum Hinzufügen von Treibern verwendet wird, nachdem Sie mit der integrierten WinPE-Eingabeaufforderung gestartet wurden. Bei Verwendung von Drvload müssen die Treiber identifiziert und irgendwo platziert werden. WinPE-startnet.cmd kann zum Skripten von Drvload sowie einer der folgenden Aktionen beim Starten oder Starten von WinPE verwendet werden:

  1. Ausführen von Skripts für:
    1. Identifizieren Sie Installationsmedien, in der Regel ein USB-Gerät.
    2. Hinzufügen von Out-of-Box-Treibern
    3. Konfigurieren von Festplatten und Wiederherstellungspartitionen
    4. Starten Sie setup.exe, oder wenden Sie NACH Bedarf WIMs an.
  2. Nach der Bereitstellung/Anwendung von WIM validationFor developers that want to create their own tool to use for injecting or manipulating drivers, DevCon.exe may be useful utility. Weitere Informationen zu DevCon.exe finden Sie im Abschnitt "Verweise und Links".

Beispiel startnet.cmd

Als Möglichkeit zur Skripterstellung/Automatisierung der Installation muss das USB-Gerät identifiziert werden, da dies der Speicherort der zusätzlichen Treiber ist. In diesem Beispiel wird ein Skript in WinPE verwendet, das beim Start autorun ist, um das USB-Laufwerk zu erkennen. Dieses Skript startet ein weiteres Skript, um Treiber mithilfe von Drvload.exe in der WinPE-Phase des Setups zu installieren. Das Skript befindet sich außerhalb der WIM-Datei, sodass es problemlos geändert werden kann.

Methoden zum Identifizieren von Installationsmedien mit WinPE Startnet.cmd (erste Datei, die in WinPE-Standard gestartet wurde):

  1. Zunächst muss es eine Möglichkeit geben, die Identifizierung der Installationsmedien in der WinPE-Startnet.cmd zu automatisieren, bei der es sich um die erste Datei handelt, die in einer WinPE-Standardkonfiguration gestartet wurde. Es gibt eine von zwei Möglichkeiten, wie Sie dies tun können:

    • Erstellen Sie einen startbaren WinPE-USB-Speicherstick mit einer Datenträgervolumebezeichnung von "INSTALL_WIN7". Platzieren Sie dann die folgenden Zeilen am Anfang startnet.cmd, um nach der Datenträgervolumebezeichnung "INSTALL_WIN7" zu suchen:

      "INSTALL_WIN7" disk volume label:
      :ChkVar
      :: Locating USB Device
      IF NOT DEFINED usbdrv (
      ECHO list vol | diskpart | find "INSTALL_WIN7" > pt.txt
      FOR /F "tokens=3" %%a IN (pt.txt) DO ( 
      SET usbdrv=%%a^:
      )
      del pt.txt /f /q
      
    • Erstellen Sie "Tag"-Dateien auf dem Medium als alternative Laufwerkspeicherortmethode für den Vergleich:

      :SetOSvar
      @echo off
      IF NOT DEFINED usbdrv (
      ECHO locating OS drive
      FOR %%b IN ( C D E F G H I J K L M N O ) DO (
      IF EXIST %%b:\<specialfilename1> IF EXIST %%b:\ <specialfilename2>  (
      SET usbdrv=%%b^:
      )
      )
      )
      

      Notiz

      Sie müssen sicherstellen, dass <specialfilename1 & specialfilename2> am angegebenen Speicherort auf USB-Flash-Gerät vorhanden ist.

  2. Fügen Sie die Dateien in die datei boot.wim ein, die in der startnet.cmd verwendet werden. Dadurch werden die Dateien auf das Laufwerk "X:" gesetzt, auf das über X:\<Dateiname> zugegriffen werden kann. Wenn Sie Dateien zu "boot.wim" hinzufügen, erhöht dies den WIM-Speicherbedarf.

  3. Sobald der USB-Laufwerkbuchstaben bekannt ist, können zusätzliche Skripts für die Einfügung von Treibern gestartet werden. Da es schwierig ist, boot.wim häufig zu ändern (Sie müssen die Bereitstellung bereitstellen/aufheben und Änderungen jedes Mal übernehmen), ist es einfacher, Skripts außerhalb von startnet.cmd auszuführen. Wenn wir beispielsweise ein Skript namens "InstallOS.bat" im Stammverzeichnis des USB-Speichersticks erstellen, können wir diese Datei ganz einfach ändern, um bei Bedarf Änderungen am Start-/Automatisierungsprozess vorzunehmen.

    Im Folgenden finden Sie ein Beispiel für den in der startnet.cmd-Datei benötigten Text, der nach "InstallOS.bat" sucht, und wenn sie gefunden wird, starten Sie ihn:

    IF EXIST %usbdrv%\InstallOS.bat call InstallOS.bat  
    Echo %time% %date%
    

    Notiz

    Wie durch seinen Namen angegeben, kann InstallOS.bat viel mehr tun, als nur Treiber zu WinPE hinzuzufügen. Im Rahmen dieses Dokuments werden jedoch keine zusätzlichen Skriptdetails behandelt.

  4. An diesem Punkt wird %usbdrv% mit dem Laufwerkbuchstaben für das USB-Flashgerät definiert, sodass Treiber, die im Ordner "%usbdrv%\$WinpeDriver$" vorhanden sind, in das Skripting im InstallOS.bat eingefügt werden können.

    Fügen Sie z. B. in InstallOS.bat hinzu Drvload.exe %usbdrv%\$winpedriver$\<device>\filename.INF.

Bei Verwendung dieser Methode wird der treiber, der für das Betriebssystem zur Verfügung gestellt wird, zuerst von WinPE abgerufen und verwendet.

Windows-Wiederherstellungsumgebung (WinRE)

WinRE wird in der Regel statisch auf der Festplatte sein, entweder während der Installation automatisch installiert oder von OEMs für Wiederherstellungsszenarien erstellt/angepasst. Wenn der WinRE verwendet wird, um den Computer auf Werkseinstellungen wiederherzustellen, gibt es wirklich keine Methode, Treiber dynamisch auf die neueste Version zu aktualisieren. Sie müssen ein Image mit eingefügten Treibern in alle relevanten WIM-Dateien wie WinRE.wim/Boot.wim sowie das Image erstellen, das für das Betriebssystem angewendet werden soll. Stellen Sie sicher, dass diese Treiber alle gleichen Versionen sind.

Zusammenfassung

Wenn Sie vor dem Ausführen von setup.exe eine WinPE-Umgebung erstellen möchten, die out-of-box-Treiber lädt, befolgen Sie die in diesem Dokument beschriebenen Richtlinien, um den gewünschten Treiber im resultierenden installierten Betriebssystem zu erhalten. Das Schreiben von Skripts, die Drvload.exe nutzen, die von startnet.cmd gestartet werden, um bestimmte Treiber im Ordner $WinPeDriver$ auf einem USB-Speicherstick zu laden, ist die flexibelste Verfügbare Methode. Mit dieser Methode können Sie einen Treiber während der WinPE-Phase laden, die in das installierte Betriebssystem übernommen wird. Darüber hinaus ermöglicht es die Verwaltung eines zentralen Repositorys für Treiber, die die Flexibilität zum Aktualisieren dieser Treiber ermöglichen (so dass die neuesten Treiber im Treiberspeicher beibehalten werden).

Datensammlung

Wenn Sie Unterstützung vom Microsoft-Support benötigen, empfehlen wir Ihnen, die Informationen zu sammeln, indem Sie die Schritte unter Sammeln von Informationen mithilfe von TSS für Bereitstellungsprobleme ausführen.

Notiz

Sie benötigen ein Konto, um Dateien von der OEM-Website herunterladen zu können.