Gérer les configurations de pilotes lors de la capture d’une image Windows

Un scénario de déploiement courant consiste à capturer une seule image Windows à partir d’un ordinateur de référence, puis à appliquer l’image à un groupe d’ordinateurs de destination qui ont des configurations matérielles identiques.

Pour gagner du temps pendant l’installation et accélérer l’expérience prête à l’emploi (OOBE) pour les utilisateurs finaux, vous pouvez demander au programme d’installation de Windows de gérer les configurations de pilotes à partir de l’ordinateur de référence dans le cadre de l’image Windows. Vous devez effectuer cette opération uniquement lorsque le matériel sur l’ordinateur de référence et le matériel sur les ordinateurs de destination sont identiques. Dans ce cas, le programme d’installation de Windows gère les configurations de pilotes pendant la capture d’image et le déploiement.

Demander au programme d’installation de Windows de gérer les configurations de pilotes

Avant de capturer une image, généralisez l’ordinateur à l’aide d’un fichier de réponses qui indique au programme d’installation de Windows de gérer les configurations des pilotes.

Pour gérer les configurations de pilotes à l’aide d’un fichier de réponses

  1. Sur votre ordinateur de technicien, ouvrez Le Gestionnaire d’images système Windows (Windows SIM). Cliquez sur Démarrer, tapez Gestionnaire d’images système Windows, puis sélectionnez Gestionnaire d’images système Windows.

  2. Créez un fichier de réponses ou mettez à jour un fichier de réponses existant. Pour plus d’informations, consultez Créer ou ouvrir un fichier de réponses et Meilleures pratiques pour la création de fichiers de réponses.

  3. Ajoutez le paramètre Microsoft-Windows-PnpSysprep/PersistAllDeviceInstalls . Pour plus d’informations, consultez la section Vue d’ensemble de cette rubrique.

  4. Si l’ordinateur dispose d’un matériel indétectable, incluez le paramètre Microsoft-Windows-PnpSysprep/DoNotCleanUpNonPresentDevices . Pour plus d’informations, consultez la section Matériel indétectable de cette rubrique.

  5. Généralisez l’ordinateur à l’aide du fichier de réponses. Par exemple :

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

Vue d’ensemble

Les packages de pilotes windows in-box incluent des pilotes de périphérique qui prennent en charge une grande variété de matériel populaire. Si votre matériel spécifique nécessite des pilotes de périphérique supplémentaires pour démarrer, vous pouvez préinstaller des pilotes de périphérique supplémentaires sur votre image Windows. Les fournisseurs de matériel indépendants fournissent souvent ces pilotes de périphérique supplémentaires avec leur matériel d’appareil. Pour plus d’informations sur l’ajout de pilotes de périphérique, consultez Ajouter un pilote en ligne en mode Audit.

Pour préparer une image Windows en vue d’un déploiement sur plusieurs ordinateurs, vous devez utiliser l’outil De préparation du système (Sysprep) pour généraliser l’image Windows. La généralisation d’une image Windows supprime les informations spécifiques à l’ordinateur et prépare les pilotes de périphérique pour le premier démarrage. Cette préparation comprend les étapes suivantes :

  • L’état de l’appareil pour le matériel est supprimé.

  • Les paramètres de pilote critiques au démarrage sont réinitialisés à leurs valeurs par défaut.

  • Les fichiers journaux des appareils sont supprimés.

Lorsque vous généralisez l’ordinateur, utilisez un fichier de réponses avec le paramètre Microsoft-Windows-PnpSysPrep\PersistAllDeviceInstalls pour gagner du temps. Ce paramètre empêche le programme d’installation de Windows de supprimer et de reconfigurer l’état de l’appareil pour un matériel identique. Lors du premier démarrage, les pilotes de périphérique détectés sont déjà préconfigurés, ce qui permet potentiellement une expérience de premier démarrage plus rapide.

Important Évitez d’utiliser le paramètre PersistAllDeviceInstalls lorsque le matériel et la configuration matérielle sur l’ordinateur de référence ne sont pas identiques à ceux des ordinateurs de destination. Même des différences apparemment mineures dans la configuration matérielle ou matérielle peuvent entraîner des problèmes graves ou facilement négligés. Pour plus d’informations, consultez la section Résolution des problèmes de configuration matérielle de cette rubrique.

Il est recommandé de ne pas utiliser le paramètre PersistAllDeviceInstalls sur votre image de référence principale. Au lieu de cela, pour chaque groupe d’ordinateurs qui ont une configuration matérielle différente, chargez d’abord votre image de référence principale sur un nouvel ordinateur de référence qui a la configuration matérielle planifiée. Ensuite, capturez une nouvelle image de cette configuration et utilisez le paramètre PersistAllDeviceInstalls .

Pour plus d’informations sur la généralisation de l’image Windows, consultez Sysprep (Généraliser) une installation Windows.

Meilleures pratiques pour les révisions de pilotes et le classement des pilotes

Ne conservez pas plusieurs versions ou révisions du même package de pilotes dans la même image. Utilisez des outils de maintenance hors connexion ou en ligne pour mettre à jour les pilotes.

Normalement, lorsque le programme d’installation de Windows démarre un ordinateur et que plusieurs versions d’un package de pilotes existent sur cet ordinateur, le programme d’installation détermine le pilote à installer à l’aide du classement des pilotes. Toutefois, lorsque vous utilisez le paramètre PersistAllDeviceInstalls , les processus normaux de classement des pilotes ne se produisent pas. Ainsi, les appareils qui utilisent des pilotes obsolètes peuvent rester installés. Pour plus d’informations sur le classement des pilotes, consultez Comment Windows classe les pilotes sur MSDN.

Si vous devez ajouter un pilote de périphérique à une image qui utilise le paramètre PersistAllDeviceInstalls , vous pouvez mettre à jour vos pilotes de périphérique à l’aide de l’une des méthodes suivantes :

Résolution des problèmes de différences de configuration matérielle

Pour que le paramètre PersistAllDeviceInstalls fonctionne correctement, la configuration matérielle doit être identique sur l’ordinateur de référence et sur les ordinateurs de destination. La configuration matérielle comprend les composants suivants :

  • Fabrique et modèle matériels.

  • Firmware. Mises à jour, les révisions et les différences de configuration peuvent amener certains appareils à signaler des critères différents pour la correspondance des pilotes de périphérique ou à utiliser des ressources différentes. Par exemple :

    • Les appareils pci (Peripheral Component Interconnect) peuvent incorporer différents numéros de révision de sous-système dans leurs ID matériels signalés.

    • Les révisions du BIOS peuvent modifier l’espace de noms ACPI (Advanced Configuration and Power Interface). Cela amène le programme d’installation de Windows à signaler différemment les appareils existants ou à introduire des appareils existants en tant que nouveaux appareils.

    • Les différences de configuration du système BIOS peuvent amener les appareils système à réclamer des ressources de mémoire, d’E/S, d’accès direct à la mémoire (DMA) ou de demande d’interruption (IRQ).

  • Emplacement physique. Les configurations matérielles doivent utiliser les mêmes numéros d’emplacement, de port ou de socket pour se connecter à des appareils externes. Par exemple :

    • Les cartes d’extension PCI doivent être insérées dans les mêmes numéros d’emplacement.

    • Les périphériques USB doivent être connectés ou connectés aux mêmes numéros de port sur les mêmes contrôleurs hôtes USB et hubs intégrés.

    • Les périphériques de stockage doivent être connectés aux mêmes contrôleurs et canaux de stockage.

Différences à faible risque, à risque moyen et à risque élevé dans la configuration matérielle

Lorsque vous utilisez le paramètre PersistAllDeviceInstalls , toutes les différences matérielles peuvent entraîner des problèmes. Mais certaines différences sont plus susceptibles de causer des problèmes que d’autres.

Différences à faible risque

Pour les types de différences matérielles suivants, vous serez peut-être en mesure de contourner les conflits de pilotes potentiels tout en utilisant le paramètre PersistAllDeviceInstalls :

  • Vitesse d’horloge du processeur

  • Quantité de mémoire

  • Capacité du disque dur

  • Périphériques d’entrée externes, tels que les claviers et les périphériques de souris

  • Analyses

Différences à risque moyen

Pour les types de différences matérielles suivants, nous vous recommandons de ne pas utiliser le paramètre PersistAllDeviceInstalls :

  • Cartes vidéo

  • Lecteurs de stockage et lecteurs multimédias, tels que les lecteurs optiques et les lecteurs carte

  • Périphériques de bus internes ou intégrés, tels que les appareils USB ou 1394

Lorsque ces types de différences matérielles existent, l’utilisation de ce paramètre peut ne pas réduire le temps d’installation, même si vous travaillez autour de conflits potentiels de pilotes.

Différences à risque élevé

Pour les principales différences matérielles, n’utilisez pas le paramètre PersistAllDeviceInstalls . Ces différences incluent :

  • Carte mère ou marque de processeur

  • Contrôleurs de stockage

  • Différences de facteur de forme, comme un changement d’un ordinateur de bureau à un ordinateur portable ou d’un ordinateur portable à un ordinateur de bureau

  • Différences de disposition du clavier, comme une modification d’un clavier à 101 touches standard à un clavier japonais à 106 touches

  • Tous les autres appareils qui se trouvent dans le chemin d’énumération du volume de démarrage Windows

Types de problèmes qui peuvent se produire avec un changement de configuration matérielle

Même des différences apparemment mineures dans la configuration matérielle ou matérielle peuvent causer des problèmes graves ou facilement négligés, comme ceux-ci :

  • Instabilité du système

  • Impossibilité d’utiliser certaines des fonctionnalités de base ou étendues d’un appareil

  • Durées de démarrage étendues et durées d’installation étendues

  • Appareils mal nommés dans le dossier Appareils et imprimantes, Gestionnaire de périphériques et autres interfaces utilisateur liées à l’appareil

  • Problèmes système graves qui laissent l’ordinateur dans un état non démarrable

Différences de configuration matérielle pouvant entraîner des échecs de démarrage du système

Lorsque le matériel critique au démarrage n’est pas identique sur l’ordinateur de référence et les ordinateurs de destination, l’utilisation du paramètre PersistAllDeviceInstalls peut entraîner de graves problèmes système qui peuvent laisser l’ordinateur dans un état non démarrable.

Les packages de pilotes critiques au démarrage peuvent appartenir à l’une des classes d’installation d’appareil Windows suivantes, comme identifié par la directive ClassGUID dans la <section Version> des fichiers .inf dans leurs packages de pilotes.

Classe d’installation d’appareil fournie par le système ClassGUID

Système

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

Computer

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

Processeur

{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}

Disquette

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

Volume

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

USB

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

SBP2

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

1394

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

Énumération1394

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

Clavier

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

Souris

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

HIDClass

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

Ports

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

Pour plus d’informations sur ces classes d’installation d’appareil, consultez Classes d’installation d’appareils fournies par le système sur MSDN.

Matériel indétectable

Lorsque vous déployez un nouvel ordinateur sur un utilisateur final, certains matériels, comme un appareil amovible ou un appareil doté d’un commutateur marche/arrêt, peuvent ne pas être présents ou détectés lors du premier démarrage. Par défaut, lors du premier démarrage, le programme d’installation de Windows supprime l’état préconfiguré de l’appareil pour le matériel non détecté.

Pour déployer du matériel qui ne peut pas être présent ou détecté au premier démarrage, ajoutez tous les pilotes de périphérique applicables à l’image de référence, connectez ou activez les appareils applicables afin que Windows puisse les installer et utilisez le paramètre Microsoft-Windows-PnpSysprep/DoNotCleanUpNonPresentDevices lorsque vous capturez l’image.

Important L’utilisation du paramètre DoNotCleanUpNonPresentDevices peut entraîner le stockage inutile des états d’appareil excédentaires et contribuer à ralentir les temps de démarrage.

Résolution des conflits de pilotes

Pour éviter les conflits de pilotes entre des packages de pilotes indépendants critiques au démarrage, l’IHV doit s’assurer que chaque pilote de périphérique utilise des noms de service, des valeurs de clé de Registre et des noms de fichiers binaires différents.

Exemple de conflit potentiel de pilote

Dans l’exemple suivant, un IHV fictif nommé Fabrikam produit deux types de contrôleurs de stockage : StandardController et ExtremeController. Fabrikam suppose qu’un seul type de contrôleur de stockage est installé à la fois sur un ordinateur particulier.

Le package de pilotes définit les configurations StandardController et ExtremeController pour utiliser le même nom de service de pilote, storctrl. Le service de pilote storctrl utilise différents paramètres de service qui changent en fonction du matériel (StandardController ou ExtremeController) installé. Étant donné que StandardController et ExtremeController utilisent le même service, ils ne peuvent pas coexister.

Cet exemple montre le contenu du fichier de package de pilotes Storctrl.inf :

[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
...

Si StandardController se trouve sur l’ordinateur de référence et que ses paramètres sont conservés pendant la capture d’image, le service de pilote storctrl est préconfiguré. Si ExtremeController se trouve sur l’ordinateur de destination, Windows peut utiliser les paramètres préconfigurés et les fichiers destinés à StandardController. Ceci peut engendrer des résultats inattendus.

L’IHV peut vous aider à résoudre le conflit à l’aide de l’une des options suivantes :

  • Créez des packages de pilotes distincts qui ont des fichiers .inf distincts pour chaque configuration et importez uniquement le package de pilotes requis dans l’image Windows pendant le déploiement. Par exemple, fractionnez Storctrl.inf en deux fichiers .inf distincts, une version pour StandardController et une version pour ExtremeController, et importez uniquement le package de pilotes requis dans l’image Windows.
  • Créez un autre service dans le package de pilotes pour chaque configuration. Donnez à chaque service un nom différent (par exemple, storctrl et storctrlx) et pointez vers un fichier image binaire différent (par exemple, Storctrl.sys et Storctrlx.sys).

Vue d’ensemble des pilotes de périphérique et du déploiement