Administrar el almacén de componentes

"¿Por qué WinSxS es tan grande?" muchos usuarios de Windows le han pedido. Aunque esta pregunta se ha analizado en las entradas de blog, este tema incluye un poco más detalles sobre los conceptos subyacentes al almacén de componentes (específicamente la carpeta WinSxS) y, a continuación, proporciona vínculos a temas que resaltan formas de administrar mejor el tamaño de la carpeta WinSxS.

La respuesta corta es que la carpeta WinSxS no es tan grande como puede aparecer a primera vista porque los cálculos de tamaño pueden incluir archivos binarios de Windows ubicados en otro lugar, lo que hace que la carpeta WinSxS parezca más grande de lo que realmente es.

El almacén de componentes de Windows y la carpeta WinSxS

La carpeta WinSxS se encuentra en la carpeta Windows, por ejemplo c:\Windows\WinSxS. Es la ubicación de los archivos del Almacén de componentes de Windows. El Almacén de componentes de Windows se usa para admitir las funciones necesarias para la personalización y actualización de Windows. Estos son algunos ejemplos de cómo se usan los archivos del Almacén de componentes de Windows:

  • Uso de Windows Update para instalar nuevas versiones de componentes. Esto mantiene los sistemas seguros y actualizados.

  • Habilitación o deshabilitación de las características de Windows.

  • Agregar roles o características mediante Administrador del servidor.

  • Mover sistemas entre diferentes ediciones de Windows.

  • Recuperación del sistema de errores dañados o de arranque

  • Desinstalación de actualizaciones problemáticas

  • Ejecución de programas mediante ensamblados en paralelo

La Tienda de componentes de Windows se introdujo por primera vez en Windows XP para admitir ensamblados en paralelo. A partir de Windows Vista, el almacén de componentes se ha mejorado para realizar un seguimiento y atender todos los componentes que componen el sistema operativo. Esos distintos componentes del sistema operativo realizan un seguimiento de objetos como archivos, directorios, claves del Registro y servicios. Después, las versiones específicas de los componentes se recopilan en paquetes. Los paquetes se usan en Windows Update y DISM para actualizar Windows. El Almacén de componentes de Windows procesa los componentes y paquetes usados en una instalación de Windows. Determinar el tamaño del Almacén de componentes de Windows es complicado por el hecho de que Windows usa muchos de los archivos desde directorios fuera de la Tienda de componentes de Windows mediante una técnica conocida como vinculación dura. En tales casos, los archivos de una versión de componente aparecen tanto dentro como fuera del Almacén de componentes de Windows. Al usar la vinculación dura de Windows, puede parecer que se conservan varias copias del mismo archivo sin tener que tomar realmente el espacio agregado para varias copias.

Un vínculo físico es un objeto del sistema de archivos que permite que dos archivos hacen referencia a la misma ubicación en el disco. Esto significa que más de un archivo puede hacer referencia a los mismos datos y los cambios en esos datos de un archivo se reflejan en los demás archivos. Esto complica las nociones de tamaño de directorio, como se puede ver con el ejemplo siguiente:

  1. El directorio A tiene tres archivos: 1.txt, 2.txt y 3.txt

  2. El directorio B tiene un archivo: 4.txt

  3. Los archivos 1.txt y 2.txt están vinculados de forma dura y contienen 1 MB de datos.

  4. Los archivos 3.txt y 4.txt también están vinculados de forma dura y contienen 2 MB de datos.

Ejemplo de vínculos físicos

En este ejemplo, puede ver que los vínculos físicos permiten que varios archivos se refieran al mismo conjunto de datos.

¿Cuál es el tamaño del directorio A?

La respuesta depende de lo que planee hacer con el directorio A:

  1. Si lee los archivos en el directorio A, el tamaño de todos los archivos que se leen es la suma de cada tamaño de archivo. En este ejemplo, sería de 4 MB.

  2. Si copia todos los archivos del directorio A a una nueva ubicación, la cantidad de datos copiados es la suma de todos los datos vinculados de forma hard desde los archivos. En este ejemplo, sería de 3 MB.

  3. Si está intentando liberar espacio eliminando el directorio A, solo verá una reducción del tamaño de los archivos que están vinculados de forma permanente solo por el directorio A. En este ejemplo, esto supone un ahorro de 1 MB.

De vuelta a la pregunta de cuánto espacio usa el Almacén de componentes de Windows y, específicamente, la carpeta WinSxS. La tercera respuesta del directorio A ejemplo, más estrechamente coincide con la cantidad de espacio adicional que se usa. Los archivos vinculados al resto del sistema son necesarios para las operaciones del sistema, por lo que no deben contarse, y los archivos vinculados de forma dura a varias ubicaciones dentro del almacén de componentes solo deben tener el tamaño almacenado en el disco contado.

Administrar el Almacén de componentes de Windows

Puedes usar nuevas características en Windows 8.1 y Windows Server 2012 R2 para administrar el Almacén de componentes de Windows:

Determinar el tamaño real de la carpeta WinSxS

Limpiar la carpeta WinSxS

Reducir el tamaño del almacén de componentes en una imagen de Windows sin conexión

¿Dónde fue mi espacio? (entrada de blog)

Más información sobre vínculos físicos

Entrada de blog de metarchivos NTFS