Lors d’une mise à niveau vers Windows 11, l’installeur échoue avec 0xC1900101 0x40021 (phase SECOND_BOOT/SYSPREP_RESPECIALIZE) et un BugCheck 0x7E lié à WPDBUSENUM. Voici le guide pas‑à‑pas pour diagnostiquer, corriger et réussir l’installation.
Échec d’installation ou de mise à niveau vers Windows 11
Vue d’ensemble du problème
- Le programme d’installation se termine par l’erreur 0xC1900101 0x40021 pendant la phase SECOND_BOOT / SYSPREP_RESPECIALIZE.
- Les journaux SetupDiag et WinDbg affichent un BugCheck 0x7E – SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (module : nt) et signalent un « driver hang » lors du retrait d’un périphérique WPDBUSENUM (lecteur SDHC).
- Symptômes connexes fréquents : reboot en boucle durant l’upgrade, retour automatique en Windows 10/ancien build, ou BSOD « SYSTEM_THREAD_EXCEPTION_NOT_HANDLED ».
Ce que cela signifie : le code 0xC1900101 signale quasi toujours un driver ou un matériel incompatible. La sous‑valeur 0x40021 indique une défaillance au second redémarrage de la phase d’installation. Le BugCheck 0x7E pointe un thread noyau tombé en exception (souvent un pilote). WPDBUSENUM est le service d’énumération des périphériques de stockage amovibles (cartes SD, clés USB, lecteurs multimédias). Un « hang » sur un lecteur SDHC interne ou une carte micro‑SD oubliée est un scénario classique.
Solutions proposées et actions validées
Repérer le pilote ou périphérique fautif
Votre objectif : identifier le composant qui bloque la transition SECOND_BOOT quand Windows tente de réappliquer les pilotes et de « respecializer » le système.
Journaux à collecter et à lire
| Journal / fichier | Emplacement | Ce qu’il faut chercher | Mots‑clés utiles |
|---|---|---|---|
setupapi.dev.log | C:\Windows\INF\ | Échecs d’arrêt/retrait de périphériques, query‑remove pending, time‑out, pilotes refusant l’éjection. | failed, hang, device install, QueryRemove, WPDBUSENUM, SD |
setupact.log, setuperr.log | C:\$Windows.~BT\Sources\Panther\ et C:\Windows\Panther\ | Phase SECOND_BOOT / SYSPREP_RESPECIALIZE, codes retour 0xC1900101, étapes avant le reboot. | SYSPREP, RESPECIALIZE, Rollback, Failure |
Dossier Rollback | C:\$Windows.~BT\Sources\Rollback\ | Pourquoi l’upgrade a été annulée ; dernier périphérique traité. | LastDriver, FailureActions |
| Minidumps BSOD | C:\Windows\Minidump\ (ou MEMORY.DMP) | BugCheck 0x7E, pile noyau pointant vers un pilote .sys tiers. | 0x7E, System Thread, ntoskrnl |
| Journal Système | Observateur d’événements → Windows Logs > System | Événements 219 (Kernel‑PnP : pilote ne répond pas), 157/129 (stockage), 225 (blocage d’éjection). | Kernel-PnP, storahci, WPDBUSENUM |
Astuce : conservez et partagez Panther et Rollback en l’état pour une relecture ultérieure (copie vers un autre disque ou archive .zip).
Analyse rapide avec SetupDiag
Exécutez l’outil et générez un rapport verbeux :
SetupDiag.exe /Output:%UserProfile%\Desktop\SetupDiagResults.log /Verbose
Recherchez une signature du type :
Failure Details:
Error: 0xC1900101
Phase: SECOND_BOOT
Operation: SYSPREP_RESPECIALIZE
...
Last Successful Driver: <nom_de_pilote.sys> (WPDBUSENUM / SDHC)
Lecture de dump avec WinDbg (si BSOD)
.symfix
.reload
!analyze -v
.ecxr
kv
lmvm <pilote_suspect> ; affiche version, fournisseur, date
Dans un 0x7E, le 1er paramètre est le code exception, le 2e l’adresse fautive ; si la pile mentionne un pilote de stockage/USB/SD, concentrez‑vous sur celui‑ci.
Mettre à jour ou retirer les composants problématiques
L’objectif est de supprimer toute interférence pendant la phase respecialize.
- Mettre à jour le BIOS/UEFI ainsi que les pilotes chipset et stockage (AHCI/RAID, NVMe). Redémarrez.
- Désactiver dans l’UEFI ou débrancher tous les périphériques non essentiels : lecteur de cartes SD, Wi‑Fi, Bluetooth, USB‑C/Thunderbolt, stations d’accueil, dongles, imprimantes, HDD/SSD externes, cartes mémoire, etc.
- Retirer tout média laissé dans les lecteurs internes (ex. : micro‑SD oubliée).
- Mettre à jour/désinstaller les pilotes conflictuels :
- Gestionnaire de périphériques → Affichage > Afficher les périphériques cachés → désinstaller les périphériques fantômes de stockage/USB/SD.
- Lister les pilotes tiers et leur version :
pnputil /enum-drivers > "%UserProfile%\Desktop\drivers.txt" - Supprimer un pilote problématique (ex.
oem42.inf) :pnputil /delete-driver oem42.inf /uninstall /force /reboot
Filtrage rapide des périphériques en erreur (PowerShell) :
Get-PnpDevice -PresentOnly | Where-Object { $_.Status -ne 'OK' } |
Sort-Object -Property Class, FriendlyName |
Format-Table Class, FriendlyName, InstanceId, Status -Auto
Conseil : si vous utilisez un pilote de lecteur SD de marque (Realtek/Ricoh/Genesys), essayez la version fournie par Windows Update, ou désactivez le contrôleur SD dans le BIOS le temps de l’installation.
Procédure ayant résolu le cas concret
- Désactivation du pilote USB‑C (contrôleur/Hub USB‑C instable).
- Retrait d’une carte micro‑SD oubliée dans le lecteur interne (source du driver hang WPDBUSENUM).
- Relance de l’installation depuis la clé USB d’install.
- Retrait de la clé USB au premier redémarrage (juste après l’écran d’extinction), pour forcer le boot sur le disque interne et éviter un redémarrage sur le média.
- Mise à jour automatique du BIOS pendant le processus, puis poursuite de l’installation.
- Résultat : Windows 11 installé sans aucune erreur.
Mesures générales si le problème persiste
Vérifier l’intégrité disque et système
chkdsk C: /scan
chkdsk C: /f (planifie une réparation au prochain démarrage)
wmic diskdrive get status,model
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
Désactiver temporairement la sécurité et les filtres tiers
- Désinstallez ou mettez à jour les antivirus/antimalwares non Microsoft (ils installent parfois des pilotes de filtre fichiers).
- Suspendez BitLocker le cas échéant :
manage-bde -protectors -disable C: -RebootCount 1
Démarrage minimal (conseillé avant upgrade)
- msconfig → Démarrage sélectif (charger les services système uniquement).
- Masquer les services Microsoft → Désactiver le reste.
- Gestionnaire des tâches → onglet Démarrage → Désactiver tout le non essentiel.
Activer un journal de démarrage
bcdedit /set {current} bootlog Yes
Après redémarrage, consultez C:\Windows\ntbtlog.txt pour les pilotes qui se chargent/échouent.
En dernier recours : installation propre
- Sauvegardez vos données (et pilotes si nécessaire :
pnputil /export-driver * D:\DriversBackup). - Créez un média USB officiel et faites une installation personnalisée après suppression de l’ancienne partition système (attention, cela efface les applications).
Guides pas‑à‑pas détaillés
Identifier un blocage WPDBUSENUM / lecteur SD
- Retirez toute carte SD/micro‑SD et redémarrez.
- Dans le BIOS/UEFI, désactivez temporairement le contrôleur lecteur de cartes/USB‑C/Thunderbolt.
- Dans Windows, ouvrez Gestionnaire de périphériques → Rubrique Périphériques portables / Contrôleurs de bus USB : désinstallez le périphérique problématique (case « Supprimer le logiciel du pilote » si proposée).
- Vérifiez
setupapi.dev.logpour une séquenceQueryRemove→CancelouTimeoutsur un lecteur SD/USB. - Relancez la mise à niveau.
Exemples de motifs d’erreurs dans les logs
| Symptôme | Extrait typique du log | Action recommandée |
|---|---|---|
| Éjection bloquée d’un périphérique amovible | Kernel-PnP 225: The application ... has prevented the removal of device ... WPDBUSENUM | Fermer les applis, retirer la carte/clé, désactiver temporairement le contrôleur dans l’UEFI. |
| Timeout pilote de stockage/USB | setupapi.dev.log: QueryRemove: Timed out waiting for device ... | Mettre à jour/désinstaller le pilote, remplacer câble/hub, refaire l’upgrade sans périphériques. |
| BugCheck 0x7E | Arg1: c0000005, Arg2: <adresse>, Probably caused by: <pilote.sys> | Analyser le dump, revenir à une version stable du pilote, réessayer l’installation. |
Bonnes pratiques avant toute nouvelle tentative
- Espace disque : minimum 30 Go libres sur la partition système.
- Périphériques : ne laisser branchés que clavier, souris, écran et la connexion réseau filaire si nécessaire.
- BIOS/UEFI : désactiver provisoirement Secure Boot seulement si recommandé par l’OEM (rare). Laisser l’option AHCI/RAID telle qu’elle était pour éviter l’écran bleu au démarrage.
- Point de restauration et sauvegarde complète avant l’upgrade.
Comprendre les codes d’erreur (pour cibler vite)
| Code | Signification | Implication pratique |
|---|---|---|
0xC1900101 | Échec lié à un pilote (driver) ou à un matériel. | Rechercher un .sys problématique, retirer/désactiver le périphérique correspondant. |
0x40021 | Échec lors de SECOND_BOOT, souvent pendant SYSPREP_RESPECIALIZE. | Examiner les retraits/éjections de périphériques et les changements de pilotes au redémarrage. |
BugCheck 0x7E | SYSTEM_THREAD_EXCEPTION_NOT_HANDLED. | Un thread noyau tombe en exception : suspectez le pilote listé dans la pile (!analyze -v). |
Checklist express de réussite
- Mettre à jour BIOS, chipset, stockage, GPU.
- Retirer/désactiver : USB‑C, Thunderbolt, Wi‑Fi, Bluetooth, lecteur de cartes, dongles, imprimantes.
- Enlever toute carte micro‑SD ou clé USB avant le premier redémarrage.
- Nettoyer les pilotes douteux (
pnputil) et démarrer en mode minimal. - Vérifier disque (
chkdsk), système (sfc,DISM). - Relancer l’upgrade depuis un média sain ; retirer la clé au premier reboot.
Informations complémentaires utiles
- 0xC1900101 est presque toujours driver/hardware. Ne perdez pas de temps sur des optimisations logicielles secondaires avant d’isoler le périphérique fautif.
- Le BugCheck 0x7E pointe souvent vers un pilote noyau ; l’adresse d’exception et la pile aident à cibler le fichier
.sysen cause. - Conserver et partager les dossiers
PantheretRollbackpermet une analyse communautaire ultérieure (sans ré‑exécuter l’échec).
Cas similaire en cours d’investigation
Un autre utilisateur obtient la même erreur après une infection par ransomware et deux tentatives de réinstallation. Dans ce contexte, des pilotes de filtre ou des restes système peuvent perturber la phase respecialize.
Étapes recommandées
- Priorité : récupération des journaux. Copiez :
C:\$Windows.~BT\Sources\Panther\(dontsetupact.log,setuperr.log,Compat*).C:\$Windows.~BT\Sources\Rollback\(toute la hiérarchie).%SystemRoot%\INF\setupapi.dev.log,%SystemRoot%\Panther\,%SystemRoot%\Minidump\.
- Publier les journaux pour analyse (masquez les infos sensibles si besoin). La signature de l’échec pointera le périphérique/pilote bloquant.
- Nettoyage post‑malware :
- Désinstallez les suites de sécurité résiduelles (même si elles ne sont plus actives).
- Vérifiez l’absence de pilotes de filtre restants (ex. : entrées de type UpperFilters/LowerFilters dans les classes stockage – manipulation réservée aux utilisateurs avancés).
- Appliquer les correctifs listés plus haut (désactivation de l’USB‑C/lecteur SD, retrait des médias amovibles, mise à jour BIOS/pilotes, boot minimal,
pnputilpour supprimer le pilote incriminé). - Si le système reste instable : privilégier une installation propre après sauvegarde, afin d’éviter qu’un résidu du ransomware ne sabote l’upgrade.
Annexes pratiques
Scripts utiles
Exporter tous les pilotes tiers avant une clean install
mkdir D:\DriversBackup
pnputil /export-driver * D:\DriversBackup
Lister les pilotes non Microsoft
pnputil /enum-drivers | findstr /I /V "Microsoft Windows"
Créer un rapport matériel simplifié (PowerShell)
Get-PnpDevice -PresentOnly |
Select-Object Class, FriendlyName, InstanceId, Status |
Sort-Object Class, FriendlyName |
Out-File "$env:USERPROFILE\Desktop\Inventaire_PnP.txt"
Plan d’action résumé (flow)
- Préparation (sauvegardes, espace disque, BIOS/pilotes jour).
- Déconnexion/désactivation des périphériques non essentiels.
- Lecture des journaux Panther/Rollback,
setupapi.dev.log. - Isolation du pilote fautif (WPDBUSENUM/SDHC, USB‑C, stockage, etc.).
- Mise à jour/désinstallation/contournement (retirer carte SD, désactiver contrôleur).
- Relancer l’upgrade ; retirer le média au premier redémarrage.
- Validation (journaux propres, absence d’événements 219/225, démarrage stable).
Après l’installation réussie
- Réactiver dans l’UEFI les fonctions désactivées (USB‑C/Thunderbolt, lecteur de cartes) une fois Windows 11 stabilisé.
- Installer les versions WHQL les plus récentes des pilotes nécessaires.
- Exécuter Windows Update et vérifier de nouveau l’Observateur d’événements.
FAQ courte
Pourquoi l’erreur survient‑elle toujours au même moment ?
Parce que SYSPREP_RESPECIALIZE reconfigure le système et réapplique les pilotes. C’est là qu’un périphérique amovible ou un pilote instable peut bloquer le retrait/chargement et provoquer 0xC1900101.
Puis‑je laisser la clé USB d’installation branchée ?
Non recommandé : retirez‑la au premier redémarrage pour éviter un boot erroné sur le média et certains conflits de montage.
Une restauration ou une réinitialisation Windows suffit‑elle ?
Parfois, mais si un pilote tiers cause un BugCheck, il faut d’abord l’isoler/mettre à jour/désactiver. La clean install n’est qu’un dernier recours.
En appliquant ce guide — identification méthodique via les journaux, désactivation des composants non essentiels (notamment USB‑C/lecteur SD), retrait des médias amovibles et mise à jour du BIOS/pilotes — vous neutralisez les causes majeures du duo 0xC1900101 0x40021 + BugCheck 0x7E et maximisez vos chances d’une migration Windows 11 sans heurts.

