Windows Server 2022 : reagentc se fige (WinRE) — diagnostic, correctifs et redimensionnement de la partition de récupération

Sur Windows Server 2022, reagentc peut sembler « bloqué » plusieurs minutes. Ce guide explique la cause la plus fréquente (verrou WinRE tenu par une autre opération) et détaille une procédure sûre pour diagnostiquer, déverrouiller, puis réparer ou redimensionner la partition de récupération.

Sommaire

Vue d’ensemble de la situation

Contexte : tout juste après une réinstallation de Windows Server 2022, chaque exécution de reagentc /info (ou de toute autre sous‑commande, sauf / ?) fige la console plusieurs minutes, sans message. Le même gel affecte PowerShell ISE. SFC et DISM ne remontent aucune corruption. L’objectif est de réparer ou de redimensionner la partition de récupération avec reagentc.

Ce qui a été tenté et observé

ÉtapeAction ou constatRésultat
1Conseil initial : désactiver puis réactiver WinRE
reagentc /disablereagentc /enablereagentc /info
Les commandes se lancent mais restent longtemps sans réponse : la console est figée plusieurs minutes.
2Production d’un journal :
reagentc /disable /logpath C:\Temp\reagent.log
Le journal contient : « SetWinReOperationSyncKey – another installation in progress ».
3Réinstallation de PowerShell ISE via Paramètres ▸ Applications ▸ Fonctionnalités facultativesLe gel de PowerShell ISE disparaît (l’éditeur se relance normalement).
4Nouvelle tentative : attendre ~10 minutes après le lancement de reagentcLa commande finit par répondre : le problème est lié à un verrou et/ou à une opération de maintenance lente en arrière‑plan.

Pourquoi reagentc se fige ? L’explication claire

Le message du journal « SetWinReOperationSyncKey – another installation in progress » indique qu’un autre processus tient le verrou logiciel sur la gestion de WinRE (Windows Recovery Environment). En pratique, cela arrive lorsque :

  • Windows Update ou le service Windows Modules Installer (TrustedInstaller/TiWorker.exe) finalise une mise à jour qui modifie WinRE (montage de Winre.wim, nettoyage de composants, injection de pilotes, etc.).
  • Une installation de fonctionnalités facultatives (ex. : .NET, ISE, RSAT) ou des pilotes OEM vient d’être déclenchée.
  • Des opérations de maintenance sont en attente (staged) et doivent être rejouées au redémarrage.

Dans tous ces cas, reagentc attend silencieusement que le verrou se libère avant de modifier WinRE. Ce n’est donc pas un « plantage », mais une attente de verrou visant à éviter toute corruption de la partition ou de l’image de récupération.

Plan d’action rapide (si vous êtes pressé)

  1. Vérifier les mises à jour en attente et redémarrer si nécessaire :
powershell
Get-WindowsUpdateLog | Out-Null  # (facultatif, pour centraliser les journaux)
Get-Service usosvc, wuauserv, TrustedInstaller | Format-Table -Auto

Dans l’interface, ouvrez Paramètres ▸ Windows Update et installez ce qui est proposé. Redémarrez ensuite le serveur.

  1. Attendre la fin de l’activité de maintenance : patientez quelques minutes après ouverture de session (surveillez le CPU/disk via le Gestionnaire des tâches/Moniteur de ressources).
  2. Relancer proprement WinRE :
cmd
reagentc /disable
reagentc /enable
reagentc /info
  1. Si des opérations sont en suspens, purgez‑les puis redémarrez :
cmd
dism /online /cleanup-image /revertpendingactions
shutdown /r /t 0

Note : si la commande /revertpendingactions signale qu’elle n’est pas prise en charge en mode online, exécutez‑la en mode hors ligne depuis WinRE : dism /image:C:\ /cleanup-image /revertpendingactions.

Diagnostiquer finement le verrou WinRE

Activer la journalisation de reagentc

cmd
mkdir C:\Temp 2>NUL
reagentc /info /logpath C:\Temp\reagent.log
type C:\Temp\reagent.log

Si vous retrouvez la chaîne « another installation in progress », laissez la maintenance s’achever ou redémarrez pour forcer la reprise propre des opérations.

Observer les processus de maintenance

cmd
tasklist /v | findstr /i "tiworker trustedinstaller dism setuphost musnotification mo"

La présence et l’activité de TiWorker.exe/TrustedInstaller (CPU/disk non nuls) sont de bons indices qu’une phase de servicing est en cours.

Consulter les journaux pertinents

  • Observateur d’événements :
    • Journaux Windows ▸ Setup
    • Applications et services ▸ Microsoft ▸ Windows ▸ Servicing ▸ Operational
    • Applications et services ▸ Microsoft ▸ Windows ▸ WindowsUpdateClient ▸ Operational
  • Fichiers CBS/DIAGNOSTIC : C:\Windows\Logs\CBS\CBS.log, C:\Windows\Logs\DISM\dism.log.

Contrôles structurels de WinRE

ÉlémentCommandeAttendu / Remarques
État WinREreagentc /infoWindows RE status: Enabled + chemin de l’image (\\?\GLOBALROOT\device\harddiskX\partitionY\Recovery\WindowsRE).
Espace librediskpartlist disk, list volume
(voir la partition « Recovery »)
Au moins 1 Go libre recommandé pour les mises à jour WinRE récentes.
Fichiers WinREdir C:\Windows\System32\RecoveryPrésence de Winre.wim ou d’un ReAgent.xml cohérent.
Registre WinREreg query HKLM\System\CurrentControlSet\Control\WinRE /sWinrePath doit pointer vers \Recovery\WindowsRE\Winre.wim sur la bonne partition.

Remise en route : méthodes au cas par cas

Déverrouiller en douceur (scénario le plus courant)

  1. Installez les mises à jour proposées et redémarrez.
  2. À la reprise, attendez la fin de l’activité disque/CPU (2–10 minutes selon la charge).
  3. Exécutez : cmd reagentc /disable reagentc /enable reagentc /info

Purger des opérations en attente

Lorsque des actions de servicing sont « en file d’attente », vous pouvez les annuler pour repartir d’un état sain.

cmd
dism /online /cleanup-image /revertpendingactions
shutdown /r /t 0

Si non supporté en ligne, passez par WinRE :

WinRE> dism /image:C:\ /cleanup-image /revertpendingactions
WinRE> exit

Réinitialiser les pointeurs WinRE

cmd
reagentc /disable
reagentc /setreimage /path X:\Recovery\WindowsRE /target C:\Windows
reagentc /enable
reagentc /info

Remplacez X: par la lettre temporaire de la partition de récupération (voir plus bas pour l’attribuer/retirer).

Redimensionner la partition de récupération (quand l’espace manque)

Si la partition de récupération est trop petite, deux approches :

  • Étendre la partition existante si de l’espace non alloué est contigu derrière elle ;
  • Créer une nouvelle partition de récupération à la fin du disque, puis y déplacer WinRE.

Préparatifs et précautions

  • Point de sauvegarde (snapshot hyperviseur, sauvegarde d’état système, etc.).
  • BitLocker : s’il est actif, suspendez‑le avant toute opération sur les partitions : powershell Get-BitLockerVolume | Suspend-BitLocker -MountPoint "C:" -RebootCount 1 # ou manage-bde -protectors -disable C: -RebootCount 1
  • Planifiez un redémarrage si nécessaire.

Attribuer une lettre à la partition Recovery (temporaire)

cmd
diskpart
list disk
select disk 0           # adaptez si besoin
list partition
select partition <N>    # la partition Recovery
assign letter=R
exit

Vous pourrez ensuite parcourir R:\ et créer R:\Recovery\WindowsRE si nécessaire.

Étendre la partition Recovery existante

Si de l’espace non alloué est contigu après la partition Recovery, utilisez la Gestion des disques ou diskpart pour l’étendre.

cmd
diskpart
select disk 0
select partition <N>    # Recovery
extend
exit

Créer une nouvelle partition Recovery (GPT)

cmd
diskpart
select disk 0
select volume C
shrink desired=1024              # 1 Go
create partition primary size=1024
format quick fs=NTFS label="Recovery"
assign letter=R
set id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
gpt attributes=0x8000000000000001
exit

mkdir R:\Recovery\WindowsRE
copy C:\Windows\System32\Recovery\Winre.wim R:\Recovery\WindowsRE\Winre.wim

reagentc /disable
reagentc /setreimage /path R:\Recovery\WindowsRE /target C:\Windows
reagentc /enable
reagentc /info

# (Optionnel) retirer la lettre

diskpart
select volume R
remove letter=R
exit 

MBR : utilisez set id=27 pour typer la partition en « Recovery ».

Reconstruction complète de WinRE (dernier recours)

À employer si les pointeurs sont incohérents ou si l’image WinRE a dû être régénérée :

cmd
reagentc /disable
copy C:\Windows\System32\Recovery\Winre.wim X:\Recovery\WindowsRE\
reagentc /setreimage /path X:\Recovery\WindowsRE /target C:\Windows
reagentc /enable
reagentc /info

Remplacez X: par la lettre temporaire de la partition de récupération.

Bonnes pratiques pour éviter la récidive

  • Avant d’exécuter reagentc : vérifiez qu’aucune mise à jour ni installation de fonctionnalités n’est active.
  • Prévoyez une marge d’au moins 1 Go libre sur la partition de récupération pour les futures mises à jour WinRE.
  • Tenez votre image WinRE cohérente avec l’OS : après des mises à jour majeures, passez un reagentc /disable puis /enable pour la régénérer proprement si nécessaire.

Script d’audit rapide (optionnel)

Ce script PowerShell vérifie l’état de WinRE, tente une lecture journalisée et détecte un éventuel blocage prolongé (10 min).

powershell
$Log = "C:\Temp\reagent_audit.log"
New-Item -ItemType Directory -Path (Split-Path $Log) -ErrorAction SilentlyContinue | Out-Null

$job = Start-Job { reagentc /info /logpath C:\Temp\reagent_audit.log }
if (-not (Wait-Job $job -Timeout 600)) {
Write-Host "reagentc semble bloqué (10 min). Vérifiez l'activité de maintenance (TrustedInstaller/Windows Update)."
Stop-Job $job -Force | Out-Null
} else {
Receive-Job $job | Out-Null
Get-Content $Log | Select-String -SimpleMatch "another installation in progress","WinRE status","WinrePath"
} 

Résultat final obtenu (retour d’expérience)

Après réinstallation de PowerShell ISE et surtout après avoir laissé le système terminer l’opération WinRE en arrière‑plan, reagentc répond de nouveau normalement ; la gestion de la partition de récupération (vérification, redimensionnement, reconstruction) a pu être poursuivie sans autre incident.

Foire aux questions

Combien de temps un reagentc peut‑il rester « muet » sans que ce soit anormal ?

Entre 2 et 10 minutes est fréquent quand Windows termine une maintenance WinRE. Au‑delà de 15–20 minutes, investiguez les journaux et envisagez un redémarrage.

Puis‑je tuer TrustedInstaller ou TiWorker.exe pour « libérer » WinRE ?

Non recommandé. Ces processus gèrent l’intégrité des composants. Les interrompre peut corrompre l’image ou laisser des opérations en suspens.

DISM /revertpendingactions est‑il sans risque ?

Il annule des opérations en attente. À utiliser avec discernement, de préférence après sauvegarde/snapshot. En mode online, la commande peut être refusée ; exécutez‑la alors hors ligne depuis WinRE.

Faut‑il toujours recréer la partition Recovery ?

Non. Le plus souvent, patienter et redémarrer suffisent. On ne touche à la partition que si l’espace manque ou si les pointeurs sont incohérents.

Checklist minute

  • Mises à jour terminées et redémarrage effectué.
  • Activité CPU/disk revenue à la normale.
  • reagentc /disable puis /enable exécutés sans erreur.
  • Espace Recovery ≥ 1 Go libre.
  • Chemin WinRE valide (reagentc /info + entrée WinrePath du Registre).

En résumé

  • Le « gel » de reagentc n’était pas un plantage mais une attente de verrou WinRE déclenchée par une autre opération de servicing.
  • Attendre la fin des mises à jour, redémarrer, puis relancer reagentc résout la majorité des cas.
  • Si nécessaire, purgez les actions en attente et vérifiez l’intégrité des pointeurs/fichiers WinRE.
  • En cas d’espace insuffisant, agrandissez ou recréez la partition Recovery en respectant les précautions (BitLocker, sauvegardes).
Sommaire