KB5034441 : corriger l’erreur 0x80070643 sur Windows 10 22H2 (WinRE, CVE‑2024‑20666)

La mise à jour cumulative KB5034441 de Windows 10 22H2 échoue avec l’erreur 0x80070643 ? Voici une procédure éprouvée et détaillée pour redimensionner correctement la partition WinRE et installer la mise à jour, tout en préservant BitLocker et la conformité liée à CVE‑2024‑20666.

Sommaire

Vue d’ensemble

Depuis le 9 janvier 2024, l’installation de la mise à jour de sécurité KB5034441 (Windows 10 22H2) échoue fréquemment avec le code 0x80070643. Le journal d’installation révèle un échec lors du staging du fichier winre.wim au sein de la partition Windows Recovery Environment (WinRE) faute d’espace suffisant. Le correctif vise la vulnérabilité CVE‑2024‑20666 (contournement de BitLocker via WinRE) : l’image WinRE doit être mise à jour et signée, ce qui exige davantage d’espace que les partitions Recovery historiques (souvent 450–675 Mo).

Symptômes et messages typiques

  • Windows Update ou DISM retourne 0x80070643.
  • Dans les journaux (WindowsUpdate.log, setupact.log, DISM.log) : échec du montage/écriture de winre.wim sur la partition Recovery.
  • reagentc /info indique WinRE Enabled, mais la partition associée est trop petite.

Pourquoi l’échec ?

Pendant l’installation, Windows monte WinRE en lecture/écriture pour y déployer une version corrigée de winre.wim. Si la partition Recovery n’a pas ~250 Mo de marge libre supplémentaire (au‑delà de la place prise par l’image existante et les métadonnées), l’opération échoue et l’installeur abandonne avec 0x80070643. Les partitions créées par d’anciens OEM font typiquement 450–500 Mo : insuffisant pour la nouvelle image WinRE.

Avant de commencer (pré-requis et sécurité)

  • Compte administrateur local et session ouverte avec élévation (Exécuter en tant qu’administrateur).
  • BitLocker : en principe inutile de le suspendre car nous n’agissons que sur la partition Recovery, pas sur C:. Mais, par prudence opérationnelle, sauvegardez la clé de récupération (au cas où la table de partition provoquerait un challenge au redémarrage).
  • Sauvegarde : comme pour toute manipulation de partition, une image système ou un point de restauration récent est recommandé.
  • Poste UEFI/GPT : la majorité des PC récents. Pour les rares postes en BIOS/MBR, une variante est fournie plus bas.

Résolution : recréer une partition WinRE ≥ 750 Mo

Objectif : supprimer la partition WinRE sous‑dimensionnée, libérer ~750–1024 Mo contigus, créer une nouvelle partition NTFS, y copier winre.wim, la convertir en partition Recovery, réactiver WinRE, puis relancer KB5034441.

Résumé des étapes (vue consolidée)

ÉtapeCommandes / actionsBut
1. Vérifier WinREreagentc /infoContrôler l’état et l’emplacement de WinRE.
2. Désactiver WinREreagentc /disableDéverrouiller WinRE pour modification.
3. Supprimer l’ancienne RecoveryDiskPart : list diskselect disk 0list partitionselect partition <n>delete partition overrideÉliminer la partition 450–675 Mo.
4. Réallouer l’espaceRéduire C: (~750–1024 Mo si besoin) puis créer une partition NTFS de ≥ 750 Mo (lettre S:)Obtenir un bloc contigu ≥ 750 Mo.
5. Copier WinREmd S:\Recovery\WindowsRE
xcopy /h C:\Windows\System32\Recovery\winre.wim S:\Recovery\WindowsRE\
Placer winre.wim dans S:.
6. Enregistrer WinREreagentc /setreimage /path S:\Recovery\WindowsRE /target C:\Windows
reagentc /enable
Déclarer la nouvelle image WinRE.
7. Convertir en vraie partition RecoveryDiskPart : list diskselect disk 0list partitionselect partition <n>remove letter=Sset id=de94bba4-06d1-4d40-a16a-bfd50179d6acgpt attributes=0x8000000000000001Cacher et typer la partition (WinRE) sans lettre.
8. Relancer l’installationWindows Update ou DISM /online /add-packageKB5034441 s’installe correctement.

Procédure détaillée pas‑à‑pas (UEFI/GPT)

1) Inspecter l’état actuel

reagentc /info
  • Notez WinRE Status, WinRE location et le chemin actuel si présent.

2) Désactiver WinRE

reagentc /disable

Cette commande libère la partition WinRE pour manipulation.

3) Supprimer la partition WinRE trop petite

Ouvrez cmd en administrateur :

diskpart
list disk
select disk 0           (adaptez si votre OS est ailleurs)
list partition
select partition X      (identifiez la petite partition "Recovery" 450–675 Mo)
delete partition override
exit

Astuce d’identification : la partition Recovery est généralement en fin de disque, de type « Recovery ». En cas de doute, comparez la taille et la position indiquées par reagentc /info.

4) Créer une nouvelle partition NTFS ≥ 750 Mo

Si vous n’avez pas déjà un espace non alloué suffisant juste après C:, réduisez C: de ~750–1024 Mo :

diskpart
list volume
select volume C
shrink desired=1024 minimum=750
create partition primary size=1024
format quick fs=ntfs label="WinRE"
assign letter=S
exit

La taille recommandée est ≥ 750 Mo. Si votre OEM embarque un winre.wim personnalisé, prévoyez une marge supplémentaire (par ex. 900–1024 Mo).

5) Copier l’image WinRE

md S:\Recovery\WindowsRE
xcopy /h C:\Windows\System32\Recovery\winre.wim S:\Recovery\WindowsRE\

Vérifiez la présence du fichier :

dir /a S:\Recovery\WindowsRE\

6) Enregistrer et réactiver WinRE

reagentc /setreimage /path S:\Recovery\WindowsRE /target C:\Windows
reagentc /enable

Contrôlez immédiatement :

reagentc /info

À ce stade, WinRE Status doit être Enabled et le chemin temporaire peut encore référencer S: (c’est attendu, on cachera ensuite la partition).

7) Convertir la partition en véritable partition Recovery (sans lettre)

Revenez dans DiskPart pour enlever la lettre et typer la partition en « Windows Recovery » :

diskpart
list volume
select volume S
remove letter=S
list disk
select disk 0
list partition
select partition Y       (la partition que vous venez de créer)
set id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
gpt attributes=0x8000000000000001
exit
  • set id=de94… définit le type GPT « Windows Recovery Environment ».
  • gpt attributes=0x8000000000000001 cache la partition et la marque comme requise (pas de lettre).

Refaites un reagentc /info : la ligne WinRE location doit désormais afficher un chemin \?\GLOBALROOT\device\harddisk…\partition… (sans lettre).

8) Relancer KB5034441

Deux options :

  • Windows Update : chercher et installer les mises à jour.
  • DISM (si vous disposez du paquet) : DISM /Online /Add-Package /PackagePath:<KB5034441.cab>.

Après redémarrage, vérifiez l’Historique des mises à jour : KB5034441 doit figurer « Installée ».

Variantes et cas particuliers

Postes BIOS/MBR (peu courant)

La logique est identique, mais le typage de la partition diffère. Après copie de winre.wim :

diskpart
list disk
select disk 0
list partition
select partition Y
remove letter=S
set id=27 override
exit

Ici, id=27 correspond à la partition Recovery sur MBR.

Partition Recovery non adjacente à C:

Certains scripts d’automatisation supposent que la partition WinRE est juste après C: et échouent lorsque ce n’est pas le cas (ou lorsque l’index GPT diffère). Dans ces situations, la suppression/création manuelle décrite dans cet article reste la voie la plus fiable.

BitLocker : faut‑il le suspendre ?

La procédure agit sur la partition Recovery, pas sur C:. En pratique, la suspension de BitLocker n’est pas requise. Néanmoins, toute modification de la table de partition peut, selon les firmwares, déclencher une demande de clé de récupération au premier redémarrage. D’où la recommandation : conservez votre clé BitLocker à portée de main.

Et si winre.wim est manquant ?

Sur des postes durcis, il arrive que C:\Windows\System32\Recovery\winre.wim n’existe pas. Copiez la version canonique de WinRE depuis une source de confiance (médias d’installation correspondants à votre build) avant d’exécuter reagentc /setreimage.

Contrôles post‑opération

  • reagentc : reagentc /infoStatus: Enabled, Location sans lettre (GLOBALROOT).
  • Espace : la partition nouvellement créée doit mesurer ≥ 750 Mo.
  • Journal : plus aucune erreur 0x80070643 à l’installation.

Automatisation (exemple de script)

Pour un lot réduit de postes, ce squelette batch illustre la logique (à adapter/valider en pré‑prod) :

@echo off
setlocal enabledelayedexpansion

rem 1) Désactiver WinRE
reagentc /disable || (echo [ERREUR] reagentc disable & exit /b 1)

rem 2) DiskPart - supprimer l'ancienne partition Recovery (exige identification manuelle)
echo list disk>dp.txt
echo select disk 0>>dp.txt
echo list partition>>dp.txt
rem TODO: parser la sortie pour détecter la partition <700 Mo et construire :
rem echo select partition X>>dp.txt
rem echo delete partition override>>dp.txt

rem 3) Réduire C: et créer S:
echo list volume>>dp.txt
echo select volume C>>dp.txt
echo shrink desired=1024 minimum=750>>dp.txt
echo create partition primary size=1024>>dp.txt
echo format quick fs=ntfs label="WinRE">>dp.txt
echo assign letter=S>>dp.txt
echo exit>>dp.txt
diskpart /s dp.txt || (echo [ERREUR] DiskPart & exit /b 1)

rem 4) Copier winre.wim
if not exist "S:\Recovery\WindowsRE" md "S:\Recovery\WindowsRE"
xcopy /h /y "C:\Windows\System32\Recovery\winre.wim" "S:\Recovery\WindowsRE" || (echo [ERREUR] copie winre.wim & exit /b 1)

rem 5) Enregistrer WinRE
reagentc /setreimage /path S:\Recovery\WindowsRE /target C:\Windows || exit /b 1
reagentc /enable || exit /b 1

rem 6) Cacher/typer la partition (GPT)
>dp2.txt echo list disk
>>dp2.txt echo select disk 0
>>dp2.txt echo list partition
rem TODO: select partition Y correspondant à S:
rem Une approche fiable : utiliser "reagentc /info" puis "detail volume" pour trouver l'index.
>>dp2.txt echo select partition Y
>>dp2.txt echo remove
>>dp2.txt echo set id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
>>dp2.txt echo gpt attributes=0x8000000000000001
>>dp2.txt echo exit
diskpart /s dp2.txt || exit /b 1

rem 7) Vérification
reagentc /info & exit /b 0 

Important : l’identification robuste de la partition à supprimer/créer exige un parsing prudent de la sortie DiskPart. Pour des déploiements à grande échelle, privilégiez un outil d’orchestration (Configuration Manager, Intune + scripts validés) et un inventaire préalable.

Erreurs fréquentes et corrections

  • Utilisation de select volume au lieu de select partition pour delete partition override : la commande delete partition requiert une partition sélectionnée. Corrigez la séquence DiskPart.
  • Ordre des opérations « remove letter » vs reagentc /setreimage : enregistrez d’abord WinRE via S:, puis retirez la lettre et appliquez l’ID/les attributs GPT.
  • Taille insuffisante : si l’image OEM est volumineuse, passez à 900–1024 Mo.
  • WinRE déjà désactivé : si reagentc /info affiche Disabled, la procédure reste valable ; la réactivation se fait en étape 6.
  • Partition Recovery déplacée : si un autre utilitaire a déjà créé une nouvelle partition Recovery, assurez-vous que reagentc /info pointe bien vers le bon emplacement (GLOBALROOT sans lettre).

Alternative : chemin sans lettre (avancé)

Vous pouvez éviter l’assignation d’une lettre en utilisant le chemin GLOBALROOT lors de reagentc /setreimage. Cela suppose de connaître l’index disque/partition.

reagentc /setreimage /path \\?\GLOBALROOT\device\harddisk0\partitionY\Recovery\WindowsRE /target C:\Windows
reagentc /enable

Cette approche est utile sur des serveurs verrouillés ou des scripts où l’assignation de lettres est proscrite.

Questions fréquentes (FAQ)

Q : Puis‑je étendre la partition WinRE existante au lieu d’en créer une nouvelle ?
R : Oui, mais uniquement si un espace non alloué contigu est disponible immédiatement après la partition Recovery. Dans la plupart des configurations OEM/historiques, ce n’est pas le cas, d’où l’approche « supprimer et recréer ».

Q : Est‑ce risqué pour mes données ?
R : Nous n’altérons pas la partition C: (hors réduction contrôlée), ni vos données. Respectez les commandes à la lettre et conservez une sauvegarde/récupération BitLocker.

Q : Pourquoi 750 Mo minimum ?
R : Pour absorber la taille de la nouvelle image WinRE signée et la marge nécessaire aux opérations de montage/maintenance. Des images OEM personnalisées requièrent parfois davantage de place.

Q : Cette panne concerne aussi Windows Server ?
R : Oui, un symptôme similaire a été observé sur Windows Server 2022 (KB5034439) ; la logique de remédiation est comparable (redimensionner WinRE).

Bonnes pratiques en environnement géré

  • Inventorier la taille de WinRE sur le parc (script PowerShell recensant les partitions de type Recovery et leur taille).
  • Standardiser la taille cible (≥ 1 Go) pour anticiper de futures mises à jour WinRE.
  • Orchestrer via Intune/ConfigMgr : exécuter la remédiation avant l’offre de KB5034441, puis basculer en déploiement requis.
  • Communication : prévenir les utilisateurs d’un éventuel redémarrage et d’une demande ponctuelle de clé BitLocker.

Checklist rapide

  • reagentc /disable exécuté.
  • ✅ Ancienne partition Recovery supprimée (delete partition override).
  • ✅ Nouvelle partition NTFS ≥ 750 Mo créée (S:).
  • winre.wim copié dans S:\Recovery\WindowsRE.
  • reagentc /setreimage + /enable effectués.
  • ✅ Partition typée Recovery (GUID) et cachée (attributs GPT).
  • reagentc /info : Enabled + GLOBALROOT.
  • ✅ KB5034441 installée sans 0x80070643.

Dépannage complémentaire

ProblèmeCause probableCorrectif
Access is denied pendant delete partitionPartition encore utilisée (WinRE non désactivé)Exécuter reagentc /disable puis réessayer.
Not enough usable free space pour créer S:Espace fragmenté / pas contigu après C:Réduire C: un peu plus (1024–1536 Mo), ou déplacer/retirer une partition intermédiaire si politique le permet.
KB5034441 échoue encoreWinRE non correctement enregistréreagentc /info → si Disabled, répéter /setreimage puis /enable.
Demande de clé BitLocker au redémarrageChangement de table de partitions détecté par l’UEFI/TPMEntrer la clé, démarrer le système, puis vérifier que BitLocker est sain.

Conclusion

Le code erreur 0x80070643 lors de l’installation de KB5034441 sur Windows 10 22H2 provient quasi systématiquement d’une partition WinRE trop petite. En recréant une partition ≥ 750 Mo, en y déposant winre.wim puis en la typant correctement en Windows Recovery, l’installation aboutit et la mitigation de CVE‑2024‑20666 est mise en place. La procédure ci‑dessus est fiable, reproductible et adaptée tant aux postes individuels qu’aux environnements gérés (après industrialisation).


Annexe A – Séquence complète (copier/coller)

:: 1) Vérif & désactivation
reagentc /info
reagentc /disable

:: 2) Supprimer ancienne partition Recovery (adapter X)
diskpart
list disk
select disk 0
list partition
select partition X
delete partition override
exit

:: 3) Créer une nouvelle partition NTFS de 1024 Mo (S:)
diskpart
list volume
select volume C
shrink desired=1024 minimum=750
create partition primary size=1024
format quick fs=ntfs label="WinRE"
assign letter=S
exit

:: 4) Copier l'image WinRE
md S:\Recovery\WindowsRE
xcopy /h C:\Windows\System32\Recovery\winre.wim S:\Recovery\WindowsRE\

:: 5) Enregistrer & activer WinRE
reagentc /setreimage /path S:\Recovery\WindowsRE /target C:\Windows
reagentc /enable
reagentc /info

:: 6) Cacher et typer la partition en Recovery (GPT)
diskpart
list disk
select disk 0
list partition
select partition Y
remove
set id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
gpt attributes=0x8000000000000001
exit

:: 7) Vérification finale
reagentc /info 

Annexe B – Points d’attention

  • Taille : ciblez 900–1024 Mo si vous gérez des images OEM enrichies (drivers, langpacks).
  • Ordre : enregistrez WinRE (/setreimage) avant de retirer la lettre, sauf si vous utilisez le chemin GLOBALROOT.
  • Déploiement massif : masquez/temporisez la KB le temps de la remédiation des partitions, puis déployez la mise à jour.

Récapitulatif essentiel

  • Erreur d’installation : 0x80070643.
  • Cause : WinRE sous‑dimensionnée empêche le staging de winre.wim.
  • Correctif : recréer WinRE (NTFS ≥ 750 Mo), copier winre.wim, reagentc /setreimage + /enable, typer en Recovery, réinstaller KB5034441.
  • BitLocker : pas de désactivation nécessaire en standard, mais conservez la clé de récupération.

En appliquant cette méthode, l’installation de KB5034441 se déroule normalement et votre environnement retrouve la conformité attendue (BitLocker/WinRE).

Sommaire