Freigeben über


Verwalten von Treiberkonfigurationen beim Erfassen eines Windows-Images

Ein gängiges Bereitstellungsszenario besteht darin, ein einzelnes Windows-Image auf einem Referenzcomputer zu erfassen und dann das Image auf eine Gruppe von Zielcomputern mit identischen Hardwarekonfigurationen anzuwenden.

Um während der Installation Zeit zu sparen und die OOBE (Out-of-Box Experience) für Endbenutzer zu beschleunigen, können Sie Windows Setup anweisen, die Treiberkonfigurationen auf dem Referenzcomputer im Rahmen des Windows-Images zu verwalten. Dies empfiehlt sich nur dann, wenn die Hardware auf dem Referenzcomputer und die Hardware auf den Zielcomputern identisch sind. Wenn Sie sich für diese Option entscheiden, verwaltet Windows Setup die Treiberkonfigurationen während der Imageerfassung und -bereitstellung.

Anweisen von Windows Setup zum Verwalten von Treiberkonfigurationen

Bevor Sie ein Image erfassen, generalisieren Sie den Computer mithilfe einer Antwortdatei, die Windows Setup zur Wartung der Treiberkonfigurationen anweist.

So warten Sie Treiberkonfigurationen mithilfe einer Antwortdatei

  1. Öffnen Sie Windows SIM (Windows System Image Manager) auf Ihrem Technikercomputer. Klicken Sie auf Start, geben Sie Windows System Image Manager ein, und wählen Sie dann Windows System Image Manager aus.

  2. Erstellen Sie eine neue Antwortdatei, oder aktualisieren Sie eine vorhandene Antwortdatei. Weitere Informationen finden Sie unter Erstellen oder Öffnen einer Antwortdatei und unter Bewährte Methoden zum Erstellen von Antwortdateien.

  3. Fügen Sie die Einstellung „Microsoft-Windows-PnpSysprep/PersistAllDeviceInstalls“ hinzu. Weitere Informationen finden Sie im Abschnitt Übersicht in diesem Thema.

  4. Wenn der Computer über nicht erkennbare Hardware verfügt, schließen Sie die Einstellung „Microsoft-Windows-PnpSysprep/DoNotCleanUpNonPresentDevices“ ein. Weitere Informationen finden Sie im Abschnitt Nicht erkennbare Hardware in diesem Thema.

  5. Generalisieren Sie den Computer mithilfe der Antwortdatei. Zum Beispiel:

    Sysprep /generalize /unattend:C:\unattend.xml
    

Übersicht

Die in Windows enthaltenen Treiberpakete umfassen Gerätetreiber, die eine breite Vielfalt beliebter Hardware unterstützen. Wenn Ihre spezifische Hardware zusätzliche Gerätetreiber zum Starten benötigt, können Sie diese in Ihrem Windows-Image vorinstallieren. Unabhängige Hardwarehersteller (IHVs) liefern diese zusätzlichen Gerätetreiber häufig zusammen mit ihrer Gerätehardware. Weitere Informationen zum Hinzufügen von Gerätetreibern finden Sie unter Hinzufügen eines Treibers online im Überwachungsmodus.

Um ein Windows-Image für die Bereitstellung auf mehreren Computern vorzubereiten, müssen Sie das Systemvorbereitungstool Sysprep verwenden, um das Windows-Image zu generalisieren. Durch das Generalisieren eines Windows-Images werden die computerspezifischen Informationen entfernt und die Gerätetreiber für den ersten Start vorbereitet. Diese Vorbereitung umfasst die folgenden Schritte:

  • Der Gerätestatus für Hardware wird entfernt.

  • Startkritische Treibereinstellungen werden auf ihre Standardwerte zurückgesetzt.

  • Geräteprotokolldateien werden gelöscht.

Wenn Sie den Computer generalisieren, verwenden Sie eine Antwortdatei mit der Einstellung „Microsoft-Windows-PnpSysPrep\PersistAllDeviceInstalls“, um Zeit zu sparen. Diese Einstellung verhindert, dass Windows Setup den Gerätezustand für identische Hardware entfernt und neu konfiguriert. Beim ersten Start sind die erkannten Gerätetreiber bereits vorkonfiguriert und ermöglichen eventuell einen schnelleren ersten Start.

Wichtig Vermeiden Sie die Verwendung der Einstellung PersistAllDeviceInstalls, wenn die Hardware und die Hardwarekonfiguration auf dem Referenzcomputer nicht mit denen der Zielcomputer identisch sind. Selbst geringfügige Unterschiede in der Hardware oder Hardwarekonfiguration können schwerwiegende oder leicht zu übersehende Probleme verursachen. Weitere Informationen finden Sie im Abschnitt Problembehandlung bei Unterschieden in der Hardwarekonfiguration in diesem Thema.

Es empfiehlt sich, die Einstellung PersistAllDeviceInstalls nicht in Ihrem primären Referenzimage zu verwenden. Laden Sie stattdessen für jede Gruppe von Computern, die über eine andere Hardwarekonfiguration verfügen, zuerst Ihr primäres Referenzimage auf einen neuen Referenzcomputer, der die geplante Hardwarekonfiguration aufweist. Erfassen Sie als Nächstes ein neues Image dieses Setups, und verwenden Sie die Einstellung PersistAllDeviceInstalls.

Weitere Informationen zum Generalisieren des Windows-Images finden Sie unter Generalisieren einer Windows-Installation (Systemvorbereitung).

Bewährte Methoden für Treiberrevisionen und Treiberbewertung

Verwalten Sie nicht mehrere Versionen oder Revisionen desselben Treiberpakets in demselben Image. Verwenden Sie Offline- oder Onlinewartungstools, um Treiber zu aktualisieren.

Wenn Windows Setup einen Computer startet und mehrere Versionen eines Treiberpakets auf diesem Computer vorhanden sind, ermittelt Setup mithilfe der Treiberbewertung, welcher Treiber installiert werden soll. Wenn Sie jedoch die Einstellung PersistAllDeviceInstalls verwenden, finden die normalen Treiberbewertungsprozesse nicht statt. Daher bleiben Geräte mit veralteten Treibern möglicherweise installiert. Weitere Informationen zur Treiberbewertung finden Sie unter Windows-Bewertung von Treibern auf MSDN.

Wenn Sie einem Image, das die Einstellung PersistAllDeviceInstalls verwendet, einen Gerätetreiber hinzufügen müssen, können Sie Ihre Gerätetreiber mithilfe einer der folgenden Methoden aktualisieren:

Problembehandlung bei Unterschieden in der Hardwarekonfiguration

Damit die Einstellung PersistAllDeviceInstalls ordnungsgemäß funktioniert, muss die Hardwarekonfiguration auf dem Referenzcomputer und auf den Zielcomputern identisch sein. Die Hardwarekonfiguration umfasst die folgenden Komponenten:

  • Hardwaretyp und -modell.

  • Firmware. Updates, Revisionen und Konfigurationsunterschiede können dazu führen, dass einige Geräte verschiedene Kriterien für übereinstimmende Gerätetreiber melden oder unterschiedliche Ressourcen verwenden. Zum Beispiel:

    • Auf PCI (Peripheral Component Interconnect) basierende Geräte können verschiedene Subsystemrevisionsnummern in ihre gemeldeten Hardware-IDs einbetten.

    • BIOS-Revisionen können den ACPI-Namespace (Advanced Configuration and Power Interface) ändern. Dadurch kann Windows Setup vorhandene Geräte anders melden oder vorhandene Geräte als neue Geräte einführen.

    • Unterschiede in der BIOS-Systemkonfiguration können dazu führen, dass Systemgeräte unterschiedliche Speicher-, E/A-, DMA- (Direct Memory Access, direkter Speicherzugriff) oder IRQ-Ressourcen (Interrupt Request, Interruptanforderung) beanspruchen.

  • Physischer Standort. Hardwarekonfigurationen müssen dieselben Slot-, Port- oder Socketnummern verwenden, um eine Verbindung mit externen Geräten herzustellen. Zum Beispiel:

    • PCI-Erweiterungskarten müssen in dieselben Slotnummern eingesteckt werden.

    • USB-Geräte müssen mit denselben Portnummern auf denselben USB-Hostcontrollern und integrierten Hubs verbunden oder verkabelt werden.

    • Speichergeräte müssen mit denselben Speichercontrollern und Kanälen verbunden sein.

Hardwarekonfigurationsunterschiede mit geringem Risiko, mittlerem Risiko und hohem Risiko

Wenn Sie die Einstellung PersistAllDeviceInstalls verwenden, können Hardwareunterschiede möglicherweise Probleme verursachen. Bei einigen Unterschieden treten mit höherer Wahrscheinlichkeit Probleme auf als bei anderen.

Unterschiede mit geringem Risiko

Für die folgenden Arten von Hardwareunterschieden können Sie möglicherweise potenzielle Treiberkonflikte umgehen und weiterhin die Einstellung PersistAllDeviceInstalls verwenden:

  • CPU-Taktfrequenz

  • Arbeitsspeicher

  • Festplattenkapazität

  • Externe Eingabegeräte wie Tastaturen und Mausgeräte

  • Monitore

Unterschiede mit mittlerem Risiko

Für die folgenden Arten von Hardwareunterschieden empfehlen wir, die Einstellung PersistAllDeviceInstalls nicht zu verwenden:

  • Grafikkarten

  • Speicherlaufwerke und Medienleser wie optische Laufwerke und Kartenleser

  • Interne oder integrierte Busgeräte wie USB- oder 1394-Geräte

Wenn diese Arten von Hardwareunterschieden bestehen, wird die Installationszeit durch die Verwendung dieser Einstellung möglicherweise selbst dann nicht verkürzt, wenn Sie potenzielle Treiberkonflikte umgehen.

Unterschiede mit hohem Risiko

Verwenden Sie die Einstellung PersistAllDeviceInstalls nicht bei größeren Hardwareunterschieden. Zu diesen Unterschieden zählen Folgende:

  • Hauptplatinen-Chipsatz oder CPU-Marke

  • Speichercontroller

  • Formfaktorunterschiede, z. B. ein Wechsel von einem Desktop zu einem Laptop oder von einem Laptop zu einem Desktop

  • Tastaturlayoutunterschiede, z. B. ein Wechsel von einer Standardtastatur mit 101 Tasten auf eine japanische Tastatur mit 106 Tasten

  • Alle anderen Geräte im Aufzählungspfad des Windows-Startvolumes

Arten von Problemen, die bei einer Änderung der Hardwarekonfiguration auftreten können

Selbst geringfügige Unterschiede in der Hardware oder Hardwarekonfiguration können schwerwiegende oder leicht zu übersehende Probleme verursachen. Dazu gehören beispielsweise:

  • Systeminstabilität

  • Unbrauchbarkeit einiger grundlegender oder erweiterter Funktionen eines Geräts

  • Verlängerte Startzeiten und verlängerte Installationszeiten

  • Falsch benannte Geräte im Ordner „Geräte und Drucker“, im Geräte-Manager und in anderen gerätebezogenen Benutzeroberflächen

  • Schwerwiegende Systemprobleme, die das Starten des Computers verhindern

Hardwarekonfigurationsunterschiede, die zu Systemstartfehlern führen können

Wenn die startkritische Hardware auf dem Referenzcomputer und auf den Zielcomputern nicht identisch ist, kann die Einstellung PersistAllDeviceInstalls schwerwiegende Systemprobleme verursachen, die das Starten des Computers verhindern können.

Startkritische Treiberpakete können einer der folgenden Windows-Gerätesetupklassen angehören, gemäß der ClassGUID-Anweisung im Abschnitt <Version> der INF-Dateien in ihren Treiberpaketen.

Vom System bereitgestellte Gerätesetupklasse ClassGUID

System

{4D36E97D-E325-11CE-BFC1-08002BE10318}

Computer

{4D36E966-E325-11CE-BFC1-08002BE10318}

Prozessor

{50127DC3-0F36-415E-A6CC-4CB3BE910B65}

PCMCIA

{4D36E977-E325-11CE-BFC1-08002BE10318}

HDC

{4D36E96A-E325-11CE-BFC1-08002BE10318}

SCSIAdapter

{4D36E97B-E325-11CE-BFC1-08002BE10318}

DiskDrive

{4D36E967-E325-11CE-BFC1-08002BE10318}

CDROM

{4D36E965-E325-11CE-BFC1-08002BE10318}

FDC

{4D36E969-E325-11CE-BFC1-08002BE10318}

FloppyDisk

{4D36E980-E325-11CE-BFC1-08002BE10318}

Volume

{71A27CDD-812A-11D0-BEC7-08002BE2092F}

USB

{36FC9E60-C465-11CF-8056-444553540000}

SBP2

{D48179BE-EC20-11D1-B6B8-00C04FA372A7}

1394

{6BDD1FC1-810F-11D0-BEC7-08002BE2092F}

Enum1394

{C459DF55-DB08-11D1-B009-00A0C9081FF6}

Tastatur

{4D36E96B-E325-11CE-BFC1-08002BE10318}

Maus

{4D36E96F-E325-11CE-BFC1-08002BE10318}

HIDClass

{745A17A0-74D3-11D0-B6FE-00A0C90F57DA}

Ports

{4D36E978-E325-11CE-BFC1-08002BE10318}

Weitere Informationen zu diesen Gerätesetupklassen finden Sie unter Vom System bereitgestellte Gerätesetupklassen auf MSDN.

Nicht erkennbare Hardware

Wenn Sie einen neuen Computer für einen Endbenutzer bereitstellen, ist bestimmte Hardware, z. B. ein Wechselmedium oder ein Gerät, das über einen Ein-/Aus-Schalter verfügt, möglicherweise nicht vorhanden oder wird während des ersten Starts nicht erkannt. Standardmäßig entfernt Windows Setup den vorkonfigurierten Gerätestatus für nicht erkannte Hardware.

Zum Bereitstellen von Hardware, die beim ersten Start nicht vorhanden ist oder nicht erkannt wird, fügen Sie dem Referenzimage alle relevanten Gerätetreiber hinzu, verbinden oder aktivieren Sie die entsprechenden Geräte, damit Windows sie installieren kann, und verwenden Sie die Einstellung „Microsoft-Windows-PnpSysprep/DoNotCleanUpNonPresentDevices“ beim Erfassen des Images.

Wichtig Die Verwendung der Einstellung DoNotCleanUpNonPresentDevices kann zur unnötigen Speicherung übermäßiger Gerätezustände führen und zur Verlangsamung der Startzeiten beitragen.

Problembehandlung bei Treiberkonflikten

Um Treiberkonflikte zwischen unabhängigen startkritischen Treiberpaketen zu vermeiden, muss der IHV sicherstellen, dass jeder Gerätetreiber verschiedene Dienstnamen, Registrierungsschlüsselwerte und binäre Dateinamen verwendet.

Beispiel für einen potenziellen Treiberkonflikt

Im folgenden Beispiel stellt ein fiktiver IHV namens Fabrikam zwei Arten von Speichercontrollern her: StandardController und ExtremeController. Fabrikam geht davon aus, dass immer nur ein Speichercontrollertyp auf einem Computer installiert ist.

Das Treiberpaket definiert die Konfigurationen von StandardController und ExtremeController so, dass derselbe Treiberdienstname, storctrl, verwendet wird. Der storctrl-Treiberdienst verwendet verschiedene Diensteinstellungen, die sich je nach installierter Hardware (StandardController oder ExtremeController) ändern. Da sowohl StandardController als auch ExtremeController denselben Dienst verwenden, können sie nicht parallel vorliegen.

In diesem Beispiel wird der Inhalt der Treiberpaketdatei „Storctrl.inf“ dargestellt:

[Version]
Signature = "$WINDOWS NT$"
Class = SCSIAdapter
ClassGuid = {4D36E97B-E325-11CE-BFC1-08002BE10318}
...
[Manufacturer]
%Fabrikam% = Fabrikam,NTx86

[Fabrikam.NTx86]
%StandardController% = StandardController_DDInstall,PCI\VEN_ABCD&DEV_0001
%ExtremeController%  = ExtremeController_DDInstall, PCI\VEN_ABCD&DEV_0002

...

[StandardController_DDInstall.Services]
AddService = storctrl,0x00000002,StandardController_ServiceInstall

[StandardController_ServiceInstall]
ServiceType  = 1 ; SERVICE_KERNEL_DRIVER
StartType    = 0 ; SERVICE_BOOT_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ImagePath    = %12%\storctrl.sys
AddReg       = StandardController_ServiceSettings

[StandardController_ServiceSettings]
HKR,Settings,LowPowerMode,0x00010001,1
HKR,Settings,ErrorCorrection,0x00010001,1

...

[ExtremeController_DDInstall.Services]
AddService = storctrl,0x00000002,ExtremeController_ServiceInstall

[ExtremeController_ServiceInstall]
ServiceType  = 1 ; SERVICE_KERNEL_DRIVER
StartType    = 0 ; SERVICE_BOOT_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ImagePath    = %12%\storctrl.sys
AddReg       = ExtremeController_ServiceSettings

[ExtremeController_ServiceSettings]
HKR,Settings,LowPowerMode,0x00010001,0
HKR,Settings,ErrorCorrection,0x00010001,4
...

Wenn StandardController auf dem Referenzcomputer installiert ist und die Einstellungen während der Imageerfassung beibehalten werden, wird der storctrl-Treiberdienst vorkonfiguriert. Wenn ExtremeController sich auf dem Zielcomputer befindet, verwendet Windows möglicherweise die vorkonfigurierten Einstellungen und Dateien, die für StandardController vorgesehen sind. Dies kann zu unerwarteten Ergebnissen führen.

Der IHV kann den Konflikt durch eine der folgenden Möglichkeiten beheben:

  • Er erstellt separater Treiberpakete mit separaten INF-Dateien für jede Konfiguration und importiert während der Bereitstellung nur das erforderliche Treiberpaket in das Windows-Image. Beispielsweise kann „Storctrl.inf“ in zwei separate INF-Dateien unterteilt werden, eine Version für StandardController und eine Version für ExtremeController. Anschließend wird nur das erforderliche Treiberpaket in das Windows-Image importiert.
  • Er erstellt für jede Konfiguration einen anderen Dienst im Treiberpaket. Er gibt jedem Dienst einen anderen Namen (z. B. storctrl und storctrlx) und verweist auf eine jeweils andere binäre Imagedatei (z. B. „Storctrl.sys“ und „Storctrlx.sys“).

Gerätetreiber und Bereitstellungsübersicht