Einschränkungen von $WinPeDriver$ in Verbindung mit anderen Treiberinjektionsmethoden
Dieser Artikel enthält Anleitungen zum Einschließen von Treibern in WinPE und das zu installierende Betriebssystem, 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 zu Installationsmedien hinzufügen, mischen Sie keine Versionen. Verwenden Sie die gleiche Version jedes Treibers auf allen Medien.
Es gibt mehrere verschiedene Methoden, um out-of-box-Treiber in Winpe (boot.wim) und das Zielinstallationsbetriebssystem (install.wim) einzuschließen. Wenn die Treiberversionen nicht übereinstimmen, wird der erste in den Arbeitsspeicher geladene Treiber unabhängig von PNP-Rangfolgeregeln verwendet. Andere Versionen können als "Ungültige" Treiber gekennzeichnet werden, 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 Startvorgangs in WinPE (Winpe-Phase) der Installation in den Arbeitsspeicher geladen werden. Beispiele hierfür sind das Einfügen von Treibern in boot.wim über DISM.exe oder das Laden eines Treibers mithilfe von Drvload.exe, um den Treiber manuell zu laden.
Zweck
Betrachten Sie das folgende Szenario: Sie erstellen ein benutzerdefiniertes WinPE-Image (Windows Pre-Installation Environment) für die Installation von Windows-Betriebssystemen, die einen sofort einsatzbereiten Speichercontrollertreiber benötigen, bevor Sie Setup.exe zum Bearbeiten der Datenträger ausführen. 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 einzubeziehen.
Das feature $WinPEDriver$ ist als Methode zum Bereitstellen von Treibern zur Installationszeit vorgesehen. 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 mithilfe von DISM manuell in den WinPE boot.wim-Treiberstore eingefügt werden, werden zum Startzeitpunkt in den Arbeitsspeicher geladen. Diese beiden Mechanismen sind getrennt, und es gibt einige Einschränkungen, sie zusammen zu verwenden.
WinPE verfügt nicht über einen integrierten Mechanismus zum Entladen von Treibern, die in den Arbeitsspeicher geladen wurden, sodass treiber für Geräte, die bereits geladen wurden, nicht erneut geladen werden, 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ültigen Treiber markiert, auch wenn er neuer als die in WinPE eingefügte Treiberversion ist und ihn andernfalls übertrumpfen 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 Anpassung dieses Szenarios beschrieben, sodass diese Treiber weiterhin im bereitstellbaren Betriebssystem enthalten sein können.
Weitere Informationen
Angesichts des oben genannten Szenarios wäre es am besten, WinPE auf einer startbaren USB-Flash-Gerät-Festplatte (UFD) oder einem Usb-Stick zu platzieren.
In diesem Dokument werden Methoden zum Einfügen von Treibern und Starten von Fenstern hervorgehoben. Das folgende Diagramm zeigt kurz Methoden und Ergebnisse der Einbeziehung von Treibern.
WinPE (in-box native oder injiziert) | (Out-Box-Treiber in $WinPEDriver$) | Ergebnis (Post Os) |
---|---|---|
Wenn WinPE Treiberversion X1 enthält, die über Dism.exe | enthält die X2-Version des Treibers mit demselben Treibernamen. | X1 wird bei der Installation des Betriebssystems verwendet, und X2 wird ignoriert. |
Wenn WinPE Treiber X2 mithilfe von Drvload.exe von $WinPEDriver$ installiert | enthält die X2-Version des Treibers mit demselben Treibernamen. | X2 wird bei der Installation des Betriebssystems verwendet |
, wenn WinPE den Treiber X1 enthält, der nicht startkritisch ist (systemintern) | enthält keinen Treiber | Verwendet den nativen In-Box-Treiber X1. Für dieses Gerät ist nach der Installation des Betriebssystems 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 des WinPE-Teils der Installation möglicherweise nicht funktionieren. Dies würde einschließen, ist aber auch 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 Startvorgangs benötigt werden, z. B. Controllertreiber für den Zugriff auf die Festplatte) und gilt für alle Treiber, die während der Installation/Bereitstellung geladen werden.
Exemplarische Vorgehensweise zum Laden von Treibern aus StartNet.cmd
Dies ist nur eine Methode, um denselben Treiber in die Windows Preinstallation Environment (WinPE) einzugliedern und ihn für das installierende Betriebssystem verfügbar zu machen. Andere Methoden sind möglich, indem die Informationen weiter in diesem Dokument verwendet werden.
Richten Sie die Maschine des Technikers ein:
- Installieren Sie OPK/AIK auf unterstützten Technikercomputern.
- Kopieren Sie Windows-Bits, um sie in die lokale HDD c:\bin zu ändern.
- Suchen/Herunterladen/Extrahieren von Treibern, die in Medien eingeschlossen werden sollen.
Bereiten Sie das USB-Gerät pro Webseite vor, und geben Sie dem Gerät den Namen "INSTALL_WIN7". 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 wird (Webseitenlinks sind am Ende des Dokuments aufgeführt).
Erstellen Sie WinPE-Dateien zum Kopieren auf ein USB-Gerät, öffnen Sie die Administrative Eingabeaufforderung, und führen Sie Folgendes aus:
Copype.cmd <arch> <path>
Copy <pathto> winpe.wim to \ISO\sources\boot.wim
Einbinden von boot.wim:
Dism /get-wiminfo /wimfile:\<pathto>\boot.wim
Dism /mount-wim /wimfile:<pathto>\boot.wim /index:1 /mountdir:<pathto>\Mount
Öffnen Sie eine Administrative Eingabeaufforderung, und bearbeiten Sie \mount\windows\system32\startnet.cmd (mit Notepad.exe oder ähnlichem).
Das folgende Beispielskript identifiziert USB-Geräte und stellt Treiber während WinPE 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.
Hinweis
Möglicherweise möchten Sie das Skript zuerst in notepad.exe oder einen anderen Text-Editor 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
Speichern Sie StartNet.cmd, und schließen Sie sie.
Heben Sie die Bereitstellung von Änderungen in boot.wim auf, und committen Sie sie mit dem folgenden Befehl:
Dism /unmount-wim /mountdir:<pathto>mount /commit
Kopieren Sie alle Dateien im Ordner \ISO auf ein USB-Flash-Gerät (sollte fat32 formatiert und als Aktiv gekennzeichnet sein).
Erstellen Sie im Stammverzeichnis des USB-Flashgeräts einen Ordner mit dem Namen $WinpeDriver$.
Kopieren Sie Treiber in diesen Ordner (z. <B. USB_drv>\$WinpeDriver$\DriverX).
Öffnen Sie die Eingabeaufforderung administrativer Befehlsverwaltung, und erstellen Sie eine Datei <USB_drv>\InstallOS.bat, indem Sie die folgende Zeile ausschneiden und in die Batchdatei einfügen:
drvload %usbdrv%\$winpedriver$\<device>\filename. INFSo schließen Sie Quelldateien für die Windows-Betriebssysteminstallation von einer DVD ein:
- Erstellen Sie den folgenden Ordner auf dem USB-Stick: <USB_drv>\<OS>\Sources (z. B. e:\Win2008r2x64\Sources).
- Wählen Sie DVD\sources\* aus, und kopieren Sie sie in <USB_drv>\<OS>\sources (Sie können boot.wim ausschließen)
- Um setup.exe beim Starten mit WinPE manuell zu starten, wählen Sie USB_drv>\<OS>\Sources\Setup.exe aus<, und fügen Sie bei Bedarf die entsprechenden Switches hinzu.
- Fügen Sie für die vollständig automatisierte Bereitstellung die folgende Zeile zur InstallOS.bat-Datei hinzu, und fügen Sie alle geeigneten Optionen hinzu:
%usbdrv%\<OS>\Sources\Setup.exe
TESTEN durch Starten eines USB-Geräts auf dem TEST-Computer
Methoden zum Verfügbarmachen von Treibern für WinPE
Zu den Methoden zum Einschließen von Treibern in WinPE gehören:
Einschleusung der Imagebuildzeit über DISM.exe: Places Treiber im Driverstore des WinPE-Images und wird über Plug & Play zur WinPE-Startzeit ausgewählt. Es wird nicht an das installierte Betriebssystem weitergegeben. Für diese Methode müssen Sie die WIM-Dateien für den Zugriff einbinden, den Treiber einfügen und dann die Änderungen speichern und in wim übernehmen.
Schritte zum Sammeln von Informationen, Zum Einbinden, Einfügen und Aufheben der Bereitstellung von WIM:
DISM /get-wiminfo /wimfile:<pathto>boot.wim
DISM /mount-wim /wimfile:<pathto>boot.wim /index:n /mountdir:<pathto>mount
-
DISM /add-driver /image:<pathto>mount / driverpath:<pathto>driverINF
[und umgekehrt bei/remove-driver
Bedarf] DISM /unmount-wim /commit /mountdir:<pathto>mount
Laden des Runtimetreibers über Drvload.exe: Lädt den Treiber in den Arbeitsspeicher und startet das Gerät. Gibt den Treiber nicht an das installierte Betriebssystem weiter.
Laden des Runtimetreibers über Devcon.exe: Devcon wird über Beispielquellcode im Windows Device Driver Kit (DDK)/Windows Driver Kit (WDK) bereitgestellt. Sie müssen Eine 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")
$WinPEDriver$-Ordner: Setup.exe versucht, alle Treiber im Verzeichnis $WinPEDriver$ in den Arbeitsspeicher zu laden, und planen sie auch für die Einschleusung in das installierende Betriebssystem.
Die Runtimeantwortdatei (unattend.xml) mit DriverPath – Pfad (und ggf. Anmeldeinformationen) muss in unattend.xml angegeben 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 in den treiberspeicher zu laden, der im unattend.xml bereitgestellt wird, und plant sie auch für die Einschleusung in das installierte Betriebssystem.
Starten der Windows-Installation
Es gibt mehrere Methoden zum Starten der Installation des Betriebssystems von WinPE, einschließlich:
- Einfügen von Setuppaketen in "boot.wim".
- Benutzerdefiniertes WinPE kann so geändert werden, dass Windows Setup.exe automatisch gestartet wird.
- Kann auch für Sprachpakete und Skriptunterstützung verwendet werden.
- Starten von setup.exe über startnet.cmd oder winpeshl.ini.
- USB-Stick/Hdd suchen
- Starten \path\setup.exe </switches>
- Benutzerdefiniertes Front-End zum Ersetzen cmd.exe (siehe Links für Windows RE im Referenzabschnitt).
- Starten von regulären Windows Setup-Medien, die zuerst mit WinPE (Boot.wim) gestartet werden und Eingaben vom angeschlossenen USB-Gerät oder Netzwerkspeicher annehmen können. Diese Methode wird in diesem Artikel nicht behandelt.
Methoden zum Hinzufügen von Treibern zu Windows
Als Nächstes stehen nach dem Fortschritt von der Installation bis zur Einbindung von Out-of-Box-Treibern einige Methoden zur Verfügung, um out-of-box-Treiber in Windows einzuschließen:
- Dism.exe
Dism /get-wiminfo /wimfile:<pathto>Install.wim
Dism /mount-wim /wimfile:<pathto>Install.wim /index:n /mountdir:<pathto>mount
Dism /add-driver [and conversely /remove-driver] /image:<pathto>mount /driverpath:<pathto>driverINF
Dism /unmounts-wim /commit /mountdir:<pathto>mount
- \$WinPEDriver$
- Ausführen eines Skripts während der unbeaufsichtigten Installation
- unattend.xml (driverstore) im WinPE- und Überwachungsmodus (weitere Informationen finden Sie im Abschnitt Verweise und Links).
- Setupcomplete.cmd kann für die Einschleusung von Treibern verwendet werden, wird jedoch davon abgeraten, da dies eine schlechte Benutzererfahrung ist und Verzögerungen beim erstmaligen Starten auf dem Desktop verursachen kann.
- Drvload.exe
- Fügt nur Treiber in das derzeit ausgeführte Betriebssystem ein. Wenn WinPE vorhanden ist, handelt es sich in der Regel um EINEN RAM-Datenträger.
- Drvload <pathto. INF> (kann in startnet.cmd geskriptet werden (siehe Beispiele))
Hinweis
Wenn der zu verwendende Treiber denselben Namen hat wie ein mitgelieferter Treiber (nativ im Image enthalten), werden diese neu eingefügten Treiber nicht vom Startbetriebssystem verwendet, und Sie sollten sich an den Hersteller des Treibers wenden, um aktualisierte Treiber zu erhalten. (Wenn Sie mit dem Windows-Logokit (WLK) vertraut sind, finden Sie weitere Informationen unter Devfund0005.
Wenn ein Treiber während des WinPE-Durchlaufs (anfänglicher Start) geladen wird, gibt es keinen nativen Mechanismus zum Entfernen dieses Treibers, bis das Betriebssystem neu gestartet wird.
Es gibt mehrere Methoden für jeden Schritt des Hinzufügens von Treibern zu Windows. Die Methoden bieten ein erweiterbares und verformbares Bereitstellungsszenario. Sie sollten bestimmen, 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:
- Technikercomputer – Computer, der zum Erstellen/Bearbeiten von Installationsmedien verwendet wird
- OPK/AIK installiert
- USB/UFD oder DVD
Verwenden von DISM.exe:
- Installieren Sie entweder das OEM Preinstallation Kit (OPK) oder das Windows Automated Installation Kit (Windows AIK)
- Klicken Sie aufProgramme>starten>Windows OPK (oder Windows AIK), und öffnen Sie eine Eingabeaufforderung für Verwaltungsbereitstellungstools.
- Kopieren Sie boot.wim auf die Festplatte (z. B. c:\Bin). Sie können auch neue WinPE mit Copype.cmd generieren. Dies wird jedoch nicht automatisch setup.exe ohne zusätzliche Anpassungen gestartet.
- Verwenden Sie DISM, um die Anzahl der Indizes in boot.wim zu identifizieren. Wenn Sie boot.wim von einem Installationsmedium kopieren, enthält sie zwei Indizes. In der Regel ändern wir index #2; andernfalls Index Nr. 1.
dism /get-wiminfo /wimfile:<wim_file>
Hinweis
Dateien, die in einen Index eingefügt werden, sind für andere Indizes nicht verfügbar.
- Erstellen eines Ordners "Mount" (z. B. c:\Bin\mount)
- Verwenden Sie DISM, um die WIM-Datei einzuhängen.
DISM /mount-wim /wimfile:c:\bin\boot.wim /index:1 /mountdir:c:\bin\mount
- Platzieren Sie den Treiber in einem speicherortfähigen Ordner (z. B. c:\bin\driver).
- Verwenden Sie DISM, um den Treiber zum eingebundenen WIM-Image hinzuzufügen.
dism /image:c:\bin\mount /Add-Driver /driverpath:<path to INF>
- Bestätigen Sie den Erfolg, indem Sie das DISM-Protokoll überprüfen oder sicherstellen, dass DISM den Abschluss an der Eingabeaufforderung zurückgibt.
- Heben Sie die Bereitstellung auf, und committen 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 sind, bevor Sie diesen Befehl ausführen (stellen Sie außerdem sicher, dass sich die Eingabeaufforderung an oder oberhalb der Verzeichnisstruktur c:\bin befindet).
dism /unmount-wim /mountdir:c:\bin\mount /commit
- Nachdem DISM die Bereitstellung von WIM erfolgreich aufgehoben hat, können wir Dinge für den Wechsel auf USB/DVD einrichten. Wenn beim Aufheben der Bereitstellung ein Fehler auftritt, sollten Sie die WIM-Datei erneut bereitstellen, 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 wenn sie gefunden wird, analysiert wird, um zusätzliche Treiber zu pullen. Setup analysiert Dateien und Ordner unter diesem \$WinpeDriver$-Ordner rekursiv und sucht nach *. INF-Dateien und -Versuche, diese ermittelten Treiber im Driverstore zu installieren.
Die Ordnerstruktur kann im Stammverzeichnis des USB-Geräts in etwa wie folgt aussehen:
\$WinpeDriver$
└\WLAN
└\Wireless1
└Wireless.INF
└Wireless.SYS
└Wireless.CAT (vom Betriebssystem benötigt)
Hinweis
Wenn Sie im \Windows\Panther\Setupact.log sehen 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 im Stammverzeichnis der eingebundenen Laufwerke suchen, wenn die Dateien autounattend.xml benannt sind. Windows nimmt auch eine unbeaufsichtigte Antwortdatei auf, wenn sie mit Setup.exe mithilfe von Schaltern gestartet wird. Diese Antwortdatei kann Informationen für das installierende Betriebssystem für Dinge wie Laufwerkskonfiguration, Product Key, Computername und Pfad zum Treiberspeicher, OEM-Unternehmensinformationen und viele andere Dinge bereitstellen. Die Dokumentation zum Hinzufügen eines Treibers zum unattend.xml finden Sie am Ende dieses Dokuments im Abschnitt Verweise und Links.
Im Folgenden finden Sie einen Beispielausschnitt eines AutoUnattend.xml mit Drvstore aus einer 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 an der integrierten WinPE-Eingabeaufforderung gestartet wurden. Bei Verwendung von Drvload müssen die Treiber identifiziert und irgendwo platziert werden. Die startnet.cmd von WinPE können zum Erstellen eines Skripts für Drvload sowie für eine der folgenden Aktionen verwendet werden, während WinPE gestartet oder gestartet wird:
- Ausführen von Skripts für:
- Identifizieren Sie installationsmedien, in der Regel ein USB-Gerät.
- Hinzufügen von sofort einsatzbereiten Treibern
- Konfigurieren von Festplatten und Wiederherstellungspartitionen
- Starten Sie setup.exe, oder wenden Sie nach Bedarf WIMs an.
- Nach der Bereitstellung/Anwendung der WIM-ValidierungFür Entwickler, die ein eigenes Tool zum Einfügen oder Bearbeiten von Treibern erstellen möchten, kann DevCon.exe ein nützliches Hilfsprogramm sein. Weitere Informationen zu DevCon.exe finden Sie im Abschnitt Verweise und Links.
Beispiel für startnet.cmd
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 zum Installieren von Treibern mithilfe von Drvload.exe in der WinPE-Setupphase. Das Skript befindet sich außerhalb der WIM-Datei, sodass es problemlos geändert werden kann.
Methoden zum Identifizieren von Installationsmedien mithilfe von WinPE Startnet.cmd (erste Datei, die in der Standard-WinPE gestartet wurde):
Zunächst muss es eine Möglichkeit geben, die Identifizierung der Installationsmedien im WinPE-Startnet.cmd zu automatisieren. Dies ist die erste Datei, die in einer WinPE-Standardkonfiguration gestartet wird. Hierfür gibt es eine von zwei Möglichkeiten:
Erstellen Sie einen startbaren WinPE-USB-Speicherstick mit der Datenträgervolumebezeichnung "INSTALL_WIN7". Platzieren Sie dann die folgenden Zeilen am Anfang von 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 den Medien als alternative Methode für den Speicherort des Laufwerks zum 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^: ) ) )
Hinweis
Sie müssen sicherstellen, dass <specialfilename1 & specialfilename2> am angegebenen Speicherort auf dem USB-Flash-Gerät vorhanden ist.
Schließen Sie die Dateien in die datei boot.wim ein, die im startnet.cmd verwendet werden. Dadurch werden die Dateien dann auf das Laufwerk X: abgelegt, auf das über X:\<Dateiname> zugegriffen werden kann. Wenn Sie Der Datei boot.wim Dateien hinzufügen, erhöht sich dadurch der WIM-Speicherbedarf.
Sobald der Usb-Laufwerkbuchstabe bekannt ist, können zusätzliche Skripts für die Einschleusung von Treibern gestartet werden. Da es schwierig ist, boot.wim häufig zu ändern (Sie müssen die Bereitstellung und den Commit von Änderungen jedes Mal einbinden/aufheben), 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 Text, der in der startnet.cmd-Datei benötigt wird, die nach "InstallOS.bat" sucht und wenn sie gefunden wird, starten Sie ihn:
IF EXIST %usbdrv%\InstallOS.bat call InstallOS.bat Echo %time% %date%
Hinweis
Wie durch den Namen angegeben, können InstallOS.bat viel mehr tun, als nur Treiber zu WinPE hinzuzufügen. Für die Zwecke dieses Dokuments werden jedoch keine weiteren Skriptdetails erläutert.
An diesem Punkt wird %usbdrv% mit dem Laufwerkbuchstaben für das USB-Flashgerät definiert, sodass Treiber, die im Ordner "%usbdrv%\$WinpeDriver$" vorhanden sind, über Skripts im InstallOS.bat eingefügt werden können.
Fügen Sie beispielsweise in InstallOS.bat hinzu
Drvload.exe %usbdrv%\$winpedriver$\<device>\filename.INF
.
Mit dieser Methode wird der Treiber, der für das Betriebssystem zur Verfügung gestellt wird, zuerst von WinPE aufgenommen und verwendet.
Windows-Wiederherstellungsumgebung (WinRE)
WinRE ist in der Regel statisch auf der Festplatte, entweder automatisch während der Installation installiert oder von OEMs für Wiederherstellungsszenarien erstellt/angepasst. Wenn winRE verwendet wird, um den Computer auf die Werkseinstellungen wiederherzustellen, gibt es wirklich keine Methode zum dynamischen Aktualisieren von Treibern auf die neueste Version. 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 es sich bei diesen Treibern um dieselben Versionen handelt.
Zusammenfassung
Wenn Sie eine WinPE-Umgebung erstellen müssen, die vor dem Ausführen von setup.exe sofort einsatzbereite 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 von startnet.cmd gestartete Drvload.exe nutzen, um bestimmte Treiber zu laden, die sich im Ordner $WinPeDriver$ auf einem USB-Speicherstick befinden, 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, das flexibilität bietet, diese Treiber zu aktualisieren (um die neuesten Treiber in Ihrem Treiberspeicher zu verwalten).
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.
Verweise und Verknüpfungen
Was ist die Verwaltung und Verwaltung von Bereitstellungsimages?
Optionen für die Imagewartung und -verwaltung für die Bereitstellung Command-Line
Exemplarische Vorgehensweise: Erstellen eines startbaren Windows PE-RAM-Datenträgers auf CD-ROM
Hinweis
Sie benötigen ein Konto, um Dateien von der OEM-Website herunterladen zu können.