Как очистить папку WinSxS в Windows

При анализе использования свободного места на системном диске в Windows многие пользователи обнаруживают, что WinSxS (%windir%\WinSxS). занимает значительный объём места. В этой статье мы расскажем, что хранится в системной папке WinSxS и как правильно её очистить.

Каталог C:\Windows\WinSxS (Windows Side-by-Side) содержит хранилище компонентов Windows. В этом каталоге хранятся библиотеки DLL, двоичные файлы и XML-файлы, необходимые для установки и работы различных ролей и функций Windows — как уже установленных, так и доступных для установки. При установке обновлений Windows некоторые файлы системных компонентов заменяются более новыми версиями, при этом замененные версии файлов сохраняются в хранилище компонентов WinSxS. Это позволяет безопасно удалить любое обновление Windows и вернуться к предыдущей версии компонента.

список файлов в папке winsxs в Windows 10список файлов в папке winsxs в Windows 10

Ещё одним недостатком этой архитектуры является то, что размер каталога WinSxS постоянно растёт, поскольку в нём сохраняются все устаревшие версии компонентов.

Размер папки WinSxS в WindowsРазмер папки WinSxS в Windows

Размер папки WinSxS, как правило, не должен превышать 10–15 ГБ. Если размер каталога WinSxS на вашем компьютере значительно превышает этот показатель, запустите процедуру очистки.

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

Как узнать фактический размер папки WinSxS в Windows

Самый простой способ узнать текущий размер папки WinSxS в Windows — открыть свойства этой %windir%\WinSxS папки в Проводнике (или использовать скрипт PowerShell для проверки размера папки). Однако имейте в виду, что большинство файловых менеджеров (включая Проводник) показывают размер папки WinSxS немного больше, чем он занимает на диске.

Дело в том, что каталог WinSxS содержит большое количество жестких ссылок (символических ссылок) на системные файлы, расположенные в других папках. Файловые менеджеры учитывают размер файлов, на которые ссылаются жесткие ссылки, при расчете размера папки WinSxS, но это неверно.

Вы можете использовать du — утилиту от Sysinternals, чтобы узнать реальный размер папки WinSxS на диске. du -v c:\windows\winSXS
как проверить реальный размер папки winsxs с помощью утилиты duкак проверить реальный размер папки winsxs с помощью утилиты du

Также можно проанализировать размер хранилища компонентов в папке WinSxS с помощью команды DISM:

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore — вывод фактического размера папки WinSxSDism.exe /Online /Cleanup-Image /AnalyzeComponentStore — вывод реального размера папки winsxs

Посмотрим, какой результат возвращает эта команда:

Информация о хранилище компонентов (WinSxS):

Windows Explorer Reported Size of Component Store 11,30 ГБ Это размер хранилища компонентов, включая жесткие ссылки, как отображается в Проводнике.
Actual Size of Component Store 11,12 ГБ Фактический размер хранилища компонентов без учёта твёрдых ссылок.
Shared with Windows 6,66 ГБ Это обязательные системные файлы. Их нельзя удалять.
Backups and Disabled Features 4,46 ГБ Это устаревшие файлы компонентов, которые могут понадобиться в случае проблем с установленными обновлениями.
Cache and Temporary Data 0 байт Временные файлы, используемые Windows для ускорения обслуживания, обновлений и операций очистки
Date of Last Cleanup 04.04.2026 11:20:19
Number of Reclaimable Packages 1 Это компоненты, файлы которых были обновлены (заменены) после установки обновлений Windows. Старые версии этих файлов компонентов можно безопасно удалить при очистке хранилища компонентов.
Component Store Cleanup Recommended Да/Нет

В моём случае я могу уменьшить размер папки WinSxS на 4,5 ГБ.

Эту команду можно использовать для отображения списка старых версий компонентов в образе, которые можно удалить:

Dism /Online /Get-Packages /Format:Table

Список устаревших пакетов в образе WindowsСписок устаревших пакетов в образе Windows

Пакеты со статусом «Устаревший» были заменены более новыми обновлениями и могут быть удалены. Для ручного удаления устаревших пакетов используйте команду: Dism /Online /Remove-Package /PackageName:PACKAGE_Full_Name. Однако нет необходимости использовать эту команду , поскольку предусмотрена процедура автоматической очистки (см. ниже).

Автоматическая очистка хранилища компонентов с помощью планировщика заданий

Задача StartComponentCleanup представляет собой предварительно настроенную задачу Планировщика заданий Windows, которая регулярно оптимизирует и очищает папку WinSxS, удаляя старые или устаревшие системные компоненты. Она настроена на автоматический запуск в период простоя системы (в рамках задач обслуживания образов) с ожиданием 30 дней после установки обновления перед удалением устаревших версий компонентов. Это дает пользователю время для отката к предыдущей версии в случае возникновения каких-либо проблем с новым обновлением.

Используйте либо оснастку «Планировщик заданий» taskschd.msc , либо PowerShell, чтобы убедиться, что эта запланированная задача существует и включена, а также проверить, когда она запускалась в последний раз:

Get-ScheduledTask StartComponentCleanup

Get-ScheduledTask StartComponentCleanup | Get-ScheduledTaskInfo

Запланированная задача — StartComponentCleanupЗапланированная задача — StartComponentCleanup

Чтобы запустить задачу планировщика вручную, используйте команду:

Start-ScheduledTask StartComponentCleanup

Задача StartComponentCleanupЗадача StartComponentCleanup

Как очистить хранилище компонентов (WinSxS) в Windows

Чтобы немедленно запустить очистку хранилища компонентов Windows с целью удаления устаревших версий файлов, минуя 30-дневный срок хранения, выполните следующую команду:

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

Очистка хранилища компонентов WinSxS с помощью Dism StartComponentCleanupclenup winsxs component store with Dism StartComponentCleanup

Команда ищет устаревшие компоненты и удаляет старые, неиспользуемые версии системных файлов. DISM также применяет дельта-сжатие к устаревшим компонентам, преобразуя их в компактные файлы различий.

После завершения очистки проверьте текущий размер хранилища компонентов:

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

В моем примере размер папки WinSxS уменьшился на 4,5 ГБ.

Опция /StartComponentCleanup включает в себя параметр /ResetBase , который позволяет удалить все устаревшие версии компонентов, оставшиеся после установки обновлений Windows.

После этого удалить установленные обновления Windows или пакеты обновлений будет невозможно.

Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase

В Windows 7 и Windows Server 2008 R2 был введён дополнительный параметр DISM для удаления старых версий компонентов, оставшихся после установки пакетов обновлений:

DISM /online /Cleanup-Image /spsuperseded

Кроме того, для удаления старых файлов обновлений можно использовать графический мастер «Очистка диска»:

  1. Запустите команду cleanmgr от имени администратора.
  2. Выберите диск и в следующем окне нажмите кнопку «Очистить системные файлы».Очистить системные файлыОчистить системные файлы
  3. Затем выберите опцию «Очистка обновлений Windows». Средство «Очистка диска» показывает, сколько места на диске можно освободить, удалив старые файлы обновлений Windows. В моём примере это около 320 МБ. Нажмите «ОК», чтобы начать очистку.Очистка обновлений Windows с помощью утилиты cleanmgrОчистка обновлений Windows с помощью утилиты cleanmgr

Новая Storage Sense доступна на панели «Параметры» Windows 11 в разделе «Система» > «Хранение» > «Временные файлы». Установите флажок Очистка обновлений Windows , чтобы удалить файлы предыдущих обновлений.

Очистка обновлений Windows в Storage SenseОчистка обновлений Windows в Storage Sense

Удаление неиспользуемых ролей и функций из образа Windows

В рамках концепции «Функции по запросу» (FoD) Windows позволяет удалить бинарные файлы любых неиспользуемых ролей и компонентов из хранилища компонентов (каталога WinSxS).

Используйте приведенную ниже команду, чтобы отобразить список всех функций, доступных в образе Windows:

DISM.exe /Online /Get-Features /Format:Table

dism: отключить функцию Windows с удалением полезной нагрузкиdism: отключить функцию Windows с удалением полезной нагрузки

По умолчанию из образов Windows 10 и 11 удаляется только функция .Net Framework 3.5 (её всегда можно установить вручную).

Чтобы удалить, например, TelnetClient из образа Windows (из папки WinSxS), выполните команду: DISM.exe /Online /Disable-Feature /Featurename:TelnetClient /Remove
DISM Disable Feature RemoveDISM Disable Feature Remove

Если теперь вы выведете список всех доступных в Windows функций по запросу, то увидите, что статус компонента изменился на «Отключено с удалением данных».

В Windows Server для удаления файлов ролей и функций с диска используется командлет PowerShell Uninstall-WindowsFeature.

Таким образом, вы можете уменьшить размер папки WinSxS в Windows, удалив с диска неиспользуемые функции. При необходимости вы всегда можете установить удалённые функции через Windows Update или с установочного ISO-образа.

Команда DISM также позволяет проверить и восстановить образ Windows:

DISM /Online /Cleanup-Image /RestoreHealth

Как включить сжатие NTFS для папки WinSxS в Windows

Существует ещё один (неофициальный) способ уменьшить размер каталога WinSxS в Windows: сжать его содержимое на уровне файловой системы NTFS. Это может сократить объем, занимаемый каталогом WinSxS, до 30 %.

Этот метод сжатия эффективен в Windows 10 , но практически не дает результата в Windows 11.

Примечание. Как и в случае с любыми нестандартными изменениями конфигурации системы, настоятельно рекомендуется создать полную резервную копию образа Windows.
  1. Откройте командную строку от имени администратора.
  2. Остановите и отключите Windows Installer и Windows Module Installer :
    sc stop msiserver
    sc stop TrustedInstaller
    sc config msiserver start= disabled
    sc config TrustedInstaller start= disabled
  3. Сделайте резервную копию списков контроля доступа (ACL), назначенных файлам и папкам в каталоге WinSxS, с помощью встроенной команды icacls. Резервная копия ACL представляет собой файл в виде простого текста, содержащий список всех файлов и каталогов вместе с правами доступа NTFS, назначенными каждому из них (позже этот файл понадобится для восстановления исходных ACL):
    icacls "%WINDIR%\WinSxS" /save "%WINDIR%\WinSxS_NTFS.acl" /t
    Резервное копирование прав доступа NTFS для файлов в папке winsxs с помощью icaclsРезервное копирование прав доступа NTFS для файлов в папке winsxs с помощью icacls
  4. Установите себя владельцем папки WinSxS и всех её подпапок:
    takeown /f "%WINDIR%\WinSxS" /r
  5. Предоставьте своей учётной записи права полного доступа к каталогу WinSxS:
    icacls "%WINDIR%\WinSxS" /grant "%USERDOMAIN%\%USERNAME%":(F) /t
  6. Теперь вы можете использовать команду compact для сжатия файлов в каталоге WinSxS. Поскольку некоторые файлы могут использоваться системой, необходимо указать /I . В противном случае процесс сжатия остановится на первом заблокированном файле (в Windows 10 и 11 можно использовать более продвинутое сжатие LZX):
    compact /s:"%WINDIR%\WinSxS" /c /a /i *
    сжатие файлов в папке winsxs с помощью утилиты compact.exeсжатие файлов в папке winsxs с помощью утилиты compact.exe
  7. Восстановите владельца каталога WinSxS — TrustedInstaller:
    icacls "%WINDIR%\WinSxS" /setowner "NT SERVICE\TrustedInstaller" /t
  8. Восстановите исходные списки контроля доступа (ACL) для элементов папки WinSxS с помощью файла резервной копии ACL, созданного ранее:
    icacls "%WINDIR%" /restore "%WINDIR%\WinSxS_NTFS.acl"
  9. Восстановите тип запуска по умолчанию для служб Windows Installer и Windows Module Installer:
    sc config msiserver start= demand
    sc config TrustedInstaller start= demand

Проверьте текущий размер каталога WinSxS.

Как сэкономить место в папке WinSxS в Windows 10?Как сэкономить место в папке WinSxS в Windows 10?

Как показано в приведённом примере, размер папки WinSxS уменьшился примерно на 30 % (с 9,4 ГБ до 6,5 ГБ) после сжатия. Неплохо, особенно для SSD-накопителя небольшого объёма.

Указанные команды можно выполнять поочерёдно (что упрощает отслеживание результатов каждой из них) или объединить в один скрипт. Готовый к использованию пакетный файл для включения сжатия NTFS для элементов в папке WinSxS можно скачать здесь: winsxs_ntfs_compress.bat

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

На что может повлиять сжатие папки WinSxS? Windows бесперебойно работает со сжатыми файлами. Однако обработка таких файлов может потребовать дополнительного времени процессора для распаковки/сжатия. Это может привести к небольшому замедлению при установке функций или обновлений Windows. Однако современные процессоры выполняют операции сжатия и распаковки файлов практически мгновенно, поэтому пользователи, скорее всего, не заметят какого-либо значительного влияния на производительность.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *