La mise à jour de sécurité KB5034439 échoue avec l’erreur 0x80070643 sur Windows Server 2022/21H2 ? La cause la plus courante est une partition WinRE trop petite. Voici la procédure fiable pour corriger, puis installer la remplaçante KB5042322.
Vue d’ensemble
Sur Windows Server 2022 (version 21H2), l’installation de la mise à jour de sécurité KB5034439 peut se solder par l’erreur 0x80070643 (ERROR_INSTALL_FAILURE). Dans la grande majorité des cas, la racine du problème est la mise à jour du Windows Recovery Environment (WinRE) qui ne parvient pas à s’appliquer faute d’espace libre suffisant dans la partition de récupération. Microsoft a retiré KB5034439 et l’a remplacée par KB5042322, qui contient le même correctif WinRE. L’installation requiert au minimum 250 Mo d’espace libre dans la partition WinRE pour aboutir.
Symptômes typiques
- Windows Update télécharge la mise à jour, tente l’installation, puis affiche 0x80070643.
- Dans Event Viewer > Applications and Services Logs > Microsoft > Windows > WinREAgent, des événements indiquent un échec de mise à jour ou de montage de
winre.wim
. - Le journal
C:\Windows\Logs\CBS\CBS.log
mentionne des erreurs lors de l’opération de maintenance de l’image WinRE. reagentc /info
montre un Windows RE location inexistant, erroné ou Status: Disabled.
Ce qui bloque
- Partition WinRE trop petite/saturée : l’image
winre.wim
mise à jour ne tient pas. - WinRE désactivé ou absent : l’agent de mise à jour ne trouve pas de cible.
- Distribution via WSUS/MECM : cette mise à jour WinRE spécifique n’est pas publiée sur WSUS/MECM ; elle n’est proposée que via Windows Update.
Ce qui a changé côté Microsoft
Le correctif WinRE diffusé initialement via KB5034439 a été remplacé par KB5042322. Sur un serveur affecté, l’objectif n’est donc pas d’« forcer » KB5034439 mais de mettre la partition WinRE à la bonne taille, puis de laisser Windows Update proposer et installer KB5042322.
Pré-requis et bonnes pratiques
- Sauvegarde/snapshot : effectuez une sauvegarde ou un snapshot (VM) avant toute opération sur les partitions.
- Fenêtre de maintenance : même si l’opération est rapide, prévoyez une fenêtre pour redémarrage si nécessaire.
- BitLocker : si
C:
est chiffré, suspendez temporairement la protection avant les opérations de partitionnement (ex. :manage-bde -protectors -disable C:
) et réactivez-la ensuite. - Clusters/HA : basculez la charge hors du nœud avant modification.
Procédure recommandée
Objectif : garantir ≥ 250 Mo libres dans une partition WinRE valide, puis installer KB5042322 via Windows Update.
Vérifier l’état actuel de WinRE
reagentc /info
Notez : statut Enabled/Disabled, chemin de WinRE (Windows RE location) et Boot Configuration Data. Repérez aussi le disque/numéro de partition retourné dans le chemin (ex. \\?\GLOBALROOT\device\harddisk0\partition4\Recovery\WindowsRE
).
Désactiver WinRE
reagentc /disable
Cette étape libère les verrous sur la partition et permet de la recréer proprement.
Préparer l’espace libre
Réduisez la partition système (généralement C:
) de 250 Mo au minimum afin de créer l’espace nécessaire juste après la partition OS.
diskpart
list disk
sel disk <index_du_disque_OS>
list part
sel part <index_partition_OS>
shrink desired=250 minimum=250
Astuce : si shrink
échoue (fichiers inamovibles), essayez minimum=250
sans desired
, libérez un peu plus d’espace (300–500 Mo), ou utilisez la défragmentation. Assurez-vous que l’espace libre soit contigu immédiatement après la partition OS.
Recréer la partition WinRE
Si une ancienne partition WinRE existe, supprimez-la :
sel part <index_partition_WinRE>
delete partition override
Puis créez la nouvelle partition en fonction du style de partition du disque :
Style de disque | Commandes DiskPart | Remarques |
---|---|---|
GPT (UEFI) | create partition primary id=de94bba4-06d1-4d40-a16a-bfd50179d6ac gpt attributes=0x8000000000000001 format quick fs=ntfs label="Windows RE tools" | Le GUID « de94bba4… » identifie une partition WinRE. Les attributs GPT la marquent comme cachée et requise. |
MBR (Legacy BIOS) | create partition primary id=27 format quick fs=ntfs label="Windows RE tools" rem Si nécessaire : set id=27 | L’ID 27 correspond à la partition de récupération. Ne lui assignez pas de lettre. |
Réactiver WinRE et valider
exit
reagentc /enable
reagentc /info
Attendez le statut Enabled et vérifiez que le chemin pointe bien sur la nouvelle partition WinRE. Si nécessaire, forcez le chemin :
reagentc /setreimage /path R:\Recovery\WindowsRE
reagentc /enable
(R:
étant une lettre temporaire que vous auriez montée sur la partition WinRE juste pour l’opération.)
Installer la mise à jour remplaçante
Ouvrez Windows Update et lancez une recherche. Installez KB5042322, qui remplace KB5034439. Un redémarrage peut être requis.
Vérification facultative : la version WinRE (dans winre.wim
) doit être ≥ 10.0.20348.2201. Deux options :
- Observateur d’événements > WinREAgent : événements de succès après mise à jour.
- Inspection de l’image : copiez temporairement
winre.wim
depuis Windows RE location et lancez :DISM /Get-ImageInfo /ImageFile:<chemin_vers_winre.wim>
Procédure condensée (mémo)
reagentc /info
pour l’état.reagentc /disable
.diskpart
: réduire la partition OS (≥ 250 Mo).- Recréer la partition WinRE (GPT : GUID WinRE + attributs ; MBR : ID 27) et formater en NTFS.
reagentc /enable
puis/info
pour valider.- Windows Update : installer KB5042322.
Tableau de diagnostic rapide
Symptôme | Indicateur | Action |
---|---|---|
0x80070643 lors de l’installation | Événements WinREAgent d’échec | Redimensionner/recréer WinRE puis relancer via Windows Update |
WinRE introuvable | reagentc /info → Disabled | Créer partition WinRE, /setreimage , /enable |
Impossible de réduire C: | shrink échoue | Libérer plus d’espace, défragmenter, viser 300–500 Mo si possible |
Pas de mise à jour proposée en WSUS/MECM | Catalogue vide pour ce correctif | Utiliser Windows Update directement pour KB5042322 |
Automatisation : script d’exemple PowerShell
Le script ci‑dessous (à exécuter en PowerShell admin, sur un serveur non‑BitLocker ou avec BitLocker suspendu) : vérifie WinRE, réduit la partition OS de 300 Mo, crée la partition WinRE (détection GPT/MBR), puis réactive WinRE. Adaptez selon vos contraintes et testez d’abord en pré‑prod.
# AVERTISSEMENT : sauvegardez/snapshot avant usage.
# Objectif : réserver ~300 Mo pour WinRE et l'activer proprement.
\$targetShrinkMB = 300
# 1) Déterminer le disque système et le style (GPT/MBR)
\$sysDisk = Get-Partition -DriveLetter C | Get-Disk
\$gpt = \$sysDisk.PartitionStyle -eq 'GPT'
# 2) Partition OS (C:)
\$osPart = Get-Partition -DriveLetter C
# 3) Désactiver WinRE (sans erreur si déjà désactivé)
Start-Process -FilePath reagentc.exe -ArgumentList '/disable' -Wait -NoNewWindow
# 4) Réduire C: (si possible)
# Remarque : sous Windows Server, Shrink via Resize-Partition demande des droits admin et de l'espace libre contigu.
Resize-Partition -DriveLetter C -Size (\$osPart.Size - (\$targetShrinkMB \* 1MB)) -ErrorAction Stop
# 5) Créer la partition WinRE dans l'espace libéré
\$free = Get-PartitionSupportedSize -DiskNumber \$sysDisk.Number -PartitionNumber \$osPart.PartitionNumber
\$newStart = \$free.SizeMax
\$newSize = (\$targetShrinkMB \* 1MB)
# Sur certains serveurs, SizeMax ne reflète pas l'espace post‑OS immédiatement.
# On positionne la nouvelle partition à la fin maximale disponible.
\$newPart = New-Partition -DiskNumber \$sysDisk.Number -UseMaximumSize:\$false -Size \$newSize -AssignDriveLetter:\$false -ErrorAction Stop
# 6) Formater en NTFS (sans lettre)
Format-Volume -Partition \$newPart -FileSystem NTFS -NewFileSystemLabel 'Windows RE tools' -Confirm:\$false
# 7) Marquer le type WinRE selon GPT/MBR
if (\$gpt) {
\# GUID WinRE + attributs (cachée/required)
\$null = Set-Partition -DiskNumber \$sysDisk.Number -PartitionNumber \$newPart.PartitionNumber -GptType '{de94bba4-06d1-4d40-a16a-bfd50179d6ac}'
\$null = Set-Partition -DiskNumber \$sysDisk.Number -PartitionNumber \$newPart.PartitionNumber -IsHidden:\$true -IsReadOnly:\$false
\# L'équivalent des attributs GPT détaillés est appliqué par le type WinRE + hidden.
} else {
\# MBR : ID 27
\$null = Set-Partition -DiskNumber \$sysDisk.Number -PartitionNumber \$newPart.PartitionNumber -MbrType 'IbmType0x27'
\$null = Set-Partition -DiskNumber \$sysDisk.Number -PartitionNumber \$newPart.PartitionNumber -IsHidden:\$true
}
# 8) Monter temporairement pour définir le chemin (lettre R: si libre)
\$letter = 'R'
if ((Get-Volume -FileSystemLabel 'Windows RE tools' -ErrorAction SilentlyContinue) -eq \$null) {
\$null = Set-Partition -DiskNumber \$sysDisk.Number -PartitionNumber \$newPart.PartitionNumber -NewDriveLetter \$letter
} else {
\$letter = (Get-Volume -FileSystemLabel 'Windows RE tools').DriveLetter
}
# 9) Créer l'arborescence attendue
New-Item -ItemType Directory -Path "\$(\$letter):\Recovery\WindowsRE" -Force | Out-Null
# 10) Réactiver WinRE et fixer le chemin
Start-Process -FilePath reagentc.exe -ArgumentList "/setreimage /path \$(\$letter):\Recovery\WindowsRE" -Wait -NoNewWindow
Start-Process -FilePath reagentc.exe -ArgumentList '/enable' -Wait -NoNewWindow
# 11) Nettoyage : retirer la lettre (partition cachée)
\$null = Remove-PartitionAccessPath -DiskNumber \$sysDisk.Number -PartitionNumber \$newPart.PartitionNumber -AccessPath "\$letter:\`" -ErrorAction SilentlyContinue
# 12) Vérification
Start-Process -FilePath reagentc.exe -ArgumentList '/info' -Wait -NoNewWindow
Write-Host "WinRE recréé et activé. Lancez Windows Update (KB5042322)."
Cas particuliers et contournements
Partition OEM entre l’OS et la fin du disque
Si une partition OEM (outils constructeur) empêche de créer WinRE juste après C:
, deux options :
- Créer WinRE juste après l’OEM si le chemin n’est pas un pré‑requis chez vous (Windows peut référencer n’importe quelle partition WinRE valide).
- Réordonner (déplacement de partitions) : opération plus risquée, à réserver aux cas extrêmes et après sauvegarde complète.
Disque dynamique, Storage Spaces, SAN
Les volumes logiques fonctionnent, mais assurez‑vous d’avoir un espace contigu libre. Sur Storage Spaces, créez l’espace libre dans le pool du disque système. Sur disques dynamiques, préférez une migration vers GPT basique si possible ; à défaut, créez WinRE sur un disque basique du même hôte et pointez‑y reagentc
.
BitLocker
Suspendez la protection sur C:
avant shrink
, sinon la réduction peut échouer. N’oubliez pas de réactiver BitLocker après la réussite (manage-bde -protectors -enable C:
).
Serveur sans partition WinRE initiale
Sur certaines images « durcies », WinRE a été supprimé. La procédure de recréation ci‑dessus est suffisante ; veillez à créer l’arborescence \Recovery\WindowsRE
et à exécuter reagentc /setreimage
avant /enable
.
Serveurs hors‑ligne / sans accès Internet
Le correctif WinRE concerné n’est pas publié sur WSUS/MECM ; prévoyez un accès provisoire à Windows Update pour l’installation de KB5042322 (ou un relais/proxy qui autorise le trafic Windows Update).
Vérifications post‑remédiation
- Windows Update ne propose plus KB5034439 (retirée) et applique KB5042322 sans erreur.
- Event Viewer > WinREAgent : événements de réussite.
- reagentc /info : Windows RE status: Enabled, chemin valide.
- Version WinRE :
10.0.20348.2201
ou supérieure danswinre.wim
.
Erreurs fréquentes et solutions
Message/Code | Cause probable | Solution |
---|---|---|
0x80070643 | Partition WinRE trop petite | Recréer WinRE (≥ 250 Mo), puis KB5042322 |
reagentc /enable échoue | Chemin WinRE manquant | reagentc /setreimage /path R:\Recovery\WindowsRE puis /enable |
shrink refuse | Fichiers inamovibles, espace insuffisant | Défragmenter, viser 300–500 Mo, libérer de l’espace |
WinRE toujours Disabled | Partition non marquée WinRE | Vérifier GUID (GPT) ou ID 27 (MBR), attributs cachés |
Checklist opérateur
- Snapshot/sauvegarde OK.
reagentc /info
exécuté et archivé.- WinRE désactivé (
/disable
). diskpart shrink
réussi (≥ 250 Mo).- Partition WinRE créée : GPT = GUID WinRE + attributs ; MBR = ID 27.
- Format NTFS, sans lettre.
reagentc /setreimage
(si nécessaire), puis/enable
.- KB5042322 installée via Windows Update.
- Journal WinREAgent propre,
reagentc /info
à jour.
FAQ
Faut‑il exactement 250 Mo ?
250 Mo est le minimum pour la mise à jour. Par prudence, réservez 300–500 Mo pour absorber de futures mises à jour WinRE.
Peut‑on conserver l’ancienne partition WinRE ?
Oui si elle comporte assez d’espace libre. Sinon, supprimez‑la et recréez‑la. Évitez les partitions multiples de récupération ; un seul emplacement WinRE actif suffit.
Pourquoi Windows Update seulement ?
Le mécanisme de mise à jour WinRE utilisé ici n’est pas publié en tant que correctif classique WSUS/MECM. Il est conçu pour passer par Windows Update.
Et si la machine est « gold image » ?
Ajustez la partition WinRE dans l’image de référence pour éviter d’avoir à corriger chaque clone.
Exemples de sorties attendues
Exemple reagentc /info
après remédiation :
Windows RE status: Enabled
Windows RE location: \\?\GLOBALROOT\device\harddisk0\partition4\Recovery\WindowsRE
Boot Configuration Data (BCD) identifier: {current}
En bref
L’échec de KB5034439 avec 0x80070643 sur Windows Server 2022/21H2 provient quasi toujours d’une partition WinRE trop petite. Agrandissez ou recréez la partition pour garantir ≥ 250 Mo libres, réactivez WinRE, puis installez la mise à jour remplaçante KB5042322 via Windows Update. Après cela, vérifiez que WinRE est Enabled et que la version de l’image est au moins 10.0.20348.2201.
Conseil final : intégrez ce correctif dans votre pipeline d’images/automation (Build/Runbook) afin que vos futurs serveurs naissent avec une partition WinRE suffisante, évitant ainsi toute régression lors des prochaines mises à jour.