[PROBLÈME] %WinPEDriver% plante l'installation de Windows

Vous recherchez un programme, une solution, posez votre question ici.
Répondre
Avatar du membre
Auteur du sujet
ThiWeb
Administrateur
Administrateur
Messages : 10211
Enregistré le : il y a 17 ans
Localisation : On earth
Contact :

[PROBLÈME] %WinPEDriver% plante l'installation de Windows

Message par ThiWeb »

Bonjour à tous,

Depuis des mois, pour ne pas dire des années, Microsoft n'intègre pas les pilotes NVMe et Wi-Fi dans les ISO.

Résultat lors d'une installation clean de Windows :
- Pas de disque détecté
- Pas de Wi-Fi


Pour contrecarrer cette absurdité, j'avais trouvé une méthode archi simple, consistant à créer un dossier %WinPEDriver% à la racine des partitions de la clé USB d'installation, et d'y coller les drivers nécessaires. Ces derniers s'installent donc automatiquement et silencieusement.

Résultat : Tout est détecté, tout s'installe parfaitement et tout va bien.

Mais depuis quelques semaines, je tombe sur des Dell et aujourd'hui des ASUS (très récents), qui m'affichent ce message d'erreur : 0x80070103 – 0x40031

Après quelques recherches, je trouve la cause : Le fameux dossier %WinPEDriver% 🤦‍♂️
En le supprimant, tout fonctionne, mais plus aucun pilote ne s'installe automatiquement.
Je suis obligé de tout installer manuellement en allant chercher le pilote dans tel et tel dossier.

Trop chiant 😡

L'explication de Copilot est que les machines et les UEFI récents (UEFI CA 2023), pré-chargent une sorte d'environnement WinPE contenant déjà des pilotes NVMe.
Si ces derniers tentent d'être écrasés, comme c'est le cas avec le dossier %WinPEDriver%, alors l'installation de Windows plante.

Oui mais... si ces putains de pilotes pré-chargés étaient les bons, alors le disque serait détecté et tout irait bien.
Sauf que non, ce n'est pas le cas...

Ma question est donc : Connaissez-vous une méthode simple et rapide pour installer silencieusement des pilotes durant la pré-installation de Windows ?
Un sript CMD ? Autres ? Je prends tout.

J'ai déjà tenté de déplacer le dossier %WinPEDriver% partout... sans succès.
J'ai essayé %OEM%\$1\Drivers sans succès...

Je peux toujours très bien installer la machine avec les bons pilotes manuellement. Mais c'est le côté silencieux qui m'intéresse.

Merci d'avance à tous 😘

ThiWeb
Avatar du membre
Starman
Habitué
Habitué
Messages : 491
Enregistré le : il y a 1 an

Message par Starman »

Salut,

Perso, depuis quelques temps, j'aime bien croiser les LLM et les laisser recouper l'info en s'expliquant entre elles.

Ça donne une réponse combo plus solide (Gemini/GPT).

Et je te soumets directement la réponse (en attendant d'autres retours)...
Gemini supervisé par GPT a écrit :
Salut ThiWeb,

Pour commencer, l'explication de Copilot est à côté de la plaque. L'UEFI ne "précharge" pas un WinPE qui viendrait écraser tes pilotes. Dans ton cas, l'erreur 0x80070103 semble directement liée aux limites du mécanisme $WinPEDriver$ (et non %WinPEDriver%) sur les architectures modernes. Lors de l'utilisation de $WinPEDriver$, certains scénarios modernes de chargement PnP des pilotes, notamment avec les pilotes de stockage, peuvent provoquer des conflits (un pilote déjà chargé en mémoire par WinPE ne pouvant pas simplement être écrasé par Setup via $WinPEDriver$), ce qui se traduit par cette fameuse erreur.

Microsoft documente d'ailleurs précisément ces limitations et présente des alternatives plus contrôlables pour les déploiements modernes (notamment à cause des contrôleurs Intel VMD / RST).

Puisque ton objectif est de garder une clé USB "couteau suisse" où tu peux glisser/déposer tes pilotes sans prise de tête, voici les deux vraies méthodes professionnelles :



Méthode 1 : Le chargement dynamique avec Drvload (Le plus adapté pour toi)

C'est probablement la solution qui colle le mieux à ton besoin de clé universelle. Si tu changes ou ajoutes des pilotes régulièrement et que tu ne veux pas recompiler ton ISO à chaque fois, tu peux utiliser l'outil natif drvload.exe.
Il permet d'injecter des pilotes (.inf) à chaud dans l'environnement WinPE en cours d'exécution, avant le lancement de setup.exe.

Le principe est d'avoir tes pilotes sur ta clé, et d'exécuter une logique (via un script adapté à l'environnement) qui les charge au démarrage :

Code : Tout sélectionner

for /r X:\Drivers %%i in (*.inf) do drvload "%%i"
Pour automatiser ça de manière totalement transparente, il suffit d'éditer une seule fois le fichier startnet.cmd (situé dans le Windows\System32 de ton boot.wim) pour qu'il lance ce scan juste avant d'appeler l'installation. Ton Setup démarrera alors avec les bons pilotes VMD/RST déjà chargés en mémoire.



Méthode 2 : L'intégration propre via DISM (La plus robuste)

Si tu as un modèle de PC précis que tu déploies à la chaîne, la méthode reine reste d'intégrer définitivement les pilotes au boot.wim de ta clé. Attention : le pilote NVMe/VMD indispensable à la détection du disque doit être injecté dans l'environnement WinPE qui fait tourner le Setup (et pas juste dans l'image Windows finale).

1. Repère le bon index :
Le fichier boot.wim contient généralement l'environnement WinPE et le Setup. Identifie le bon index avec la commande :

Code : Tout sélectionner

Dism /Get-WimInfo /ImageFile:X:\sources\boot.wim
(Remplace X: par ta clé USB).

2. Monte l'image correspondante :

Code : Tout sélectionner

Dism /Mount-Image /ImageFile:X:\sources\boot.wim /Index:2 /MountDir:C:\Mount
3. Injecte ton dossier de pilotes :

Code : Tout sélectionner

Dism /Add-Driver /Image:C:\Mount /Driver:C:\Chemin\Vers\Tes\Drivers /Recurse
4. Démonte et sauvegarde :

Code : Tout sélectionner

Dism /Unmount-Image /MountDir:C:\Mount /Commit


Et le fichier autounattend.xml ?
C'est une méthode officiellement prise en charge par Microsoft pour ajouter des pilotes pendant la passe windowsPE (en les copiant dans le Driver Store de l'installation cible). Ça fonctionne, mais ce n'est pas strictement équivalent à Drvload pour garantir qu'un pilote de stockage est déjà actif dans le WinPE qui pilote le Setup, et cela reste moins flexible qu'un chargement dynamique pour une clé multi-usages.

P.S. : Désactiver l'Intel VMD dans le BIOS fonctionne toujours pour faire réapparaître le disque par magie, mais si tu installes des PC récents à la chaîne, c'est du bricolage qui traite le symptôme au lieu du problème. Autant adapter ta clé !
Avatar du membre
Auteur du sujet
ThiWeb
Administrateur
Administrateur
Messages : 10211
Enregistré le : il y a 17 ans
Localisation : On earth
Contact :

Message par ThiWeb »

Drvload ne fonctionne pas automatiquement et Dism m'oblige à modifier boot.wim à chaque changement d'ISO.
Trop chiant.

Mais je ne pense pas qu'il y ait de solution en vrai...

Le problème touche les PC étant en UEFI CA 2023.
Donc, uniquement des PC très récents.
Et Microsoft depuis ce jour, semble avoir changé complètement la méthode WinPE.
Donc, fini %WinPEDriver%, fini winpeshl que j'ai également testé, fini drvload...

Je ne vois pas comment dans cette situation, je pourrais lancer un truc automatiquement.
Il semble que Microsoft plante l'install si %WinPEDriver% est présent.
Et si un script alternatif est tenté, rien ne se lance...
Sécurité bla bla bla...

Quoiqu'il en soit, on se retrouve obligé d'installer manuellement tous les pilotes nécessaires à la détection de la base : Disque + Wi-Fi 🤦‍♂️

P.S. : Je ne pige vraiment pas pourquoi Microsoft n'inclue pas dans les ISO des pilotes de BASE pour les SSD et le Wi-Fi.
Sachant pour installer Windows, il faut un SSD... et du Wi-Fi, la base de la base de la base !

ThiWeb
Répondre

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités