Управление хранилищем компонентов

"Почему WinSxS такой большой?" было предложено многими пользователями Windows. Хотя этот вопрос обсуждается в записях блогов, в этой статье рассматриваются более подробные сведения о концепциях, лежащих в основе хранилища компонентов (в частности, в папке WinSxS), а затем приводятся ссылки на разделы, в которых описываются способы более эффективного управления размером папки WinSxS.

Короткий ответ заключается в том, что папка WinSxS не так велика, как может показаться на первый взгляд, так как вычисления размера могут включать двоичные файлы Windows, расположенные в другом месте, что делает папку WinSxS больше, чем она есть на самом деле.

Хранилище компонентов Windows и папка WinSxS

Папка WinSxS находится в папке Windows, например c:\Windows\WinSxS. Это расположение для файлов хранилища компонентов Windows. Хранилище компонентов Windows используется для поддержки функций, необходимых для настройки и обновления Windows. Ниже приведены некоторые примеры использования файлов хранилища компонентов Windows.

  • Использование клиентский компонент Центра обновления Windows для установки новых версий компонентов. Это обеспечивает безопасность и актуальность систем.

  • Включение или отключение компонентов Windows.

  • Добавление ролей или компонентов с помощью диспетчер сервера.

  • Перемещение систем между различными выпусками Windows.

  • Восстановление системы после повреждения или сбоев загрузки

  • Удаление проблемных обновлений

  • Запуск программ с использованием параллельных сборок

Хранилище компонентов Windows впервые появилось в Windows XP для поддержки параллельных сборок. Начиная с Windows Vista, хранилище компонентов было расширено для отслеживания и обслуживания всех компонентов, составляющих операционную систему. Эти различные компоненты операционной системы отслеживают такие объекты, как файлы, каталоги, разделы реестра и службы. Затем определенные версии компонентов собираются в пакеты. Пакеты используются клиентский компонент Центра обновления Windows и DISM для обновления Windows. Компоненты и пакеты, используемые в установке Windows, обрабатываются хранилищем компонентов Windows. Определение размера хранилища компонентов Windows осложняется тем, что многие файлы используются Windows из каталогов за пределами хранилища компонентов Windows с помощью метода, известного как жесткое связывание. В таких случаях файлы из версии компонента отображаются как в хранилище компонентов Windows, так и за его пределами. При использовании жесткого связывания Windows может сохранять несколько копий одного файла, фактически не занимая дополнительное пространство для нескольких копий.

Жесткая ссылка — это объект файловой системы, который позволяет двум файлам ссылаться на одно и то же расположение на диске. Это означает, что несколько файлов могут ссылаться на одни и те же данные, и изменения этих данных в одном файле отражаются в других файлах. Это усложняет представление о размере каталога, как показано в следующем примере:

  1. Каталог A содержит три файла: 1.txt, 2.txt и 3.txt

  2. Каталог B содержит один файл: 4.txt

  3. Файлы 1.txt и 2.txt жестко связаны друг с другом и содержат 1 МБ данных.

  4. Файлы 3.txt и 4.txt также жестко связаны друг с другом и содержат 2 МБ данных.

Пример жестких ссылок

В этом примере видно, что жесткие связи позволяют нескольким файлам ссылаться на один и тот же набор данных.

Каков размер каталога A?

Ответ зависит от того, что вы планируете делать с каталогом A:

  1. Если вы считываете файлы в каталоге A, то размер всех считываемых файлов является суммой каждого размера файла. В этом примере это будет 4 МБ.

  2. Если скопировать все файлы из каталога A в новое расположение, то объем скопированных данных будет суммой всех данных, жестко связанных с файлами. В этом примере это будет 3 МБ.

  3. Если вы пытаетесь освободить место, удалив каталог A, вы увидите уменьшение размера только для файлов, которые жестко связаны только с каталогом A. В этом примере это экономия составляет 1 МБ.

Вернитесь к вопросу о том, сколько места используется хранилищем компонентов Windows и в частности папкой WinSxS. Третий ответ в каталоге Пример, наиболее точно соответствует объему используемого дополнительного пространства. Файлы, жестко связанные с остальной частью системы, необходимы для системных операций, поэтому их не следует учитывать, а файлы, жестко связанные с несколькими расположениями в хранилище компонентов, должны иметь только размер, хранящийся на диске.

Управление хранилищем компонентов Windows

Вы можете использовать новые функции в Windows 8.1 и Windows Server 2012 R2 для управления хранилищем компонентов Windows:

Определение фактического размера папки WinSxS

Очистка папки WinSxS

Уменьшение размера хранилища компонентов в автономном образе Windows

Куда ушел мой космос? (публикация блога)

Подробнее о жестких связях

Запись блога о метафайлах NTFS