Что за папка winsxs, и как ее очистить?
Содержание:
What is WinSxS folder Windows 10
In short, Winsxs, which stands for ‘Windows Side By Side’, is Windows native assembly cache. Libraries that are being by multiple applications are stored there. This feature was first introduced, in Windows ME and was considered as Microsoft’s solution to the so-called ‘dll hell’ issues that plagued Windows 9x.
In Winsxs, the ‘backup’ folder is the largest, as can be noticed in the image below.
Again, as can be seen in the image below, in the Winsxs folder, the ‘Other’ File types take the bulk of the space. These primarily consist of .imd, .ngr, .csd, .dll, .dll.mui, .exe and such other file types.
In Windows 7 and later, there isn’t a ‘dllcache’ folder and nor can you find the ‘i386’ folder, where the system caches (like in XP) all it’s source modules. It is this WinSxS folder that stores the shared components of side-by-side applications. These files can be multiple versions of the same assembly or application. Every side-by-side assembly has a unique identity. One of the attributes of the assembly identity is its version.
But, why so many subfolders and why keep so many different versions of the same dll, exe, or other files?
As mentioned, Windows stores the old dlls and library components in the WinSxS folder. Now if a newer version of this file is a part of the OS, but a particular application requires a particular older version for running, then the older version from the WinSxS folder will be used, leaving the newer version in its present place, for other applications which may require it.
So obviously, you cannot delete this directory or move it elsewhere. Nor is it advisable to delete anything here, as such a step could probably make your applications un-workable or even break your system! If you have many applications installed, you can expect to have a jumbo-sized WinSxS folder. This WinSxs folder cannot reside on any other volume than the system volume. This is because of the NTFS hard links. If you try to move the folder, it may result in Windows updates, service packs, features, etc., not installing correctly.
If you delete components from the WinSxS folder like the manifests or the assemblies, etc., you could be in trouble. Each system would react differently. What may work for one could break another! For instance, if you install a program that requires that particular assembly, which you may have deleted, then that program will just not run! Compressing the folder is also a no-no, as it could cause problems during WindowsUpdates or while installing a Hotfix.
The safest way to clean it is by simply uninstalling applications that you don’t require. However, this, too, is not fool-proof, as many applications still leave behind their files here, since they may be shared between other applications. So the probability of dud unused dll‘s being left behind is quite high.
We would not advise the use of WinSxS cleanup tools like WinsxsLite as you could end up breaking your Windows.
And if you are into trying out new software or installing and uninstalling frequently, you may notice that your Winsxs size is indeed large, as Windows will store multiple copies of these dll files, in order to let multiple applications without compatibility problem.
Способы оптимизации WinSxS
Перед тем как приступать к очистке WinSxS, весьма желательно установить её точный размер – а вдруг она занимает не столь много места, как это кажется. Откройте от имени администратора командную строку и выполните такую команду:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Анализ займёт некоторое время.
По завершении операции обратите внимание на параметр «Фактический размер хранилища компонентов», его значение как раз и будет истинным размером папки WinSxS. Более того, утилита Dism сама определит нужно ли её очищать или нет
В представленном здесь примере очистка не требуется, у вас ситуация может быть иной. Но вернёмся к теме как почистить папку WinSxS.
Сleanmgr
Самый очевидный способ предполагает использование встроенной утилиты cleanmgr. Запустите её через окошко «Выполнить» и нажмите кнопку «Очистить системные файлы».
Найдите и отметьте пункт «Очистка обновлений Windows» и нажмите «OK». Если оного пункта у вас нет, значит и очищать по большому счёту нечего.
Планировщик заданий
Очистку папки WinSxS можно выполнить и через Планировщик заданий. Откройте этот инструмент командой taskschd.msc, а затем разверните в левой колонке ветку Microsoft – Windows – Servicing.
Выделите задание StartComponentCleanup и нажмите «Выполнить». Кстати, управляемая Планировщиком очистка запускается автоматически через каждые 30 дней в фоновом режиме.
Dism
Недостаток приведенных выше способов состоит в том, что оценка освобождаемого места бывает весьма приблизительной и может варьироваться до нескольких сот мегабайт в обе стороны. Кроме того, при очистке через Планировщик установленные в последние 30 дней обновления игнорируются. Если вы хотите получить более качественные результаты, используйте утилиту Dism. Открыв командную строку или PowerShell с повышенными привилегиями, выполните такую команду:
Dism.exe /online /Cleanup-Image /StartComponentCleanup
Запущенная с этими параметрами Dism делает то же самое, что и cleanmgr, но при этом более точно определяет размер высвобождаемого места.
Чтобы произвести глубокую очистку с удалением архивных файлов компонентов обновлений, используйте такую команду:
Dism.exe /online /Cleanup-Image /SPSuperseded
Помните, однако, что после выполнения этой команды вы больше не сможете откатиться к предыдущей версии Windows 7/10, так как все бекапы будут удалены. К слову, если сохранённых пакетов обновлений не будет найдено, вы получите сообщение как на прилагаемом скриншоте.
Вместо вышеприведенной команды вы можете также использовать другую, очищающую старые пакеты для каждого компонента:
Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase
Очистка папки WinSxS в Windows 8.1
В Windows 8.1 (Windows 8) папка WinSxS может очищаться при помощи Планировщика заданий. Этот способ также работает в операционной системе Windows 10.
Вам также может быть интересно:
- Как удалить временные файлы в Windows 10
- Очистка Windows 10: автоматическое и ручное удаление ненужных файлов
Для того, чтобы почистить папку WinSxS выполните следующие действия:
- Запустите Планировщик заданий одним из этих способов.
- В левом столбце откройте «Библиотека Планировщика заданий», а затем поочередно перейдите сначала в раздел «Microsoft», а затем в раздел «Windows».
- Нажмите на раздел «Servicing», компонент «StartComponentCleanup», отвечающий за очистку хранилища компонентов, готов к выполнению задания.
- В правой колонке, в разделе «Выбранный элемент» нажмите «Выполнить».
Дождитесь завершения удаления ненужных файлов из системной папки, а затем перезагрузите ПК.
Для автоматического запуска задания по очистке папки WinSxS выполните следующее:
- В окне компонента «StartComponentCleanup», в правой колонке, в разделе «Выбранный элемент» нажмите на «Свойства».
- В окне ««StartComponentCleanup (локальный компьютер)» откройте вкладку «Триггеры» нажмите на кнопку «Создать».
- В окне «Создание триггера» настройте расписание для автоматического запуска задания с нужной периодичностью в определенное время.
С помощью программы DISM
Эта утилита появилась в дистрибутивах Windows, начиная с 8-ки. Но по сведениям из Интернета, её можно использовать и в семёрке. Необходимо только ее скачать и установить. Каков же её функционал? А здесь удаление временных файлов, логов, КЭШа, сжатие установленной системы с указанием степени сжатия, отключение и удаление ненужных служб, и, конечно, удаление обновлений. Но сначала её нужно скачать и поместить в папку Windows\System32.
Утилита запускается в режиме командной строки от имени администратора. Прежде чем запускать очистку, следует выполнить анализ папки и узнать необходимость в её очистке. Формат команд этой утилиты не отличается разнообразием и имеет вид:
Dism.exe /Online /Cleanup-Image /опция команды
Далее мы будем опускать полный формат команды и приводить только опцию описываемой команды. В любом случае утилита отвечает окном с результатом выполнения команды, в котором значится строка «операция успешно завершена».
Анализ наполнения папки winsxs производится с помощью опции
/AnalyzeComponentStore
после выполнения этой команды получаем отчёт об анализе:
Из него видно, что можно безболезненно очистить резервные копии и отключённые компоненты, кэш и временные данные, сэкономив на этом чуть более 1 Гб. В отчёте присутствует строка «Рекомендуется очистка хранилища компонентов: Да», значит, можно выполнять команду очистки.
Для этого выполняем команду с опцией
/StartComponentCleanup
По ней запускается процесс удаления лишних файлов, а по его окончании выдаётся экран с сообщением об успешном завершении удаления.
Процесс очистки каталога можно продолжить, введя команду на удаление заархивированных файлов, которые были созданы в ходе обновлений. Опция этой команды имеет вид:
/SPSuperseded
Удаление устаревших версий компонент системы можно выполнить с помощью команды с опцией
/StartComponentCleanup /ResetBase
Теперь обратимся к коррекции списка установленных компонент ОС. Разумеется, обычно это делается с помощью функции «Включение или отключение компонентов Windows» из раздела «Программы и компоненты» Панели управления. Однако даже если какой-либо компонент не помечен галочкой как подлежащий удалению в выданном Windows списке, он все равно может присутствовать в папке winsxs. Чтобы увидеть полный список хранящихся в этой папке компонент, нужно выполнить команду, задав опцию
/Online /English /Get-Features /Format:Table
Выбирая из полученной таблицы компоненты, которые не нужны пользователю, он может стереть их в winsxs и уменьшить ее размер с помощью команды, опции которой такие
/Online /Disable-Feature /featurename:имя /Remove
где имя – это название удаляемой компоненты.
Очистка папки WinSxS в Windows 8.1
Графическая утилита очистки
Начнем с более привычных для большинства пользователей графических утилит. А для того, чтобы оценить эффективность новых способов очистки, зафиксируем исходный объем места, занимаемого Windows 8.1.
Кроме этого запомним количественные свойства папки WinSxS из “Свойства”:
Теперь нажимаем “Очистка диска”.
Пока ничего нового по сравнению c предыдущими версиями Windows не появилось.
Нажимаем “Очистить системные файлы”, дожидаемся завершения процесса обнаружения кандидатов на удаление и смотрим еще раз:
Вот это и есть то новое, что появилось в Windows. Объем файлов обновлений подлежащих удалению в представленном примере относительно небольшой. Он будет зависеть от количества и объема обновлений, сделанных с момента последнего выполнения очистки. Запускаем процесс:
Не смотря на небольшой объем удаляемых файлов, очистка занимает ощутимое время. Посмотрим, что получилось в результате. Папка WinSxS:
Нетрудно посчитать, что показанный файловым менеджером объем папки WinSxS уменьшился примерно на 500 МБ. Это даже больше, чем было обещано. Однако, посмотрим диск:
Можно предположить, что это более правильное значение. Такая разница показаний может быть обусловлена ошибками расчета занятого места из-за большого количества жестких символьных ссылок в папке WinSxS. Как можно в Windows 8.1 посмотреть точный размер WinSxS, чуть ниже.
Быстро вызвать графическую утилиту очистки диска во всех системах можно командой cleanmgr.
Переходим к консольным командам.
Команды очистки файлов обновлений
Начнем опять же с Windows 8.1, как наиболее продвинутой в этом плане.
Запускаем командную строку от имени администратора. В Windows 8.1 это можно сделать через “Поиск”. В окне поиска нужно набрать cmd, затем выбрать по клику правой кнопкой мыши “Запуск от имени администратора”.
Все команды, которые будут представлены, можно выполнять и в Windows PowerShell. Кому как больше нравится.
Речь пойдет о системе обслуживания образов DISM, вернее о ее новых возможностях.
Выполним в начале команду:
Эта команда покажет размер хранилища компонентов WinSxS каким его видит проводник, фактический размер и сколько места занято общими с Windows файлами (жесткими ссылками), объем резервных копий и отключенных компонентов, дату последней очистки и сколько пакетов можно освободить.
Показанное на рисунке состояние WinSxS соответствует полученному в результате очистки с помощью графической утилиты. Посмотрим, изменится ли что-то если повторно запустить процесс очистки, но с помощью DISM.
Выполним основную команду очистки в DISM:
Повторяем запуск DISM с ключом /AnalyzeComponentStore и убеждаемся, что в папке WinSxS ничего не изменилось. Это означает, что запуск команды очистки в DISM эквивалентен рассмотренной выше графической утилите “Очистка диска”.
Необходимо иметь в виду, что после выполнения этой команды не будет возможности отменить установленные обновления. Такая необходимость возникает не так уж часто, но лучше все же не рисковать и сделать предварительно системный бекап.
Надо сказать, что в рассматриваемом примере выполнение указанной команды на первый взгляд не возымело на папку WinSxS никакого действия, но при этом неожиданно уменьшилось общее место, занимаемое системой на диске C:\ до 9,58 ГБ. Впрочем, сомневаться в том, что это работает, не стоит.
Если после выполнения команды очистки с ключом /ResetBase открыть “Программы и компоненты” в “Панель управления” и попытаться удалить любое обновление из списка, то это окажется невозможным – кнопка “Удалить” попросту не появляется.
Очистка системы по расписанию
Согласно документации TechNet, начиная с Windows 8 очистка системы теперь выполняется автоматически как запланированное задание:
Если открыть “Планировщик заданий”, в разделе “Администрирование” панели управления, то в папке Servicing можно увидеть задание “StartComponentCleanup”.
При автоматическом запуске задание не будет удалять обновления, установленные в последние 30 дней.
Кроме того, в заголовке описания — “Run the StartComponentCleanup task in Task Scheduler to clean up and compress components” есть прямой намек на сжатие компонентов.
К сожалению, пока информации о том, что действительно имелось в виду, нет. Возможно, редко используемые компоненты будут подвергаться ntfs-сжатию, как это некогда было раньше. Например, в Windows Server 2003. История покажет.
Теперь перейдем к предыдущим версиям Windows и коротко посмотрим какие из перечисленных возможностей очистки системы имеются в них.
Итог:
Как видите, ничего сложного в этом нет. Мы протестировали все вышеописанные варианты, и нашли их вполне действенными и эффективными. Но самое главное, что наши действия не привели к каким-либо отрицательным последствиям для операционной системы.
Все что останется в папке WinSxS удалять не следует. И еще один момент. Не используйте случайные, найденные в Интернете утилиты для очистки этой папки.
Как показал опыт, применение таких «чистильщиков» нередко приводило к полной переустановке системы
А еще обратите внимание на тот факт, что ни в одном из известных оптимизаторов вы не найдете функции очистки каталога WinSxS