Installation de Windows 7 et USB 3

Bonjour,

Il s’est passé un bon moment depuis mon dernier article. Avec le départ de 2 collègues récemment, c’est chargé au boulot, et je n’ai plus le jus d’écrire des articles. J’ai aussi largement baissé le rythme en photo 🙁

Le problème

M’enfin bon, comme dirait Gaston. Le sujet du jour, c’est l’installation de Windows 7 sur un PC récent. Je ne suis pas trop “matériel”, donc je n’ai pas cherché en détail, mais il semblerait qu’Intel ne supporte plus l’EHCI sur ses cartes-mères. Ils sont passé à une autre norme qui est l’XHCI. La conséquence de ça ? C’est que quand vous voulez installer Windows 7 (qui n’a apparemment de pilotes pour l’XHCI, car il est trop vieux), vous vous retrouvez devant l’écran d’installation sans clavier ni souris. Pourtant dans le BIOS c’était ok, mais une fois arrivé l’écran d’installation, plus rien. Pas pratique ! Si vous avez encore des ports PS/2, ou un écran tactile,  vous pourrez vous en sortir. Mais sinon… Eh bien c’est la galère ! Suivez le guide, je vais vous montrer comment je m’en suis sorti.

La solution

La solution consiste à intégrer les pilotes USB3 à l’image de Windows qui sert à l’installation (fichiers install.wim et boot.wim sur le media qui sert d’installation). Intel a créé un petit utilitaire qui permet de faire cela automatiquement… en principe. Vous trouverez cet utilitaire ici : https://downloadcenter.intel.com/fr/download/25476/Windows-7-USB-3-0-Creator-Utility.

Dans mon cas (HP 400 G4 SFF), ça n’a pas fonctionné, y compris en utilisant les astuces décrite à la fin du fichier PDF (P10) livré avec l’utilitaire. Je laisse une copie de ce fichier accessible en suivant ce lien : Intel-Win7-USB3.0-Creator-Readme-v3. On vous conseille entre autre de lancer l’utilitaire en tant qu’administrateur.

La solution consiste à utiliser le mode opératoire décrit en bas de la page 1 et jusqu’à la page 7, dans la partie : “DISM Graphical User Interface (GUI) Tool”. Pour cela, il faut installer DISM GUI, et suivre le modop qui n’est pas compliqué, mais un peu long. Bien sûr, il faut utiliser les pilotes USB3 adaptés à votre matériel.

Une fois la procédure terminée, l’installation de Windows 7 peut se faire comme d’habitude.

Le problème suivant

Donc mon cas, la galère a continué, car mon premier PC me sert à créer une image de déploiement pour les suivants. Jusqu’ici nous en sommes restés à une procédure relativement “manuelle” : je prépare le premier PC en installant l’OS, puis les pilotes, les mises à jour, et les logiciels communs (libreoffice, firefox, ccleaner, notepad++, etc…). Ensuite je passe un coup de sysprep (options “Generalize” et “mode OOBE”). Une fois la machine éteinte, je réalise une image du PC avec le liveCD Clonezilla. L’image sera copiée sur les PC suivants. Dans le cas de mes fameux HP 400 G4, tout va bien jusqu’à l’image Clonezilla, et au moment de démarrer le PC, je tombe comme d’habitude sur le mode OOBE, où vous choisissez la langue, la timezone, etc… et là, plus de clavier, ni de souris 🙁 Le sysprep a dû dégager les pilotes USB3. Je n’ai plus qu’à tout recommencer 🙁

Les tentatives, et la solution

Sur le coup, je me suis dit que j’avais oublié de modifier la clé registre qui indiquent à Windows de ne pas supprimer les pilotes “tiers” lors du sysprep. La clé est la suivante : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\Sysprep\Settings\sppnp. Il faut mettre la clé PersistAllDeviceInstalls à 1.

Mais non. Quand j’ai refait la manip une deuxième fois, ça n’a pas fonctionné non plus. Bon… arrivé à ce stade, j’ai bien sûr pris la précaution de faire une image de mon système tout propre AVANT le sysprep. Les essais étaient moins couteux !

J’ai essayé pas mal de choses, même des trucs idiots, comme coller les .inf dans le dossier de pilotes de Windows, mais il n’en veut pas, y compris quand on les colle après le sysprep, ou même après le premier démarrage (en sortant le disque dur du PC). Je me suis rapidement orienté vers le fichier “unattend.xml” qui permet d’automatiser la sortie du mode OOBE, celui où vous choisissez la timezone, la langue, le clavier, etc…. Une fois bien configuré, on arrive automatiquement sur l’écran de login. Voilà un lien vers mon fichier unattend, si cela peut dépanner. Bien sûr, modifiez les lignes pour l’adapter à ce que vous voulez faire, surtout le mot de passe admin. Le fichier est à placer dans le répertoire “C:\Windows\System32\Sysprep”. Même arrivé là, pas moyen de faire avaler les pilotes 🙁 J’ai aussi tenté de mettre la variable “PersistAllDeviceInstalls” à la bonne valeur dans ce fichier, mais râté aussi.

Pour arriver au résultat, j’ai encore dû lancer l’installation des pilotes en ligne de commande. Pour cela, il faut avoir décompressé le fichier EXE des pilotes que vous récupérez sur le site du constructeur. Chez HP, on récupère des fichiers sp123456.exe. En l’exécutant, il décompresse son contenu dans “C:\SWSETUP”. Il suffit de récupérer le contenu du bon répertoire là-dedans, et de le coller par exemple dans “C:\USB3” avant le sysprep. La ligne de commande qui permet l’installation des pilotes est la suivante :

C:\USB3\setup.exe /S

Cette ligne de commande, je l’ai collée dans un fichier “SetupComplete.cmd” qui doit être placé dans le répertoire “C:\Windows\Setup\Scripts”. N’hésitez pas à créer les répertoires s’ils n’existent pas (le C:\Windows ne devrait pas vous poser de problème…).

Voilà comment ça se passe lorsque l’image va être descellée :
– Windows va faire ses configurations habituelles, et redémarrer
– L’écran OOBE ne sera pas exécuté, car chaque étape est remplacée par une config dans le fichier “unattend.xml”.
– Quand l’écran de login apparaît, il n’y a pas encore de souris/clavier
– C’est à ce moment seulement que le script “SetupComplete.cmd” est exécuté, lançant l’installation silencieuse des pilotes USB3. Après quelques secondes, ce sera ok. Ouf !

Si vous n’utilisez pas le fichier “unattend.xml”, Windows ne va pas au bout de sa configuration, et n’exécute donc pas le script d’installation des pilotes. J’ai essayé aussi !

Conclusion

La méthode doit pouvoir s’adapter avec d’autres machines, et peut-être d’autres pilotes. Une fois le fichier “unattend.xml” généré, il peut servir sans adaptation pour d’autres modèles aussi.

Le plus simple serait d’utiliser un serveur MDT pour déployer vos machines. Mais en tant que particulier, on a rarement un serveur MDT chez soit… Du coup j’ai préféré poster la solution ici, même si c’est long, mais avec l’espoir que ça serve à quelqu’un On retrouve des infos un peu partout sur le net, mais j’ai dû combiner les différents sites pour avoir toutes les infos. La doc de microsoft sur les différentes étapes et modes du sysprep sont très instructifs pour comprendre comment ça marche, en particulier la page sur les différentes étapes : https://technet.microsoft.com/fr-fr/library/cc749307(v=ws.10).aspx

@+ !

Michaël


2 Commentaires

  • Fred.G

    22 octobre 2019

    >Bonsoir, super merci, on va peut être voir cela car moi aussi je galère.

    Répondre
    • MichaelT

      25 octobre 2019

      Bonne chance ! Pour utiliser MDT depuis près de 2 ans maintenant, je peux confirmer que ça facilite bien la vie, surtout au niveau de ce problème-là. Après, MDT pose ses propres problèmes 🙁

      Répondre

Laisser un commentaire