Una máquina virtual Vista que uso solo tiene un disco duro virtual de 10 GB, y me preocupa que se quede sin espacio con el tiempo.
Solía TreeSize para comprobar si los culpables ..
Y el principal culpable es esa /winsxs
o la carpeta "Windows Side-by-Side" .
¿Qué es la carpeta Windows Side By Side? Bueno, eso se explica bastante bien aquí .
Todos los componentes del sistema operativo se encuentran en la carpeta WinSxS; de hecho, llamamos a esta ubicación el almacén de componentes. Cada componente tiene un nombre único que incluye la versión, el idioma y la arquitectura del procesador para el que se creó. La carpeta WinSxS es la única ubicación en la que el componente se encuentra en el sistema, todas las demás instancias de los archivos que ve en el sistema se "proyectan" mediante enlaces duros desde el almacén de componentes. Permítanme repetir ese último punto: solo hay una instancia (o copia de datos completa) de cada versión de cada archivo en el sistema operativo, y esa instancia se encuentra en la carpeta WinSxS. Visto desde esa perspectiva, la carpeta WinSxS es realmente la totalidad del sistema operativo completo, denominado "plano" en los sistemas operativos de nivel inferior.
Eso explica por qué la carpeta comienza en grande, pero no por qué se agranda con el tiempo: la respuesta a esa pregunta es el servicio. En versiones anteriores de Windows, la unidad atómica de servicio era el archivo, en Windows Vista es el componente. Cuando actualizamos un binario en particular, lanzamos una nueva versión del componente completo, y esa nueva versión se almacena junto con la original en la tienda de componentes. La versión superior del componente se proyecta en el sistema, pero la versión anterior en la tienda no se toca. La razón de esto es la tercera parte de por qué la tienda de componentes es tan grande.
Muchas otras personas también se quejan del tamaño de la carpeta / winsxs :
Un compañero de trabajo recibió recientemente la actualización de su computadora portátil de trabajo cada dos años y estaba cargando su nueva computadora portátil con Vista. Por alguna razón, su disco duro C: estaba particionado a solo 25 GB y el resto del espacio reservado para un disco mucho más grande D :.
De todos modos, después de cargar muchas actualizaciones de Windows, se quedó sin apenas espacio en disco en C :, y por alguna razón, el directorio WinSxS se había disparado a más de 8 GB.
Si bien sabía para qué era el directorio WinSxS (Windows Side-by-Side), no estaba muy seguro de por qué ese directorio explotaría en tamaño tan rápido con las actualizaciones normales del sistema operativo.
Realmente no me importa tener todos estos archivos duplicados de seguridad, pero sí se preocupan por la máquina virtual explosión debido a un error de falta de espacio en disco. Entonces, ¿ puede / winsxs reducirse de forma segura de alguna manera? No parece que pueda ser ...
Los administradores no deben, por ningún motivo, asumir la responsabilidad de limpiar el directorio / winsxs , ya que esto puede evitar que Windows Update y MSI funcionen correctamente después. La prevención de la eliminación accidental del directorio se logra colocando un descriptor de seguridad sólido en el directorio que hereda a sus hijos.
Si esta carpeta / winsxs se hace más grande, voy a tener que volver a crear una imagen de esta máquina virtual ... ¡lo que realmente no quiero hacer!
fuente
Respuestas:
Hay un buen comando que se limpia después de una instalación de Windows 7 SP1 (me ahorró alrededor de 3 GB):
Debe ejecutarse desde un símbolo del sistema elevado
fuente
C:\Windows\system32>DISM /online /cleanup-Image /spsuperseded Deployment Image Servicing and Management tool Version: 6.1.7600.16385 Image Version: 6.1.7600.16385 Service Pack Cleanup can't proceed: No service pack backup files were found. The operation completed successfully.
TL; DR
Winsxs en realidad contiene enlaces duros . No toma tantos datos adicionales como cree.
Un enlace duro es como un 'acceso directo' o 'puntero' a un archivo real ubicado en algún lugar de su disco. Un enlace duro no ocupa espacio en el disco duro por sí mismo: simplemente sirve como una redirección.
Debido a que winsxs consiste en enlaces duros, eliminar estos enlaces no liberará espacio. Los archivos reales continuarán en varias ubicaciones en su disco.
winsxs no es un problema
... es una solución! (Bueno, mayormente )
Un resumen, "Marcado como respuesta por Ronnie Vernon, MVP, Moderador", dice aquí :
fuente
Estos duplicados y copias de seguridad son extremadamente molestos cuando se tiene espacio en disco limitado.
Al estar en ese lugar, la única forma en que descubrí que no pondría en peligro la estabilidad del sistema operativo fue utilizar generosamente la configuración "Comprimir contenido para ahorrar espacio en disco" .
Al comprimir todos esos directorios de respaldo en el directorio de Windows, pude reducir el tamaño del directorio de 6.5 GB a 5 GB, sin efectos secundarios reconocibles. Usarlo en algunas de sus cosas fuera del directorio de Windows alargaría aún más sus 10 GB.
fuente
Si tiene Vista y tiene instalado SP2, puede limpiar los archivos de sistema antiguos con la nueva herramienta de limpieza de Service Pack .
fuente
En Windows 8 puede reducir el tamaño de la carpeta WinSxS eliminando las características de Windows :
Lo importante es el parámetro / Eliminar , que es nuevo en Windows 8 .
La mayor parte del espacio en WinSxS se usa en las actualizaciones de Windows que instala con el tiempo. En Windows 8 / Windows 10 , puede detectar y eliminar las actualizaciones que se reemplazan por actualizaciones más recientes (como las actualizaciones acumulativas más nuevas de IE) ejecutando este comando:
o ejecutando el asistente de limpieza de disco y seleccione "Windows Update Cleanup"
También asegúrese de haber instalado la actualización de la pila de servicio http://support.microsoft.com/kb/2821895 .
Estas actualizaciones ejecutan una limpieza profunda de WinSxS y comprime todos los archivos DLL / Exe, desde WinSxS que no están actualmente en uso, en un archivo delta más pequeño:
Mira los diferentes tamaños de archivo.
Windows 8.1 agrega nuevos comandos DISM . El
/startcomponentcleanup
consigue un nuevo parámetro/ResetBase
que hace que su última actualización permanente y borra todos los archivos más antiguos para ahorrar más espacio.También puede ejecutar un nuevo comando
dism /online /cleanup-image /analyzecomponentstore
para analizar la carpeta WinSxS:Ahora le indica cuándo debe ejecutar la limpieza para ahorrar espacio.
fuente
StartComponentCleanup
en 1809. 6.54 GB en disco despuésStartComponentCleanup
, una mejora masiva. 92 eliminaciones pendientes, no hay cambios de nombre pendientes. De los 76812 archivos en WinSXS , 21452 ocupan 2.90 Gb en disco con fechas de septiembre a octubre del año pasado, cuando la computadora se actualizó a 1803. ¿Es esto típico de una instalación W10 actual o todavía estamos obstruidos?Puede usar VSP1CLN.EXE para hacer que SP1 sea permanente, lo que de acuerdo con esta página liberará los componentes reemplazados por SP1.
fuente
¡Buenas noticias! Ahora hay un método oficialmente autorizado , de Microsoft, para Windows 7 SP1, para limpiar su carpeta WinSXS .
Advertencia: es posible que no pueda desinstalar ciertas actualizaciones de Windows después de ejecutar la limpieza de su carpeta WinSxS.
fuente
Parece que finalmente hay una manera de hacerlo en Windows 8.1 service pack 1 y Windows Server 2012 R2 .
Herramienta de análisis de tienda de componentes:
Dism.exe /Online /Cleanup-image /AnalyzeComponentStore
Al final de la exploración, el usuario obtiene un informe de los resultados (tamaño real de la carpeta winsxs) de esta manera:
Limpieza de la tienda de componentes:
Dism.exe /online /Cleanup-Image /StartComponentCleanup
Herramienta de limpieza de disco, botón Limpiar archivos del sistema.
schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"
fuente
Dism ++ es lo que estás buscando ( https://www.chuyu.me/en/index.html ).
Ahorrará gigabytes de espacio ...
Deberá seleccionar "Ensambles WinSxS reemplazados". Si hace esto, le advertirá que estas actualizaciones instaladas no se pueden desinstalar. Haga clic en Aceptar, luego escanee
Le dará una idea de cuánto espacio ahorrará. Haga clic en la limpieza, y debería despejar ese espacio.
fuente
Espero que sea útil tener una línea simple ya que, de lo contrario, la gran respuesta de Jeff Atwood falla
/ResetBase
.Precaución : este modificador ayuda en gran medida a reducir el tamaño de la carpeta WinSxS, pero elimina completamente las versiones anteriores de los componentes, por lo que no podrá deshacer las actualizaciones instaladas anteriormente. Pero si su sistema se comporta bien, debe estar seguro (especialmente si no está en el entorno de producción)
Esto funciona en Windows 8.1 y posterior
fuente
Además de las soluciones mencionadas anteriormente, una forma de ganar espacio significativo es comprimir todo el contenido de la carpeta. Sin embargo, esto no se puede hacer con Explorer (se necesitan los derechos adecuados), al menos a partir de Windows 7.
Estas instrucciones muestran cómo lograr esto:
Notas / consejos:
La agrupación marca la forma recomendada de ejecutar estos comandos, si se realiza manualmente. Normalmente, no debería haber problemas (excepto de algunos archivos omitidos, porque están en uso), pero el resultado para cada grupo debe ser verificado
He realizado estos pasos en la instalación de varios sistemas operativos en casa y en el trabajo: Win7x64, Win10x64, Windows Server 2008R2 y Windows Server 2012 y hasta ahora no vi ningún problema.
Algunos pasos llevan bastante tiempo, especialmente el tiempo de compresión. La mayoría de los pasos iterarán y mostrarán los archivos procesados. Minimizar la ventana del símbolo del sistema puede ganar algo de velocidad.
fuente
Puede eliminar esos archivos de forma segura. Si alguna vez los necesita nuevamente, solo requerirá que instale algunas cosas más.
Ahora a la solución!
La cantidad de espacio en disco que gane dependerá del sistema, qué programas estén instalados, etc.
fuente