Gagnez de précieux Go sur votre SSD : voici un guide fiable et détaillé pour réduire la taille du dossier C:\Windows\WinSxS
sous Windows 10/11 à l’aide d’outils intégrés (DISM, tâches planifiées, Capteur de stockage), sans risquer d’endommager le système.
Vue d’ensemble de la question
Le répertoire WinSxS
grossit au fil des mises à jour car il conserve des versions de composants nécessaires au fonctionnement, à la sécurité et à la maintenance de Windows. C’est normal : Windows a besoin de ces copies pour activer/désactiver des fonctionnalités et revenir en arrière sur des correctifs. Néanmoins, il existe des méthodes officielles pour récupérer de l’espace en toute sécurité.
Réponse & solutions
Comprendre WinSxS
- Dépôt de composants :
WinSxS
stocke toutes les versions nécessaires des fichiers système (bibliothèques, manifestes, métadonnées de composants). C’est la pierre angulaire du moteur de maintenance (CBS/servicing stack). - Liens en dur (hard links) : de nombreux fichiers apparaissent à plusieurs endroits (par ex. dans
C:\Windows\System32
) mais ne consomment l’espace qu’une seule fois sur le disque grâce aux liens en dur. L’Explorateur additionne ces doublons, surestimant la taille apparente. - Ne pas supprimer manuellement : enlever des fichiers dans
WinSxS
peut empêcher la désinstallation d’un patch, briser une fonctionnalité Windows ou bloquer de futures mises à jour. Évitez également de déplacer, compresser ou dédupliquer ce dossier via des utilitaires tiers.
Astuce : pour vérifier qu’un binaire système est lié à WinSxS
, testez :
fsutil hardlink list C:\Windows\System32\notepad.exe
S’il renvoie un chemin dans WinSxS
, c’est un lien en dur.
Nettoyage recommandé avec DISM
Ouvrez Invite de commandes ou PowerShell en administrateur (Windows + X → « Terminal (Admin) »), puis exécutez :
Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase
/StartComponentCleanup
: supprime les versions remplacées (superseded) présentes uniquement pour la réversibilité./ResetBase
: fixe la version la plus récente de chaque composant comme base définitive. Après cela, vous ne pourrez plus désinstaller les mises à jour remplacées. C’est l’option qui maximise le gain d’espace.
Si vous souhaitez conserver la possibilité de désinstaller certains correctifs, lancez d’abord un nettoyage sans /ResetBase
:
Dism.exe /online /Cleanup-Image /StartComponentCleanup
Si DISM signale des incohérences (corruption du magasin de composants), réparez d’abord :
Dism.exe /online /Cleanup-Image /RestoreHealth
Une fois la santé rétablie, relancez le nettoyage.
Évaluer le gain avant/après
Pour mesurer l’espace réellement récupérable et éviter de se fier à la taille « gonflée » vue dans l’Explorateur, utilisez l’analyse DISM :
Dism.exe /online /Cleanup-Image /AnalyzeComponentStore
Le rapport présente notamment :
- Component Store (WinSxS) size : taille calculée réelle du dépôt de composants.
- Shared with Windows : fichiers liés en dur et partagés hors de
WinSxS
. - Backups and Disabled Features : espace récupérable via nettoyage et retrait des fonctionnalités inutiles.
- Recommended Cleanup : indique si un nettoyage est pertinent.
Tâche planifiée intégrée
Windows possède une tâche automatique \Microsoft\Windows\Servicing\StartComponentCleanup
qui s’exécute lorsque la machine est au repos. Vous pouvez l’exécuter à la demande :
- Ouvrez Planificateur de tâches → Bibliothèque du Planificateur → Microsoft → Windows → Servicing.
- Clic droit sur StartComponentCleanup → Exécuter.
Ou en ligne de commande :
schtasks /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"
Cette tâche réalise un nettoyage non destructif (sans /ResetBase
), idéal pour l’entretien régulier.
Fonctionnalités facultatives (Features on Demand)
Supprimer les fonctionnalités inutilisées retire leurs fichiers de WinSxS
et peut libérer plusieurs centaines de Mo.
- Interface : Paramètres → Applications → Fonctionnalités facultatives pour désinstaller ce dont vous n’avez pas besoin (XPS Viewer, composants hérités, etc.).
- Langues : Paramètres → Heure & langue → Langue pour retirer les packs non utilisés (langues d’affichage, reconnaissance vocale, manuscrite).
En PowerShell/DISM :
:: Lister les fonctionnalités et leur état
Dism.exe /Online /Get-Features /Format:Table
:: Désactiver une fonctionnalité
Dism.exe /Online /Disable-Feature /FeatureName:Printing-XPSServices-Features
:: Supprimer le payload disque (réinstallation nécessitera Internet/média)
Dism.exe /Online /Disable-Feature /FeatureName:Printing-XPSServices-Features /Remove
Fonctionnalité (exemples) | Impact potentiel | Remarques |
---|---|---|
XPS Viewer / Services XPS | Jusqu’à quelques centaines de Mo | Peu utilisé ; la réactivation est possible si nécessaire. |
Composants Media hérités | Modéré | Ne pas retirer si vous utilisez des codecs/features spécifiques. |
Langues inutilisées | Variable (peut être élevé) | Inclut clavier, parole, manuscrit, OCR. |
Capteur de stockage (Windows 10/11)
Activez Paramètres → Système → Stockage → Capteur de stockage. Il automatise plusieurs opérations de maintenance : suppression de fichiers temporaires, nettoyage Windows Update, vidage de Téléchargements selon règles, etc. Combinez-le avec la tâche StartComponentCleanup pour un entretien discret et continu.
Limites et bonnes pratiques
- Taille incompressible : même après nettoyage,
WinSxS
conserve une base minimale nécessaire au fonctionnement et à la sécurité. - Privilèges administrateur : exécutez toujours DISM/Planificateur en admin. Une sauvegarde ou un point de restauration est recommandé avant tout nettoyage majeur.
- Évitez les « optimiseurs » : les utilitaires tiers promettant d’« amincir » Windows suppriment parfois des éléments critiques. Les outils intégrés (DISM, tâches planifiées) sont le chemin sûr.
- Ne pas déplacer/compresser : n’appliquez pas de compression NTFS sélective sur
WinSxS
, ne le déplacez pas vers un autre volume et n’utilisez pas de liens symboliques. Vous risquez des conflits de maintenance.
Procédure guidée (pas à pas)
- Mesurer : exécutez
Dism /online /Cleanup-Image /AnalyzeComponentStore
et notez les champs « Backups and Disabled Features » et « Recommended Cleanup ». - Nettoyer : lancez
/StartComponentCleanup
. Redémarrez si demandé. - Optimiser au maximum (optionnel) : relancez avec
/ResetBase
pour figer la dernière version et maximiser le gain. - Alléger les fonctionnalités : retirez XPS Viewer, langues, et toute fonctionnalité non utilisée via Paramètres ou DISM (
/Disable-Feature /Remove
). - Automatiser : vérifiez/activez le Capteur de stockage et exécutez périodiquement la tâche StartComponentCleanup.
- Vérifier : relancez l’analyse DISM pour constater le gain réel.
Scripts prêts à l’emploi
Ce script PowerShell effectue une analyse, exécute un nettoyage raisonné, journalise les résultats et, si vous l’autorisez, applique /ResetBase
:
# Exécuter en tant qu'Administrateur
$log = "$env:ProgramData\WinSxS-Cleanup-$(Get-Date -Format yyyyMMdd-HHmmss).log"
"=== AVANT ===" | Tee-Object -FilePath $log
dism /online /Cleanup-Image /AnalyzeComponentStore | Tee-Object -FilePath $log -Append
Write-Host "Nettoyage de base (non destructif)..."
dism /online /Cleanup-Image /StartComponentCleanup | Tee-Object -FilePath $log -Append
# Option : activer le bloc ci-dessous pour maximiser le gain (irréversible)
#$confirm = Read-Host "Appliquer /ResetBase (I R R E V E R S I B L E) ? o/n"
#if ($confirm -eq 'o') {
# dism /online /Cleanup-Image /StartComponentCleanup /ResetBase | Tee-Object -FilePath $log -Append
#}
"=== APRÈS ===" | Tee-Object -FilePath $log -Append
dism /online /Cleanup-Image /AnalyzeComponentStore | Tee-Object -FilePath $log -Append
Write-Host "Journal : $log"
Mesurer correctement la taille
L’explorateur Windows additionne des fichiers partagés par liens en dur. Pour un chiffre fidèle, référez-vous toujours au rapport AnalyzeComponentStore
. Évitez les utilitaires qui parcourent naïvement l’arborescence : ils confondent souvent « copies physiques » et « références ».
Commande | Objectif | Mises à jour désinstallables après coup ? |
---|---|---|
Dism /online /Cleanup-Image /StartComponentCleanup | Supprimer les versions obsolètes | Oui |
Dism /online /Cleanup-Image /StartComponentCleanup /ResetBase | Supprimer et figer la version actuelle | Non, irréversible |
Dism /online /Remove-Package /PackageName:<KB...> | Désinstaller un patch spécifique | Oui, si /ResetBase n’a pas été utilisé |
dism /online /Cleanup-Image /SPSuperseded (anciens OS) | Nettoyer anciens points de restauration de Service Pack | N/A sur Windows 10+ |
Comparatif des méthodes
Méthode | Gain typique | Risque | Réversibilité | Complexité | Quand l’utiliser |
---|---|---|---|---|---|
StartComponentCleanup | Faible à moyen | Très faible | Réversible | Simple | Entretien périodique |
StartComponentCleanup + ResetBase | Moyen à élevé | Faible (si système sain) | Irréversible | Simple | Manque d’espace critique, image stable |
Désactivation + Remove (FOD) | Variable | Faible à moyen | Réversible avec média/Internet | Moyenne | Composants clairement inutiles |
Tâche planifiée Servicing | Faible | Très faible | Réversible | Très simple | Maintenance silencieuse |
Dépannage des erreurs courantes DISM
- Erreur 87 – Paramètre inconnu : vérifiez l’orthographe et les espaces. Exemple correct :
/StartComponentCleanup
(sans tiret). - Erreur 112 – Espace disque insuffisant : libérez temporairement de l’espace (vider corbeille, gros dossiers), puis relancez.
- 0x800f081f – Source introuvable : lié surtout à
/RestoreHealth
. Montez un ISO de la même version de Windows et fournissez une source valide (/Source:WIM:D:\sources\install.wim:1 /LimitAccess
), puis relancez la réparation, puis le nettoyage. - Nettoyage bloqué ou très lent : vérifiez que Windows Update est fonctionnel, redémarrez, et réessayez en mode « Terminal (Admin) ». Consultez
C:\Windows\Logs\DISM\dism.log
pour diagnostiquer.
Cas particuliers (poste, portable, serveur)
- PC portable/SSD de faible capacité : privilégiez
/ResetBase
après une période de stabilité (pas de besoin de désinstaller des KB récentes). - Postes gérés en entreprise : respectez la politique de patching ; évitez
/ResetBase
si l’équipe IT exige la possibilité de rollback. - Windows Server : le retrait de rôles/fonctionnalités (et l’état « Removed ») offre un gain majeur. Évaluez l’impact sur l’image de référence et le patch management.
FAQ express
Pourquoi l’Explorateur indique-t-il 10–15 Go alors que DISM annonce moins ?
À cause des liens en dur : l’Explorateur compte plusieurs fois le même fichier. AnalyzeComponentStore
donne la mesure fiable.
Windows.old versus WinSxS ?Windows.old
est un dossier de sauvegarde post-mise à niveau. Il se supprime via Paramètres → Système → Stockage → Fichiers temporaires. WinSxS
est un dépôt actif que l’on nettoie avec DISM.
Puis-je compresser WinSxS ?
Non recommandé. La compression/déplacement rompt les garanties de maintenance et peut provoquer des échecs de mise à jour.
Quand utiliser /ResetBase ?
Après validation que votre système est stable et que vous n’aurez pas à revenir sur de vieux correctifs. Idéal quand l’espace est critique.
Checklist récapitulative
- Lancer
AnalyzeComponentStore
pour mesurer. - Nettoyer via
/StartComponentCleanup
. - Si nécessaire, compléter avec
/ResetBase
(irréversible). - Retirer fonctionnalités/langues inutiles (
/Disable-Feature /Remove
). - Activer Capteur de stockage et vérifier la tâche planifiée Servicing.
- Contrôler le gain en relançant l’analyse.
- Conserver de bonnes pratiques (sauvegarde, admin, pas d’outils tiers risqués).
Exemples de sessions
Scénario A : Gain rapide et sûr
Dism /online /Cleanup-Image /AnalyzeComponentStore
Dism /online /Cleanup-Image /StartComponentCleanup
Dism /online /Cleanup-Image /AnalyzeComponentStore
Idéal pour l’entretien régulier. Généralement, quelques centaines de Mo à 1–2 Go récupérés selon l’historique de mises à jour.
Scénario B : Espace critique sur SSD
Dism /online /Cleanup-Image /AnalyzeComponentStore
Dism /online /Cleanup-Image /RestoreHealth
Dism /online /Cleanup-Image /StartComponentCleanup /ResetBase
Dism /online /Cleanup-Image /AnalyzeComponentStore
Maximise le gain, au prix de la désactivation du retour arrière sur les KB remplacées.
Scénario C : Poste multilingue
Dism /online /Cleanup-Image /AnalyzeComponentStore
# Retrait des packs inutiles via Paramètres
# puis :
Dism /online /Cleanup-Image /StartComponentCleanup
Les packs de langue complets (affichage + voix + écriture) peuvent consommer plusieurs centaines de Mo chacun.
Bonnes pratiques supplémentaires
- Tenir Windows à jour : un système à jour et sain (
/RestoreHealth
sans erreur) se nettoie mieux. - Surveiller les journaux : en cas d’échec, consultez
C:\Windows\Logs\DISM\dism.log
pour les codes précis. - Planifier : ajoutez un rappel trimestriel pour exécuter l’analyse et, si nécessaire, le nettoyage.
En bref
Pour réduire en toute sécurité la taille de C:\Windows\WinSxS
, utilisez l’arsenal Windows : DISM (/StartComponentCleanup
, puis /ResetBase
si vous acceptez l’irréversibilité), la tâche planifiée StartComponentCleanup, et la suppression contrôlée des fonctionnalités facultatives et packs de langue. Évitez les suppressions manuelles et les utilitaires intrusifs. Le bon indicateur est le rapport AnalyzeComponentStore
, pas la taille affichée par l’Explorateur. Suivre cette procédure vous donnera le meilleur compromis entre gain d’espace, stabilité et sécurité.
Résumé opérationnel
- Commande clé :
Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase
- Mesure :
Dism.exe /online /Cleanup-Image /AnalyzeComponentStore
- Automatisation : tâche planifiée
\Microsoft\Windows\Servicing\StartComponentCleanup
+ Capteur de stockage - Complément : retirer les fonctionnalités/langues inutiles (
/Disable-Feature /Remove
)