В этой статье мы поговорим о каталоге WinSxS в Windows, причинах его постоянного роста и способах очистки. Каталог C:windowsWinSxS является хранилищем компонентов Windows. В этом каталоге хранятся dll библиотеки, бинарные и xml файлы, необходимые для установки и работы различных ролей и компонентов Windows. Каждый раз когда вы устанавливаете обновления Windows (это происходит ежемесячно), новая версия обновляемого компонента устанавливается в систему, а старая сохраняется в хранилище компонентов WinSxS (это необходимо для обеспечения совместимости и возможности “отката“ к старым версиям компонентов при удалении проблемного обновления).
Со временем размер каталога WinSxS постоянно увеличивается. Причем его размер ничем не ограничен (хотя на практике размер папки WinSxS в Windows 10 редко превышает 15-20 Гб.)
В этой статье мы рассмотрим наиболее безвредные способы очистки папки WinSxS в Windows 10 и Windows Server.
- Оптимизация хранилища компонентов и удаление старых версий компонентов, оставшихся после установки обновлений Windows;
- Технология Features on Demand (функции по требованию), позволяющая удалить неиспользуемые компоненты Windows с диска;
- Сжатие файлов в папке WinSxS – способ уменьшить размер каталога WinSxS за счет включения NTFS компрессии.
У многих пользователей возникает естественный вопрос можно ли вручную удалить файлы из папки WinSxS. Ответ на этот вопрос – категоричное НЕТ! Такими действиями с большой долей вероятности вы сломаете свою Windows. И хотя отдельные попытки удаления конкретных файлов из папки WinSxS могут быть удачными, рекомендовать этот способ нельзя.
Как узнать реальный размер папки WinSxS в Windows 10?
Самый простой способ получить текущий размер каталога WinSxS в Windows, запустить проводник File Explorer и открыть свойства папки %windir%WinSxS (или воспользоваться скриптом PowerShell). Но имейте в виду, что большинство файловых менеджеров (в том числе File Explorer) показывают несколько больший размер каталога WinSxS, чем он занимает на диске.
Дело в том, что в каталоге WinSxS есть большое количество hard links (жестких символических ссылок) на файлы в других системных каталогах. Файловые менеджеры при подсчете размера папки WinSxS учитывают объем файлов, на которые ссылаются жесткие ссылки, а это не корректно.
Чтобы реальный (без учета жестких ссылок) размер папки WinSxS, воспользуйтесь утилитой SysInternal du:
du -v c:windowswinSXS
Но проще всего проанализировать размер хранилища компонентов в папке WinSxS с помощью команды DISM:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Разберемся, что возвращает данная команда:
Размер хранилища компонентов по данным проводника : 5.70 GB (это размер хранилища с учета жестких ссылок, который отображается в проводнике) Фактический размер хранилища компонентов : 5.49 GB (реальный размер хранилища компонентов за исключением жестких ссылок) Совместно с Windows : 3.12 GB (обязательные файлы системы, не могут быть удалены) Резервные копии и отключенные компоненты : 2.12 GB (устаревшие файлы компонентов, которые нужны на случай проблем с установленными обновлениями) Кэш и временные данные : 245.87 MB (файлы используются для ускорения работы системы обслуживания) Дата последней очистки : 2018-07-31 12:45:23 Число освобождаемых пакетов : 10 (файлы, которые обновились после установки обновлений Windows, они будут удалены при очистке хранилища) Рекомендуется очистка хранилища компонентов : Да
Как вы видите, в данном случае можно уменьшить размер каталога WinSxS на 2.1 Гб + 250 Мб.
Команда DISM также позволяет проверить и исправить ваш образ Windows: DISM /Online /Cleanup-Image /RestoreHealth
Папка WinSxS — для чего нужна, что сюда сохраняется
В каталоге WinSxS система сохраняет копии своих файлов до каждого обновления «Виндовс». В них хранится информация о документах ОС, которые были изменены во время апдейта. С помощью этих резервных копий вы можете в будущем сделать откат системы до предыдущего состояния. В этом каталоге есть также файлы всех компонентов «Виндовс», в том числе старые и новые копии. Некоторые из этих компонентов могут быть неактивированными в системе, но они всё равно будут храниться в WinSxS. Эти файлы важны для работы системы.
В «Виндовс» 10 в этой папке также хранятся данные для сброса «операционки» до исходного состояния.
Очистка хранилища компонентов WinSxS в Windows
Самый быстрый и простой способ освободить место в хранилище компонентов Windows (т.е. очистить папку WinSxS) – оптимизация хранилища командой:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
Опция Dism /StartComponentCleanup поддерживается во всех версиях Windows, начиная с Windows 8/Windows Server.
После окончания очистки проверьте текущий размер хранилища компонентов:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
В моем примере это помогло уменьшить размер папки WinSxS на 2,5 Гб.
С помощью еще одного параметра /ResetBase вы можете удалить все предыдущие версии компонентов, оставшиеся после установки обновлений Windows. После этого вы не сможете удалить установленные обновления или Service Pack, а в панели обновлений appwiz.cpl у обновлений пропадет кнопка «Удалить»).
Чтобы очистить старые версии компонентов, выполните:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
В Windows 7 и Windows Server 2008 R2 для очистки старых версий компонентов, оставшихся после установки сервис пака, использовался еще один параметр DISM: dism /online /Cleanup-Image /spsuperseded
Также вы можете удалить устаревшие обновления с помощью мастера очистки диска. Выполните команду cleanmgr c правами администратора.
В окне утилиты выберите диск и в следующем окне нажмите кнопку «Очистить системны файлы».
Далее выберите опцию “Файлы журнала обновления Windows» и нажмите ОK. Утилита очистки диска покажет сколько места вы можете освободить, удалив файлы журнала старых обновлений Windows. В моем примере это 427 Мб.
После окончания очистки хранилища с помощью DISM проверьте сколько освободилось места на диске.
В планировщике задания Windows 10 и Windows Server 2021 есть специальное задание автоматического обслуживания, которое регулярно выполняет оптимизацию и очистку каталога WinSxS (выполняется действия, аналогичные команде dism с ключом StartComponentCleanup). Это задание StartComponentCleanup находится в разделе MicrosoftWindowsServicing. Данное задание запускается в фоновом режиме и автоматически удаляет версии компонентов старше 30 дней, которое были заменены более новыми версиями.
Можно запустить это задание вручную так:
schtasks.exe /Run /TN «MicrosoftWindowsServicingStartComponentCleanup»
Вариант 1: «Командная строка»
Все через то же приложение «Командная строка» вы можете без труда выполнить очистку разных составляющих папки.
Если после анализа папки вы закрыли консоль, откройте ее повторно. Напишите там команду Dism.exe /Online /Cleanup-Image /StartComponentCleanup и нажмите Enter. Начнется выполнение операции, а его продолжительность зависит от размера «WinSxS» и типа накопителя, занимая от одной минуты до нескольких. По завершении вы увидите соответствующее оповещение и можете еще раз проверить размер папки любым удобным методом.
Стоит отметить, что после использования этой команды обращаться к Варианту 2 и 3 бессмысленно, поскольку они выполняют всю ту же задачу, что и эта команда.
Удаление неиспользуемых компонентов Windows (Windows Server)
В статье Безопасная очистка папки WinSxS в Windows Server 2016/2012 мы рассмотрели функцию Features on Demand (функции по требованию), предоставляющую возможность удаления с диска бинарных файлов неиспользуемых ролей и компонентов из каталога WinSxS. Для этого в Windows Server используется командлет PoweShell Uninstall-WindowsFeature.
В Windows 10 командлет Uninstall-WindowsFeature отсуствует, и для удаления компонентов Windows из образа нужно использовать DISM.
DISM в отличии от Uninstall-WindowsFeature не удаляет зависимые компоненты.
Полный список доступных функций в образе Windows 10 можно получить с помощью команды: DISM.exe /Online /English /Get-Features /Format:Table
Чтобы удалить, например компонент TelnetClient с диска (из каталога WinSxS), выполните команду: DISM.exe /Online /Disable-Feature /Featurename:TelnetClient /Remove
Если еще раз вывести список всех доступных функций по требованию в Windows, вы увидите, что статус компонента изменится на Disabled with Payload Removed.
Таким образом в Windows можно существенно уменьшить размер папки WinSxS, удалив с диска неиспользуемые компоненты. Единственный нюанс, это вариант очистки каталога WinSxS подойдет для достаточной продвинутых пользователей, которые разбираются в компонентах Windows 10 и их назначении.
Можно ли самостоятельно заниматься чисткой каталога
Как удалить Windows.old и что это за папка
Владельцы ПК часто задаются вопросом, можно ли удалить папку WinSxS в Windows 10 или очистить ее от ненужной информации. На самом деле, ее действительно можно чистить от файлов. Однако делать это нужно правильно. Дело в том, что неправильная чистка может негативно сказаться на работе системы.
Командную строку лучше запускать от имени администратора
Важно! Пользователи, которые решили полностью почистить каталог, должны понимать, что лучше не заниматься этим вручную. Удаление важных для ОС файлов может повлечь серьезные последствия. Из-за этого могут перестать работать системные программы. Очищать WinSxS лучше официальными системными средствами, а не посторонними программами.
Перед чисткой
Перед тем как очистить WinSxS, надо скачать один апдейт (если он ещё не установлен).
- Зайдите в Пуск — Программы — Центр обновлений.
Центр обновлений Windows
- Нажмите на «Необязательные обновления». Если такого пункта там нет, значит, все службы уже загружены.
- В списке найдите апдейт с номером «KB2852386».
- Отметьте его галочкой и подтвердите установку.
Без этого обновления очистка WinSxS будет недоступна. Его можно скачать и с официального сайта Майкрософт.
- Зайдите на com.
- В строке поиска справа сверху введите «KB2852386».
- Выберите апдейт, который подходит для вашей системы: 32- или 64-разрядной.
- Чтобы узнать информацию об ОС, кликните правой кнопкой мыши на значке «Мой компьютер», затем на пункт «Свойства». В строке «Тип» будет указана разрядность Windows.
Удаление данных в каталоге
Самый простой, грубый и опасный вариант очистки папки WinSxS на Windows 7 — удаление мусорных данных вручную. При этом владелец компьютера берёт на себя полную ответственность как за вероятные сбои в результате обращения системы к уже несуществующим данным, так и за невозможность восстановить ОС из ранее созданных резервных точек.
Тем не менее, если требуется быстро освободить на системном HDD несколько гигабайтов, этот способ оптимален; юзеру потребуется:
- Открыть меню «Компьютер».
- Перейти в системный винчестер.
- Последовательно зайти в папки Windows.
- И WinSxS.
- Выделить все содержащиеся в каталоге данные и, кликнув по заголовкам правой клавишей мыши, вызвать опцию «Удалить».
- Подтвердить своё намерение и дождаться полной очистки папки WinSxS — в зависимости от объёма и числа размещённых в ней файлов процесс может занять до получаса и даже более.
Важно: чтобы уменьшить занимаемое на HDD место таким способом, пользователю необходимо действовать из-под учётной записи администратора — простой «гость» удалить данные непосредственно в папке WinSxS не сможет.
Отключение компонентов Windows
Как уже упоминалось, в папке WinSxS хранятся не только предпоследние версии обновлений ОС, но и устаревшие версии системных компонентов. Следовательно, уменьшить размер каталога пользователь Windows 7 может, деактивировав часть из них; сделать это проще всего, снова запустив от имени администратора командную строку и придерживаясь простого алгоритма:
- Ввести и применить команду dism.exe /online /english /get-features /format:table.
- Несмотря на отсутствие признаков жизни, не закрывать окошко в течение следующих нескольких минут.
- Ознакомиться с появившейся таблицей, содержащей перечень системных компонентов и описывающей их текущее состояние: включены они (Enabled) или выключены (Disabled).
- Удалить (на деле — отключить) ненужные элементы, воспользовавшись командой dism.exe /online /disable-feature /featurename:ИМЯ /remove, где ИМЯ — это наименование компонента, написанное точь-в-точь так же, как в только что сформированной таблице. Для примера, чтобы очистить платформу гаджетов Windows 7, также засоряющую папку WinSxS, юзеру следует применить команду dism.exe /online /disable-feature /featurename:WindowsGadgetPlatform /remove.
Важно: перед тем как отключать те или иные компоненты, необходимо убедиться, что их деактивация не скажется на работе Windows 7 — внесённые таким образом изменения необратимы, и в лучшем случае пользователю придётся восстанавливать ОС с помощью установочного диска.
DISM++
Уникальная в своём роде программа, напрямую работающая с системной утилитой dism.exe и позволяющая быстро и эффективно уменьшить объём папки WinSxS на жёстком диске. Пользователю Windows 7, желающему почистить компьютер от мусорных файлов, следует:
- Скачать (ссылка — softpedia.com) архив, распаковать в любую папку и запустить исполняемый файл в соответствии с разрядностью своей операционной системы.
- Переключиться на вкладку «Очистка».
- Нажать на кнопку «Снять», чтобы убрать галочки из ненужных для очистки папки WinSxS чекбоксов.
- О.
- И целиком «Временные файлы».
- Нажать на кнопку «Анализ».
- И дождаться, пока программа рассчитает размер временных файлов, которые можно удалить без вреда для Windows 7.
- Ознакомиться с результатами, щёлкнуть «Очистка».
- И подтвердить намерение очистить данные.
- По завершении работы DISM++ можно смело закрывать — и, убедившись, что места на жёстком диске стало чуть больше, приступить к работе в штатном режиме, не забыв перезагрузить компьютер.
Автоматическая очистка
Слегка упростить себе задачу пользователь Windows 7 может, автоматизировав очистку папки WinSxS:
- Владелец компьютера открывает меню «Пуск», вводит в поисковой строке regedit и, кликнув по первому результату в списке найденных, переходит в «Редактор реестра».
- В новом окне последовательно раскрывает каталоги HKEY_LOCAL_MACHINE.
- SOFTWARE.
- Microsoft.
- Windows.
- CurrentVersion.
- Explorer.
- VolumeCaches.
- В расположенной здесь папке Temporary Files найти параметр StateFlags, дважды кликнуть по заголовку.
- И задать для него значение «2».
- То же проделать с одноимённым параметром в папке Update Cleanup.
- Запустить от имени администратора командную строку, ввести и применить команду schtasks /create /tn cleanupwinsxs /rl highest /sc monthly /tr «cleanmgr /sagerun:88».
- Теперь, благодаря выданным разрешениям на очистку кеша и созданному в «Планировщике» Windows 7 заданию, очистка каталога WinSxS будет производиться ежемесячно; дождавшись уведомления об успешном выполнении команды, пользователь может закрыть командную строку и приступить к своим делам.
Вариант 2: Средство очистки диска
В любой версии Windows, включая десятку, предусмотрено средство очистки локальных дисков от ненужных системных файлов в автоматическом режиме. С помощью этой возможности можно избавиться от содержимого в папке «WinSxS».
- Откройте «Этот компьютер», кликните ПКМ по «Локальный диск (С:)» и перейдите в «Свойства».
- Нажмите кнопку «Очистка диска».
- Теперь, чтобы отобразился нужный пункт, кликните по кнопке «Очистить системные файлы».
- Произойдет непродолжительное сканирование.
- Вы увидите только что добавленный пункт «Очистка обновлений Windows». Отметьте его галочкой.
- По необходимости можете удалить и другие данные с этого диска — почти всегда общий объем доступных для удаления файлов больше. Когда все будет готово, просто нажмите «ОК» и дождитесь выполнения операции.
Учтите, если ПК не обновлялся или был успешно очищен первым методом, файлов обновлений в разделе не будет.