¿Tu carpeta C:\Windows\WinSxS
crece y el Liberador de espacio apenas ayuda? Aquí aprenderás a reducirla de forma segura y efectiva con DISM y la tarea integrada de mantenimiento, sin romper el sistema ni borrar a mano.
Qué es WinSxS y por qué parece enorme
WinSxS es el almacén de componentes de Windows. En él se guardan múltiples versiones de los binarios de sistema para permitir la instalación, actualización y desinstalación de funciones, características y parches. El Explorador de archivos suele mostrar un tamaño “inflado” porque cuenta enlaces físicos (hardlinks) como archivos independientes. Por eso, antes de limpiar conviene medir el uso real con herramientas del propio sistema.
Regla de oro: no borres nada manualmente en
WinSxS
. Tomar propiedad, denegar permisos o eliminar carpetas a mano puede dejar el sistema inestable o impedir futuras actualizaciones.
Cómo medir el tamaño real
Usa DISM para conocer el espacio real que ocupa el almacén y el potencial de ahorro. Abre Símbolo del sistema o PowerShell como administrador y ejecuta:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
El informe distingue entre:
- Tamaño reportado por el Explorador: puede contar enlaces físicos.
- Tamaño real del almacén: lo que verdaderamente ocupa.
- Respaldo y características deshabilitadas: lo que podría ahorrarse.
- Paquetes susceptibles de reclamación y si se recomienda limpieza.
Ejemplo de salida (ilustrativa):
Windows Explorer Reported Size of Component Store : 8.57 GB
Actual Size of Component Store : 7.12 GB
Shared with Windows : 5.23 GB
Backups and Disabled Features : 1.21 GB
Cache and Temporary Data : 0.68 GB
Date of Last Cleanup : 2025-03-14 10:23:01
Number of Reclaimable Packages : 2
Component Store Cleanup Recommended : Yes
Limpieza segura con DISM
Cuando el análisis recomienda limpieza o simplemente quieres consolidar componentes sustituidos, ejecuta:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
- Elimina versiones antiguas de componentes reemplazados por actualizaciones acumulativas recientes.
- Mantiene la posibilidad de desinstalar las últimas actualizaciones si hiciera falta.
Limpieza profunda con ResetBase
Si necesitas exprimir al máximo el ahorro (por ejemplo, en VMs de referencia, dispositivos con poco almacenamiento o imágenes maestras), puedes consolidar a la base actual:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Advertencia importante: con
/ResetBase
ya no podrás desinstalar las actualizaciones existentes. Es seguro, pero reduce la capacidad de reversión. Úsalo solo cuando tengas claro que no necesitarás deshacer parches actuales.
Programar la tarea integrada de mantenimiento
Windows incluye una tarea que hace este trabajo por ti como parte del mantenimiento automático. Puedes ejecutarla al instante o dejarla programada.
Ejecutar ahora:
schtasks /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"
Comprobar su estado:
schtasks /Query /TN "\Microsoft\Windows\Servicing\StartComponentCleanup" /V /FO LIST
Habilitar si estuviera deshabilitada:
schtasks /Change /TN "\Microsoft\Windows\Servicing\StartComponentCleanup" /Enable
Si lo prefieres, crea una tarea propia que consolide componentes regularmente (sin /ResetBase
por su impacto en la reversión):
schtasks /Create /SC WEEKLY /D SUN /RL HIGHEST /RU SYSTEM ^
/TN "\Mantenimiento\WinSxS_StartComponentCleanup" ^
/TR "Dism.exe /Online /Cleanup-Image /StartComponentCleanup"
Complementos que suman ahorro
- Limpieza de Windows Update: desde Configuración > Sistema > Almacenamiento o el Liberador de espacio clásico, elimina cachés antiguas de actualización.
- Carpeta de descarga de actualizaciones: el propio mantenimiento suele purgar lo necesario; evita borrar a mano la carpeta
SoftwareDistribution
salvo que estés resolviendo problemas concretos de actualización.
Desinstalar características no usadas
Las Features on Demand ocupan espacio aunque estén deshabilitadas. Puedes verlas y quitar lo que no uses (por ejemplo, idiomas adicionales, herramientas heredadas, etc.).
Listar características:
DISM /Online /Get-Features /Format:Table
Deshabilitar y eliminar binarios (libera espacio en disco):
DISM /Online /Disable-Feature /FeatureName:<Nombre> /Remove
Nota: si después quieres volver a instalar una característica eliminada con
/Remove
, puede que necesites Internet o un medio de instalación como origen.
Verificar resultados y reiniciar
Algunas eliminaciones requieren reinicio. Cuando el sistema te lo pida, reinicia y vuelve a medir:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Tabla comparativa de métodos
Método | Comando | Qué elimina | Reversible | Riesgo | Ahorro típico | Uso recomendado |
---|---|---|---|---|---|---|
Limpieza estándar | /StartComponentCleanup | Versiones sustituidas | Sí | Bajo | Medio | Mantenimiento periódico |
Limpieza profunda | /StartComponentCleanup /ResetBase | Todas las versiones anteriores | No | Medio | Alto | Imágenes maestras, dispositivos con poco espacio |
Eliminar características | /Disable-Feature /Remove | Binarios de features no usadas | Requiere origen para reinstalar | Medio | Variable | Entornos controlados |
Ruta rápida recomendada
- Abrir consola como administrador.
- Analizar ahorro potencial:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
- Ejecutar limpieza estándar:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
- Reiniciar si se solicita.
- Valorar limpieza profunda:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
- Programar mantenimiento:
schtasks /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"
Scripts listos para copiar
Guión mínimo sin perder reversión:
@echo off
title Limpieza segura de WinSxS
echo Analizando almacén de componentes...
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
echo.
echo Ejecutando limpieza estándar...
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
echo.
echo Volviendo a analizar para confirmar ahorro...
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
echo Hecho. Reinicia si el sistema lo solicita.
pause
Guión con registro y ejecución silenciosa:
@echo off
set LOG=%SystemRoot%\Logs\WinSxS%DATE:/=-%%TIME::=-%.log
echo Iniciando limpieza WinSxS > "%LOG%"
echo ===== ANALISIS INICIAL ===== >> "%LOG%"
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore >> "%LOG%"
echo ===== LIMPIEZA ESTANDAR ===== >> "%LOG%"
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /Quiet >> "%LOG%"
echo ===== ANALISIS FINAL ===== >> "%LOG%"
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore >> "%LOG%"
echo Log en: %LOG%
Programación personalizada semanal (cuenta del sistema):
schtasks /Create /SC WEEKLY /D SUN /RU SYSTEM /TN "WinSxS-Cleanup" ^
/TR "Dism.exe /Online /Cleanup-Image /StartComponentCleanup"
Qué ahorro es razonable
El ahorro depende de la historia de actualizaciones, del tiempo desde la última limpieza y de cuántas características tengas instaladas. En equipos al día, las ganancias pueden ser moderadas; en sistemas con meses de acumulaciones y sin mantenimiento, la reducción puede ser notable, especialmente tras la primera ejecución de /StartComponentCleanup
. No esperes “milagros” si ya está todo consolidado.
Preguntas frecuentes y mitos
¿Por qué el Explorador dice una cifra y DISM otra? Por los enlaces físicos; la vista del Explorador no representa el uso real. DISM muestra el tamaño efectivo.
¿Es seguro borrar a mano carpetas de WinSxS? No. Es la forma más rápida de corromper el almacén y bloquear futuras actualizaciones.
¿Puedo automatizar la limpieza profunda? Técnicamente sí, pero no se recomienda programar /ResetBase
de forma periódica porque elimina la reversión de parches vigentes. Mejor usarlo tras validar la estabilidad.
¿Afecta al rendimiento? No negativamente. Incluso puede mejorar tiempos de mantenimiento al reducir componentes obsoletos.
Solución de problemas comunes
- DISM informa de corrupción o errores: ejecuta, por orden:
Dism.exe /Online /Cleanup-Image /CheckHealth Dism.exe /Online /Cleanup-Image /ScanHealth Dism.exe /Online /Cleanup-Image /RestoreHealth
Después, intenta de nuevo la limpieza. - Acceso denegado o necesitas elevación: abre la consola Como administrador.
- La limpieza no libera mucho: puede que ya no existan versiones obsoletas o que el espacio esté ocupado por features instaladas que realmente usas.
Buenas prácticas de mantenimiento
- Ejecuta
/StartComponentCleanup
de forma periódica o habilita la tarea integrada. - Revisa y elimina features no utilizadas con
/Remove
. - Evita herramientas de terceros que prometen “borrar WinSxS”.
- Antes de
/ResetBase
, asegúrate de que tu entorno está estable y considera crear un punto de restauración o copia de seguridad.
Consideraciones en servidores
En ediciones de servidor y Server Core, el espacio es crítico. El enfoque es el mismo: análisis, limpieza estándar, y solo limpieza profunda cuando la estabilidad esté validada. Desplegar imágenes “capturadas” tras /ResetBase
reduce el tamaño del VHDX y acelera el parcheo inicial.
Después de grandes actualizaciones
Tras un cambio de versión, Windows conserva archivos para revertir durante un tiempo. Pasado ese periodo, la limpieza estándar recupera bastante espacio. Asimismo, Configuración > Sistema > Almacenamiento permite eliminar instalaciones anteriores de Windows si ya no necesitas volver atrás.
Si necesitas recuperar características
Si borraste binarios con /Remove
y luego quieres reinstalar, usa un origen:
DISM /Online /Enable-Feature /FeatureName:<Nombre> /All /Source:<ruta a SxS o ISO> /LimitAccess
Qué no debes hacer
- No tomes propiedad de
WinSxS
ni cambies ACLs. - No borres a mano subcarpetas ni archivos.
- No desactives por completo el mantenimiento automático del sistema.
Conclusión y siguiente paso
La forma fiable de reducir C:\Windows\WinSxS
es analizar con DISM, limpiar componentes sustituidos y, si procede, consolidar con /ResetBase
. Combinado con la tarea integrada y la eliminación de características en desuso, obtendrás el máximo ahorro sin comprometer la estabilidad.
Resumen operativo
REM 1) Analiza el ahorro real
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
REM 2) Limpieza segura
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
REM 3) (Opcional) Limpieza profunda
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
REM 4) Ejecuta o habilita la tarea integrada
schtasks /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"