Votre serveur Windows Server 2016 Essentials est lent et les mises à jour nocturnes échouent ? Voici une procédure complète, concrète et reproductible pour rétablir Windows Update et les performances, avec une option de montée de version vers Windows Server 2022 Essentials.
Symptômes et objectifs
- Symptômes : système globalement lent (démarrage, ouverture de session, console, rôles AD/DNS/FS), files d’attente Windows Update bloquées, codes d’erreur DISM/WU récurrents.
- Objectifs : restaurer la capacité de mise à jour, éliminer la lenteur liée au magasin de composants, stabiliser le socle (SSU/LCU), puis décider sereinement d’une montée de version vers Windows Server 2022 Essentials.
Diagnostic et vérifications préalables
Intégrité système (SFC & DISM)
Exécutez ces commandes en tant qu’administrateur. Elles détectent et réparent les corruptions du système et du magasin de composants (WinSxS).
cmd
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
À connaître :
sfc
répare les fichiers système à partir du cache local.DISM /RestoreHealth
remet en état le magasin de composants ; s’il ne trouve pas de source, vous pouvez fournir une image d’installation (voir plus loin).
Journalisation utile
- WindowsUpdate.log : sur Windows Server 2016, générez-le depuis les traces ETW :
powershell Get-WindowsUpdateLog -LogPath C:\Temp\WindowsUpdate.log
- Observateur d’évènements : Applications et services > Microsoft > Windows > WindowsUpdateClient, DISM, Setup et Servicing.
- Logs CBS/DISM :
C:\Windows\Logs\CBS\CBS.log
etC:\Windows\Logs\DISM\dism.log
. - Identifiez le KB fautif (notamment s’il réapparaît à chaque tentative) et toute erreur type
0x800f081f
,0x80073712
,0x800f0831
.
Espace disque et santé matérielle
- Vérifiez au moins 10 Go libres sur C: (plus si possible). Exemple :
cmd fsutil volume diskfree C:
- Disque : lancez
chkdsk
au prochain démarrage s’il remonte des erreurs, et vérifiez l’état SMART via l’outil du constructeur ou le contrôleur RAID. - Mémoire : observez Gestionnaire des tâches / Moniteur de ressources ; si la RAM est en permanence > 85 %, envisagez une extension.
Services et rôles non indispensables
Sur un contrôleur de domaine ou un serveur de fichiers, certains services peuvent être désactivés s’ils ne sont pas utilisés : Fax, Print Spooler (si pas d’impression), Windows Search (si aucun besoin d’indexation), etc. Contrôlez aussi les agents tiers (sauvegarde, supervision, antivirus) qui peuvent monopoliser l’I/O disque.
Contexte réseau, WSUS et proxy
- Si le serveur pointe vers un WSUS, vérifiez que le KB existe côté WSUS et que la stratégie « Utiliser un serveur de mise à jour interne » est cohérente (GPO : Administrative Templates > Windows Components > Windows Update).
- Si un proxy est requis, validez la configuration WinHTTP :
cmd netsh winhttp show proxy
Ajustez si nécessaire :cmd netsh winhttp reset proxy
Procédure éprouvée de réparation
Préparation sûre
- Planifiez un créneau de maintenance et sauvegardez. En machine virtuelle, créez un instantané (snapshot).
- Ouvrez une console Invite de commandes ou PowerShell en administrateur.
Réinitialiser les composants Windows Update
Cette remise à zéro élimine les téléchargements corrompus et recrée les dossiers clés.
cmd
net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
del /q "C:\ProgramData\Microsoft\Network\Downloader\qmgr*.dat"
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old
net start msiserver
net start bits
net start cryptSvc
net start wuauserv </code></pre>
<h3>Contrôle d’intégrité après remise à zéro</h3>
<pre><code>cmd
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
</code></pre>
<p>Si <code>DISM</code> échoue faute de source, utilisez l’ISO de la même édition/niveau de build :</p>
<pre><code>cmd
DISM /Online /Cleanup-Image /RestoreHealth /Source:wim:D:\sources\install.wim:2 /LimitAccess
</code></pre>
<p><em>(Remplacez <code>D:</code> par la lettre du lecteur ISO et <code>:2</code> par l’index correspondant à l’édition.)</em></p>
<h3>Installer d’abord le SSU puis le LCU</h3>
<p>Installez en priorité le <strong>Servicing Stack Update</strong> (SSU) correspondant, avant le <strong>Latest Cumulative Update</strong> (LCU). Si l’interface Windows Update refuse le KB :</p>
<ol>
<li>Téléchargez le <code>.msu</code> du KB en question (via le <em>Microsoft Update Catalog</em>).</li>
<li>Extrayez le <code>.cab</code> :
<pre><code>cmd
mkdir C:\Temp\cab
expand -F:* C:\Temp\KBxxxxxxx.msu C:\Temp\cab
Injectez le package directement :
cmd
DISM /Online /Add-Package /PackagePath:C:\Temp\cab\KBxxxxxxx.cab
Si le retour DISM
est 0x0
(succès), redémarrez immédiatement.
Reprise du cycle Windows Update
Après redémarrage :
cmd
usoclient StartScan
usoclient StartDownload
usoclient StartInstall
Relancez une recherche et vérifiez que les mises à jour se téléchargent et s’installent sans erreur.
Tableau récapitulatif des actions
Étape | Commande / Action | Finalité |
---|---|---|
Téléchargement manuel | Télécharger le correctif défaillant (.msu) depuis le catalogue. | Contourne Windows Update. |
Extraction du CAB | expand -F:* C:\temp\KBxxxxxxx.msu C:\temp\cab | Récupère le package .cab. |
Installation forcée | DISM /Online /Add-Package /PackagePath:C:\temp\cab\KBxxxxxxx.cab | Injecte directement la mise à jour. |
Redémarrage | Redémarrer immédiatement après DISM si 0x0. | Finalise l’intégration. |
Résultat attendu
Dans les cas de corruption du magasin de composants, la séquence SFC → DISM /RestoreHealth → DISM /Add‑Package règle la cause racine. Les mises à jour reprennent, la file d’attente se vide, et la charge disque/CPU redescend, redonnant de la réactivité au serveur.
Dépannage avancé
Erreurs fréquentes et pistes concrètes
Code | Signification | Action recommandée |
---|---|---|
0x800f081f | Source introuvable | Fournir un /Source:wim: correspondant à l’édition, ou injecter le SSU manquant. |
0x80073712 | Composant manquant/corrompu | DISM /RestoreHealth , puis installation manuelle du KB fautif via /Add-Package . |
0x800f0831 | LCU dépend d’un SSU manquant | Installer d’abord le SSU de la même branche, redémarrer, puis le LCU. |
0x80240017 | Échec d’installation non spécifié | Réinitialiser WU (SoftwareDistribution/catroot2), vérifier l’espace disque et l’antivirus. |
Analyser et nettoyer le magasin de composants
cmd
DISM /Online /Cleanup-Image /AnalyzeComponentStore
DISM /Online /Cleanup-Image /StartComponentCleanup
Astuce : évitez /ResetBase
sur les serveurs critiques, car il empêche la désinstallation d’anciennes mises à jour.
État « en attente de redémarrage » persistant
Certains KB laissent le système en état RebootPending. Vérifiez :
cmd
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending"
Si la clé est présente, redémarrez. Si le problème persiste, corrigez les paquets cassés (voir /Add-Package
ci‑dessus) plutôt que de modifier le registre.
Réparation à partir de l’image d’installation (méthode fiable)
cmd
dism /Get-WimInfo /WimFile:D:\sources\install.wim
DISM /Online /Cleanup-Image /RestoreHealth /Source:wim:D:\sources\install.wim:INDEX /LimitAccess
Remplacez INDEX
par l’édition correspondant exactement à votre système (Datacenter/Standard, Desktop Experience). Cette méthode fournit une source saine à DISM
.
Script de réinitialisation complet (à exécuter en administrateur)
cmd
@echo off
echo === Arret services de mise a jour ===
net stop wuauserv & net stop cryptSvc & net stop bits & net stop msiserver
echo === Purge caches ===
del /q "C:\ProgramData\Microsoft\Network\Downloader\qmgr*.dat"
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old
echo === Redemarrage services ===
net start msiserver & net start bits & net start cryptSvc & net start wuauserv
echo === SFC/DISM ===
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
echo === Analyse WinSxS ===
DISM /Online /Cleanup-Image /AnalyzeComponentStore
echo Terminé. Redemarrez si demande. </code></pre>
<h2>Performance : retrouver de la réactivité</h2>
<h3>Mesures immédiates</h3>
<table>
<thead>
<tr>
<th>Symptôme</th>
<th>Cause probable</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td>Disque à 100 % en continu</td>
<td>Téléchargements WU corrompus, antivirus scannant <code>SoftwareDistribution</code>, disque mécanique saturé</td>
<td>Purger SoftwareDistribution, planifier l’analyse AV hors heures, migrer le volume système vers SSD si possible</td>
</tr>
<tr>
<td>CPU élevé par <code>TiWorker.exe</code></td>
<td>Maintenance en arrière‑plan liée au servicing</td>
<td>Laisser le cycle se terminer après réparation DISM ; éviter d’interrompre brutalement</td>
</tr>
<tr>
<td>RAM constamment > 85 %</td>
<td>Rôle AD/DNS/FS + agents tiers sur config RAM minimale</td>
<td>Augmenter la RAM ; vérifier fuites mémoire d’agents ; ajuster la taille du cache antivirus</td>
</tr>
<tr>
<td>Logon très long</td>
<td>GPO lourdes, scripts, résolution DNS défaillante</td>
<td>Profiler les GPO, vérifier les redirecteurs DNS, corriger les erreurs du journal Système</td>
</tr>
</tbody>
</table>
<h3>Bons réflexes d’optimisation continue</h3>
<ul>
<li>Appliquer d’abord les <strong>SSU</strong>, puis les <strong>LCU</strong>.</li>
<li>Mettre à jour <strong>firmware/BIOS/pilotes</strong> (contrôleur RAID/NVMe), puis valider la stabilité.</li>
<li>Programmer la maintenance Windows (planificateur, <em>Maintenance automatique</em>) hors des heures de production.</li>
<li>Défragmenter/optimiser :
<pre><code>cmd
defrag C: /O
Sur VM : activer le pilote paravirtualisé (storvsc, vmstorflt, etc.) et vérifier la latence I/O de l’hôte.
Alternatives et compléments utiles
- Dépanneur Windows Update : via Paramètres > Mise à jour & Sécurité > Dépannage (si l’interface GUI est présente) ou via PowerShell (
Get-TroubleshootingPack
). - Mise à niveau sur place (in‑place upgrade) : lancer
setup.exe
depuis l’ISO Windows Server 2022 pendant une fenêtre de maintenance, après sauvegarde. - Licence : la montée de version n’est pas gratuite. Il faut acquérir Windows Server 2022 Essentials ou tester l’édition d’évaluation 180 jours avant activation.
- Chemin conseillé : migrer par paliers consécutifs (2016 → 2019 → 2022) pour rester dans les scénarios officiels.
- Fin de support : Windows Server 2016 est en support étendu jusqu’en janvier 2027. Planifiez la migration avant cette échéance.
Mise à niveau vers Windows Server 2022 Essentials : décider en connaissance de cause
Pourquoi envisager 2022 Essentials
- Socle de sécurité et pile de maintenance plus récents (TLS, chiffrement, durcissements).
- Améliorations de la pile de servicing (SSU intégrés dans les LCU sur les branches récentes).
- Performances et compatibilité matérielle accrues.
Points d’attention
- Licence : Windows Server 2022 Essentials est destiné aux petites organisations (limites d’utilisateurs/appareils) et ne requiert pas de CALs classiques ; validez que ces limites conviennent à votre parc.
- Chemin supporté : privilégiez une montée de version par étapes successives (2016 → 2019 → 2022). Les mises à niveau inter‑versions non consécutives peuvent ne pas être supportées.
- Rôles : l’ancien rôle « Essentials Experience » n’existe plus tel quel ; certaines fonctionnalités ont évolué. Vérifiez vos dépendances avant migration.
Check‑list avant in‑place upgrade
- État AD/DNS propre (si contrôleur de domaine) : réplications OK, dcdiag propre, sauvegarde du SYSVOL.
- Agents tiers compatibles (antivirus, sauvegarde, supervision).
- Snapshots/backup validés et plan de retour arrière documenté.
- Espace disque suffisant (> 20 Go recommandés).
Plan de validation et contrôle final
- Windows Update : recherche & installation d’un LCU récent sans erreur.
- Redémarrage et nouvelle recherche : la file d’attente doit rester vide.
- Vérifications des journaux (WindowsUpdateClient, Servicing) : absence d’erreurs critiques.
- Performance : latence disque raisonnable, CPU stable, démarrage/logon dans les temps habituels.
FAQ express
Faut‑il désinstaller un LCU qui échoue ?
Non. Sur Windows Server 2016, installez d’abord le SSU correspondant puis réessayez. En dernier ressort, injectez le LCU via DISM /Add‑Package
.
Puis‑je lancer /ResetBase
pour gagner de la place ?
Évitez en production : cela empêche la désinstallation d’anciennes mises à jour. Préférez /StartComponentCleanup
.
Les mises à jour ralentissent‑elles toujours la machine ?
Le pic de charge est normal pendant l’installation. Si la lenteur est durable, cherchez une corruption WinSxS (réparée par SFC/DISM) ou un goulot d’étranglement disque.
Annexes : commandes utiles
cmd
:: Lister les paquets installés (format tableau)
dism /online /get-packages /format:table
:: Forcer la détection/installation depuis l'agent Windows Update
usoclient StartScan
usoclient StartDownload
usoclient StartInstall
:: Générer le WindowsUpdate.log (PowerShell)
powershell -Command "Get-WindowsUpdateLog -LogPath C:\Temp\WindowsUpdate.log"
:: Vérifier les services clés
sc query wuauserv
sc query bits
sc query cryptsvc
sc query msiserver
Synthèse rapide
La lenteur et les échecs de Windows Update proviennent souvent d’une corruption du magasin de composants. Un scan SFC, suivi d’un DISM /RestoreHealth, puis l’installation manuelle du correctif via DISM /Add‑Package rétablissent un état sain. Les mises à jour reprennent et les performances reviennent à la normale. La montée de version vers Windows Server 2022 Essentials reste pertinente pour sécuriser la feuille de route, avec l’acquisition de la licence adaptée ou un passage temporaire par l’édition d’évaluation.
Bonnes pratiques : consignez chaque action (journal de changement), conservez les dossiers SoftwareDistribution.old
et catroot2.old
quelques jours, puis supprimez‑les après validation. Programmez des tests de restauration pour vérifier vos sauvegardes.
Exemple de résultat : dans un cas réel, l’injection du KB fautif via DISM /Add‑Package
a remis d’aplomb le magasin de composants ; Windows Update a repris immédiatement et la charge disque est revenue à la normale après le redémarrage post‑intégration.