Объяснение папки Winsxs

Пользователи Windows, которые запускали анализатор дискового пространства, например TreeSize или WizTree в последние дни, возможно, впервые наткнулся на папку Winsxs в каталоге Windows.

Папка обычно имеет размер от 5 до 8 гигабайт в Windows Vista и Windows 7 или новее, однако есть сообщения о более крупных папках, до 16 гигабайт и более.

Пользователи Windows XP, которые недавно перешли на Windows 7, могли спросить себя, почему размер папки увеличился с нескольких мегабайт до гигабайт.

Поисковые системы и доски объявлений в Интернете полны вопросов о папке, многие пользователи хотят знать, безопасно ли удалять папку Winsxs, нужно ли ее включать в резервные копии операционной системы или почему она имеет такой огромный размер по сравнению с другими Папки Windows.

WinsxsWinsxs

Важно оглянуться назад во времени. Еще в Windows 9x у операционной системы были проблемы с библиотеками динамической компоновки, точнее с разными версиями одной и той же dll. Просто не было возможности хранить несколько версий dll, что приводило к несовместимости и другим проблемам.

Затем в Windows ME Microsoft начала включать опции для хранения нескольких версий dll с одним и тем же именем в операционной системе. Только в Windows Vista эта технология превратилась в то, что пользователи Vista и Windows 7 испытывают сегодня.

Если вы откроете папку в проводнике Windows, вы увидите огромный список папок, каждая из которых содержит хотя бы один файл, но часто несколько файлов. Папки, начинающиеся с одного и того же имени, содержат разные версии одной и той же библиотеки DLL, иногда бывает пять или более папок, в которых размещаются разные версии одной и той же библиотеки динамической компоновки.

папка winsxsпапка winsxs

Winsxs — это сокращение от Windows Side by Side, относящееся к концепции размещения одних и тех же файлов в разных версиях операционной системы.

Папка резервной копии отображается как самая большая папка в папке Winsxs, за ней следуют папка naturallanguage6 и Manifests.

Блог Technet Почта Джефф Хью объясняет переход от ОС, описанной в INF, к разбиению на компоненты в Windows Vista.

Все компоненты операционной системы находятся в папке WinSxS — фактически мы называем это место хранилищем компонентов. Каждый компонент имеет уникальное имя, которое включает версию, язык и архитектуру процессора, для которой он был создан. Папка WinSxS — единственное место, где находится компонент в системе, все другие экземпляры файлов, которые вы видите в системе, «проецируются» путем жесткой привязки из хранилища компонентов. Позвольте мне повторить этот последний пункт — существует только один экземпляр (или полная копия данных) каждой версии каждого файла в ОС, и этот экземпляр находится в папке WinSxS. Итак, с этой точки зрения папка WinSxS на самом деле представляет собой целостность всей ОС, которую в операционных системах нижнего уровня называют «плоской». Это также объясняет, почему вам больше не будет предлагаться ввести носитель при выполнении таких операций, как проверка системных файлов (SFC), или при установке дополнительных функций и ролей.

Сообщение Джеффа дает ответ на вопрос, безопасно ли удалять файлы в папке winsxs, короче говоря: это не так.

Единственный способ безопасно уменьшить размер файла в этой папке — удалить из операционной системы программное обеспечение, которое больше не нужно, но даже это не приведет к значительному уменьшению размера файла.

Единственный способ безопасно уменьшить размер папки WinSxS — это уменьшить набор возможных действий, которые может выполнять система. Самый простой способ сделать это — удалить пакеты, в которых изначально были установлены компоненты. Это можно сделать, удалив замененные версии пакетов, которые есть в вашей системе. Пакет обновления 1 содержит двоичный файл VSP1CLN.EXE, инструмент, который сделает пакет обновления постоянным (не удаляемым) в вашей системе и удалит версии RTM всех замененных компонентов. Это возможно только потому, что, сделав пакет обновления постоянным, мы можем гарантировать, что нам никогда не понадобятся RTM-версии.

Лучше оставить папку в покое. Пользователи Windows Vista могут уменьшить размер папки Winsxs, запустив стороннее приложение WinsxsLite.

WinsxsLite предназначен как инструмент, помогающий уменьшить размер winsxs в Vista.
.
WinsxsLite разделен на два этапа.
На первом этапе выполняется поиск файлов в папках Program Files и Windows,
которые в точности идентичны файлам в папке winsxs.
.
На втором этапе заменяются все старые версии каждого файла в winsxs,
с жесткими ссылками на файл самой последней версии.
Таким образом, все равно будет казаться, что существует, скажем, 16 различных версий
конкретный файл, но на самом деле есть только один объект данных, на который указывает
на 16 записей в справочнике.
Кроме того, неиспользуемые локализованные файлы можно удалить, заменив их.
с жесткими ссылками на соответствующие файлы на других языках.
.
Примечание. Обе фазы необязательны.
.
Примечание. Если установлен Vista SP1, убедитесь, что vsp1cln.exe запущен.

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

Последняя версия программы всегда имеется в наличии на сайте проекта Google Code. Сайт ссылается на место загрузки Rapidshare, мы также взяли на себя смелость загрузить последний файл на наши серверы. Вы можете скачать инструмент 20K ниже: WinsxsLite1.86

Обратите внимание, что он совместим только с Windows Vista, но не с Windows 7.

Пользователи Windows Vista с установленным пакетом обновления могут также запустить VSP1CLN инструмент командной строки для удаления файлов, которые больше не нужны после установки пакета обновления. Обратите внимание, что эти файлы необходимы для удаления SP в Vista.

У вас есть дополнительные советы по уменьшению размера папки Winsxs? Сообщите нам о них в комментариях.

Обновить : Недавняя информация показывает, что папка Winsxs на самом деле может быть не такой большой, как сообщает система, и основная причина этого заключается в том, что многие файлы в папке являются жесткими ссылками, указывающими на файлы в другом месте в системе.

«Каталог Windows SxS представляет собой« состояние установки и обслуживания »всех компонентов системы. Но на самом деле он не потребляет столько дискового пространства, сколько кажется при использовании встроенных инструментов (DIR и Explorer) для измерения используемого дискового пространства. Тот факт, что мы усложняем вам задачу узнать, сколько места на самом деле занято в каталоге, определенно справедливо!
На практике почти каждый файл в каталоге WinSxS представляет собой «жесткую ссылку» на физические файлы в другом месте системы — это означает, что файлы на самом деле не находятся в этом каталоге. Например, в WinSxS может быть файл с именем advapi32.dll, который занимает> 700 КБ, однако то, что сообщается, является жесткой ссылкой на фактический файл, который находится в Windows \ System32, и он будет учитываться дважды (или более), когда просто просматривая отдельные каталоги из проводника Windows ».

Ты можешь проанализировать и очистить папку WinSXS с помощью команд DISM в Windows 8 или более новых версиях операционной системы Windows.

Более подробная информация об этом доступна на Инженерная Windows 7 блог.