- FAQ: Очистка и сжатие папки WinSxS в Windows 10 и 8.1
- Как узнать реальный размер папки WinSxX в Windows 10 / 8.1
- Очистка хранилища компонентов (папки WinSxS ) в Windows 10 / 8.1
- Функции по требованию в Windows 10 и 8.1
- Включаем NTFS сжатие на папке WinSxS в Windows 10 и 8.1
- На что может повлиять сжатие каталога WinSxS.
- Как очистить папку WinSxS в Windows 10
- Что это за папка WinSxS Windows 10
- Как очистить папку WinSxS в Windows 10
- Очистка диска
- Планировщик заданий
FAQ: Очистка и сжатие папки WinSxS в Windows 10 и 8.1
В этой статье мы поговорим о каталоге WinSxS в Windows 10 и Windows 8.1, причинах его постоянного роста и способах очистки. Каталог C:\windows\WinSxS является хранилищем компонентов Windows. В этом каталоге хранятся dll библиотеки, бинарные и xml файлы, необходимые для установки и работы той или иной роли ОС Windows. При установке обновлений Windows (это происходит ежемесячно), новая версия обновляемого компонента устанавливается в систему, а старая сохраняется в хранилище WinSxS (это необходимо для обеспечения совместимости и возможности «отката» на старые версии компонентов при удалении проблемного обновления).
Самым естественный способ уменьшить размер папки WinSxS в Windows 10 и Windows 8 — удалить из системы старые версий компонентов, оставшиеся после обновления системы. Для этого используется стандартный мастер очистки диска cleanmgr или специальные опции команды DISM (см. ниже).
Как узнать реальный размер папки WinSxX в Windows 10 / 8.1
Еще одной особенностью папки WinSxS является наличие в ней большого количества так называемых hard links (жестких символьных ссылок). Жесткая ссылка представляет собой полностью равноправный оригинальному указатель на файл. Т.е. указатель и исходный файл могут иметь разные имена и находиться в пределах одного раздела в разных каталогах, но реально указывать они будут на один и тот же объект. Именно из-за наличия жестких ссылок, которые включаются в расчет общего размера каталога, файловые менеджеры (и в том числе Windows Explorer) показывают несколько преувеличенный размер папки WinSxS. Узнать реальный (без учета жестких ссылок) размер папки WinSxS можно с помощью утилиты SysInternal du:
Так же вы можете проанализировать размер хранилища компонентов (папку 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 Мб.
У многих пользователей возникает естественный вопрос можно ли вручную удалить файлы из папки WinSxS. Ответ на этот вопрос – категоричное НЕТ! Такими действиями с большой долей вероятности получиться нарушить работоспособность Windows. И хотя некоторые попытки удаления файлов из папки WinSxS могут быть удачными, рекомендовать этот способ с точки зрения потенциальной опасности для системы нельзя.
Остановимся на наиболее безвредных с точки зрения системы способах очистки папки WinSxS в Windows 10 и Windows 8.1. Это:
- Удаление старых версий компонентов, оставшихся после установки обновлений;
- Технология FeaturesonDemand (функции по требованию), позволяющая удалить неиспользуемые компоненты Windows с диска;
- Сжатие файлов в папке WinSxS – способ уменьшить размер каталога WinSxS за счет NTFS компрессии ее содержимого.
Для достижения максимального результата все три способа можно использовать совместно.
Очистка хранилища компонентов (папки WinSxS ) в Windows 10 / 8.1
На мой взгляд самый быстрый и простой способ очистить место в хранилище компонентов (т.е. очистить папку WinSxS), удалив старые версии компонентов – выполнить команду:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
У параметра /StartComponentCleanup есть дополнительная опция /ResetBase, позволяющая удалить все предыдущие версии компонентов (после этого вы не сможете удалить установленные обновления или Service Pack, а в панели обновлений appwiz.cpl у обновления пропадет кнопка «Удалить»). Полностью команда выглядит так:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Также вы можете удалить устаревшими обновления из мастера «очистки диска». Выполните команду cleanmgr c правами администратора.
В окне утилиты выберите диск и в следующем окне нажмите кнопку «Очистить системны файлы».
Далее выберите опцию “Файлы журнала обновления Windows» и нажмите Ок для начала очистки. Утилита очистки диска покажет сколько места вы можете освободить, удалив файлы журнала старых обновлений Windows. В моем примере это 427 Мб.
После окончания очистки хранилища с помощью DISM проверьте сколько освободилось места на диске.
Кроме того, в планировщике Windows 10 есть специальное задание автоматического обслуживания, которое выполняет ту же самую операцию, что и dism с ключом StartComponentCleanup, удаляя все устаревшие обновления старше 30 дней. Это задание с именем StartComponentCleanup находится в разделе \Microsoft\Windows\Servicing.
Функции по требованию в Windows 10 и 8.1
В статье «Безопасная очистка папки WinSxS в Windows Server 2012» мы рассмотрели функцию Features on Demand (функции по требованию), предоставляющую возможность удаления бинарных файлов неиспользуемых ролей из каталога WinSxS. Для удаления с диска неиспользуемых ролей существует специальный командлет Powershell — Uninstall-WindowsFeature. Однако в случае с Windows 10 и 8.1 не все так просто. Дело в том, что командлет Uninstall-WindowsFeature в этих версиях Windows отсутствует. А технология Features on Demand реализуется только с помощью DISM или командлета DISM PowerShell. Кроме того, важно знать, что команда DISM, в отличии от командлета Uninstall-WindowsFeature, не анализирует зависимости пакетов друг от друга. Так что при удалении пакета Windows с помощью DISM будет удален только указанный в команде компонент, а все зависимые от него пакеты останутся в системе. Именно по этой причине для удаления ролей с диска в Windows Server 2012 не стоит использовать DISM, т.к. есть гораздо более удобное и функциональное средство.
Полный список доступных функций в образе Windows 10 /8.1 можно получить с помощью команды:
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 и их назначении.
Включаем NTFS сжатие на папке WinSxS в Windows 10 и 8.1
Еще один способ уменьшения размера каталога WinSxS в Windows 10 / 8.1 – сжать содержимое каталога на уровне файловой системы NTFS.
- Откройте командную строку с правами администратора;
- Остановите и отключите службы Windows Installer и Windows Module Installer:
- Создайте резервную копию списков доступа (ACL) назначенных на файлы и папки в каталоге WinSxS с помощью утилиты icacls. Резервная копия ACL представляет собой обычной текстовый файл, в котором указаны все файлы и каталоги и назначенные на них NTFS разрешения (в дальнейшем этот бэкап понадобиться для восстановления оригинальных ACL):
Проверим текущий размер каталога WinSxS:
Как вы видите, в нашем пример размер папки WinSxS за счет сжатия уменьшился с 5,8 Гб до 4 Гб (примерно на треть). Неплохо, особо для небольшого по размеру SSD-диска, место на котором стоит достаточно дорого.
На что может повлиять сжатие каталога WinSxS.
Windows работает со сжатыми файлами в прозрачном режиме, однако при обработке таких файлов, ей может понадобиться дополнительное время на их декомпрессию/компрессию, это означает некоторое замедление процессов установки компонентов Windows или обновлений. Однако для современных процессоров (CPU) компрессия / декомпрессия файлов выполняется практически мгновенно, так что реального уменьшения скорости пользователь может даже не заметить. Мало того, если жесткий диск медленный, а процессор достаточно быстрый – при сжатии можно заметить даже увеличение скорости работы с диском! Отметим, что при включении ntfs-сжатия всего содержимого папки WinSxS, за счет использования жестких ссылок окажутся сжатыми ряд файлов в других системных каталогах.
Указанные команды можно выполнять по отдельности (так проще контролировать успешность выполнения каждой из них), либо можно объединить все операции в один файл сценария, при запуске которого начнет выполняться процедура сжатия данных в папке WinSxS. Скачать готовый командный файл можно тут: compress_winsxs.bat
Данный скрипт можно использовать постоянно в процессе эксплуатации системы, т.к. после установки новых обновлений и программ в каталоге WinSxS будут появляться новые «несжатые» файлы.
Как очистить папку WinSxS в Windows 10
Память на системном диске после нескольких месяцев использования компьютера имеет тенденцию заполнятся не зависимо от желаний пользователя. На этот раз нам попалась папка WinSxS в Windows 10. Размер папки после недели использования начал превышать десять гигабайтов дискового пространства, что для моего накопителя действительно критично.
Данная статья расскажет как очистить папку WinSxS в Windows 10 разными способами. Некоторые из них уже Вам знакомы, поскольку рассматривались ранее в других инструкциях. Правда прежде чем приступить к очистке стоит узнать что это за папка и можно ли удалить папку WinSxS в Windows 10.
Что это за папка WinSxS Windows 10
Папка WinSxS содержит файлы компонентов операционной системы Windows 10, а также резервные копии компонентов и обновления системы. Ранее мы рассматривали где находятся программы и компоненты в Windows 10. Даже если эти компоненты не включены в операционной системе Windows 10, они все равно занимают место на системном диске. Когда устанавливаются обновления Windows 10, то они и их старые копии сохраняются в папке WinSxS. Со временем обновлений становится все больше и соответственно папка WinSxS занимает много места в Windows 10.
Данная папка расположена по пути C:\ Windows\ WinSxS и до очистки занимала больше десяти гигабайт дискового пространства. Если же отвечать на вопрос можно ли удалять папку WinSxS, то стоит сразу сказать что нельзя это делать ни в коем случае. Можно и нужно только почистить папку WinSxS способами описанными ниже.
Как очистить папку WinSxS в Windows 10
Очистка диска
Первым способом стоит раскрыть вариант с использованием средства очистки дисков. Ранее мы уже смотрели как очистить диск С от ненужных файлов в Windows 10. Использование стандартного средства очистки делает текущий способ универсальным и работающим на предыдущих версиях операционной системы Windows.
Windows хранит копии всех установленных обновлений из Центра обновления Windows даже после установки новых версий. При очистке старые и ненужные версии обновлений удаляются или сжимаются. После чего возможно, Вам потребуется перезагрузить компьютер.
- Открываем средство очистки дисков выполнив команду cleanmgr в окне Win+R.
- В открывшемся окне выбираем системный диск пользователя и нажимаем кнопку ОК.
- Дальше нажимаем кнопку Очистить системные файлы и опять выбираем системный диск.
- Отмечаем пункт Очистка обновлений Windows и нажимаем кнопку ОК, а потом подтверждаем действие кнопкой Удалить файлы.
Система обслуживания образов развертывания и управления ими (DISM) позволяет проверить и восстановить целостность системных файлов Windows 10. Управление системой DISM выполняется посредством выполнения команд в командной строке. Поэтому необходимо знать как запустить командную строку в Windows 10 от имени администратора разными способами.
- Запускаем командную строку от имени администратора выбрав пункт Командная строка (администратор) в контекстном меню Win+X.
- Чтобы узнать сколько занимает папка WinSxS выполняем следующую команду: [stextbox /Online /Cleanup-Image /AnalyzeComponentStore[/stextbox]
- Для очистки папки WinSxS выполняем следующую команду: [stextbox /Online /Cleanup-Image /StartComponentCleanup /ResetBase[/stextbox]
Процесс очистки с использованием системы DISM может занимать продолжительное время. Все зависит от того, сколько места занимает папка WinSxS на системном диске.
Планировщик заданий
Планировщик заданий позволяет сразу же после установки операционной системы настроить автоматическую очистку папки WinSxS. Пользователю достаточно создать простую задачу и настроить периодичность выполнения. Задача будет выполняться в автоматическом режиме, при этом не мешая пользователю работать за компьютером.
- Запустите планировщик заданий выполнив команду Taskschd.msc в окне Win+R.
- Переходим в раздел Библиотека планировщика заданий > Microsoft > Windows > Servicing.
- Создаем простую задачу с названием StartComponentCleanup указав нужную периодичность выполнения.
Папка WinSxS содержит файлы обновлений и резервные копии компонентов операционной системы. Со временем папка WinSxS начинает занимать много места на системном диске. Но удалять её ни в коем случае нельзя, необходимо воспользоваться одним из наших советов по очистке папки WinSxS в Windows 10. Наши способы работают также на предыдущих версиях операционной системы Windows. После очистки размер папки уменьшился в два раза, что уже хорошо учитывая первоначальный размер.