Объяснение папки WinSxS в Windows 11/10

Большинство из вас, возможно, заметили папку WinSxS(WinSxS folder) в Windows 11/10/8/7 и были удивлены ее размером. Для тех, у кого нет, папка находится по адресу C:\Windows\Winsxs и имеет колоссальный размер! Мой весит почти 5 ГБ, содержит около 6000 папок и 25000 файлов и занимает почти 40% папки Windows ! В то время как размер этой папки Winsxs в XP составляет около 25-50 МБ; его большой размер в Windows 11 . Windows 10, Windows 8, Windows 7 и Windows Vista интригуют многих! Проверьте изображение ниже.

winsxs-папка-окна

So what is the mystery of this Winsxs folder in Windows 11/10? Let us find so, in this post.
 

Что такое папка WinSxS в Windows 11/10

В папке WinSxS(WinSxS folder) хранится несколько копий dll, exe и других системных файлов, что позволяет запускать несколько приложений в Windows без каких-либо проблем с совместимостью. Если вы заглянете внутрь, вы увидите много дубликатов файлов, каждый из которых имеет одинаковое имя. На самом деле это разные версии одних и тех же файлов, которые сохраняются; поскольку для разных программ могут потребоваться разные версии.

Winsxs, что означает «Windows Side By Side» , является собственным кэшем сборки Windows . Там хранятся библиотеки, используемые несколькими приложениями. Эта функция была впервые представлена ​​в Windows ME и рассматривалась Microsoft как решение так называемых проблем «dll hell», от которых страдала Windows 9x .

В Winsxs папка резервного копирования самая большая, как видно на изображении ниже.

Папка WinSxS

Опять же, как видно на изображении ниже, в папке Winsxs  «Другие » типы файлов(’ File) занимают большую часть пространства. В основном это файлы .imd(.imd) , .ngr , .csd , .dll , .dll.mui , .exe и других типов файлов.

Папка WinSxS

В Windows 7 и более поздних версиях нет папки «dllcache», и вы не можете найти папку «i386», где система кэширует (как в XP) все свои исходные модули. Именно в этой папке WinSxS хранятся общие компоненты параллельных приложений. Эти файлы могут быть несколькими версиями одной и той же сборки или приложения. Каждая параллельная сборка имеет уникальную идентичность. Одним из атрибутов удостоверения сборки является ее версия.

“Side-by-side assemblies are used by the operating system as fundamental units of naming, binding, versioning, deployment, and configuration. The Winsxs folder includes all manifests, optional components, and 3rd party Win32 files”, says Microsoft.

Но зачем так много подпапок и зачем хранить столько(so many)  разных версий одних и тех же dll, exe или других файлов?

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

Безопасно ли удалять папку WinSxS?

Очевидно, что вы не можете удалить этот каталог или переместить его в другое место. Также не рекомендуется ничего удалять здесь, поскольку такой шаг, вероятно, может сделать ваши приложения неработоспособными или даже сломать вашу систему! Если у вас установлено много приложений, вы можете ожидать, что у вас будет папка WinSxS гигантского размера . Эта папка WinSxs не может находиться ни на каком другом томе, кроме системного тома. Это из-за жестких ссылок NTFS . Если вы попытаетесь переместить папку, это может привести к неправильной установке обновлений Windows , пакетов обновлений, функций и т. д.(Windows)

Если вы удалите компоненты из папки WinSxS ,  такие как манифесты или сборки и т. д., у вас могут возникнуть проблемы. Each system would react differently. What may work for one could break another!Например, если вы устанавливаете программу, для которой требуется конкретная сборка, которую вы, возможно, удалили, то эта программа просто не запустится! Сжатие папки также недопустимо, так как это может вызвать проблемы во время обновлений Windows или при установке исправления.(Compressing the folder is also a no-no, as it could cause problems during WindowsUpdates or while installing a Hotfix.)

Самый безопасный способ очистить его — просто удалить приложения, которые вам не нужны. Однако это тоже не является надежным, так как многие приложения по-прежнему оставляют здесь свои файлы, так как они могут использоваться другими приложениями. Таким образом, вероятность того, что неиспользуемые dll останутся неиспользованными, довольно высока.

Мы бы не советовали использовать инструменты очистки WinSxS, такие как WinsxsLite, так как это может привести к поломке вашей Windows.(We would not advise the use of WinSxS cleanup tools like WinsxsLite as you could end up breaking your Windows.)

И если вы испытываете новое программное обеспечение или часто устанавливаете и удаляете его, вы можете заметить, что размер вашего Winsxs  действительно велик, поскольку Windows будет хранить несколько копий этих dll-файлов, чтобы разрешить несколько приложений без проблем с совместимостью.

Очистка папки WinSxS(WinSxS Folder Cleanup) в Windows 11/10

В Windows 8.1(Windows 8.1) появился новый параметр командной строки для DISM.exe , /AnalyzeComponentStore . Выполнение этой команды проанализирует папку WinSxS и сообщит вам, рекомендуется ли очистка хранилища компонентов(Component Store Cleanup) или нет. Он также присутствует в Windows 11/10 .

  • В Windows 11/10/8.1/8 откройте средство очистки диска(Disk Cleanup Tool) и используйте параметр очистки Центра обновления Windows(Windows Update Cleanup) , чтобы очистить WinSxS .
  • Для Windows 7 корпорация Майкрософт(Microsoft) выпустила обновление, которое добавило возможность очистки Центра обновления Windows в средство очистки диска .
  • Пользователи Windows Server(Windows Server) теперь также могут очищать WinSxS в Windows Server с новым обновлением.

Вот некоторые другие варианты, которые вы можете рассмотреть, чтобы освободить место на диске(free up disk space) — некоторые рутинные и некоторые экстремальные:

  1. Запустите инструмент очистки диска(Disk Cleanup tool)
  2. Удалите неиспользуемые приложения
  3. Переместить файл подкачки на другой диск
  4. Отключить спящий режим
  5. Используйте параметр выделенного файла дампа для захвата файлов дампа памяти на другом томе в системе.
  6. Отключить точки восстановления системы
  7. Разгрузить(Offload) каталоги профилей пользователей и программных файлов на другой том в системе.

Обновление 1 из блогов TechNet:(Update 1 From TechNet Blogs:) одним из самых больших изменений между предыдущими версиями Windows был переход от ОС, описанной в INF , к компонентизации. Все компоненты операционной системы находятся в папке WinSxS — фактически мы называем это место хранилищем компонентов. Каждый компонент имеет уникальное имя, которое включает версию, язык и архитектуру процессора, для которых он был создан. Папка WinSxS — это единственное место, где компонент находится в системе, все остальные экземпляры файлов, которые вы видите в системе, «проецируются» посредством жесткой ссылки из хранилища компонентов.

Теперь, когда вы знаете, почему магазин может стать таким большим, ваш следующий вопрос, вероятно, будет заключаться в том, чтобы спросить, почему мы не удаляем старые версии компонентов. Короткий ответ на это — надежность. Хранилище компонентов вместе с другой информацией о системе позволяет нам определить в любой момент времени, какая версия компонента является лучшей для проекта. Это означает, что если вы удалите обновление для системы безопасности, мы сможем установить в системе следующую самую старшую версию — у нас больше не будет проблемы «удаление не по порядку». Это также означает, что если вы решите установить дополнительную функцию, мы не просто выберем RTM - версию компонента, мы посмотрим, какая самая последняя доступная версия в системе.

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

Обновление 2 Из блогов E7(From E7 Blogs) : « Модулизация(Modularizing) » операционной системы была инженерной целью Windows Vista . Это должно было решить ряд проблем в устаревшей Windows , связанных с установкой, обслуживанием и надежностью. Каталог Windows SxS  представляет «состояние установки и обслуживания» всех компонентов системы. Но на самом деле он фактически не потребляет столько места на диске, сколько кажется при использовании встроенных инструментов ( DIR и Explorer ) для измерения используемого места на диске. Тот факт, что мы усложняем вам задачу узнать, сколько места занимает каталог, является справедливым замечанием! Каталог WinSxS также обеспечивает автономное обслуживание и делаетWindows Vista и более поздние версии «безопасны для создания образов».

Было несколько блогов и даже некоторые «подпольные» инструменты, которые говорят вам, что можно удалить каталог WinSxS  , и это правда, что после установки вы можете удалить его из системы, и будет казаться, что система загружается и работает нормально. . Но, как описано выше, это очень плохая практика, поскольку вы лишаете возможности надежного обслуживания всех компонентов операционной системы и возможности обновлять или настраивать дополнительные компоненты в вашей системе. Windows поддерживает только каталог WinSxS на физическом диске в его первоначально установленном месте.

Вывод(Conclusion)

Пусть папка WinSxS будет такой, какая она есть!

Узнайте о папке Sysnative, папке Panther(Panther folder) и папках Catroot и Catroot2(Catroot & Catroot2 folders) здесь.(Learn about the Sysnative folder, Panther folder and Catroot & Catroot2 folders here.)

Дополнительные чтения:(Additional reads:)

Analyze Windows Component Store or WinSxS in Windows WinSxS folder cleanup in Windows Add Windows Update Cleanup option to Disk Cleanup tool in Windows Clean up WinSxS Directory on Windows Server



About the author

«Я внештатный эксперт по Windows и Office. У меня более 10 лет опыта работы с этими инструментами, и я могу помочь вам извлечь из них максимальную пользу. Мои навыки включают в себя: работу с Microsoft Word, Excel, PowerPoint и Outlook; страницы и приложения, а также помощь клиентам в достижении их бизнес-целей».



Related posts