как сжать папку winsxs в windows 10
WinSxS: зачем папка нужна, и как уменьшить её размер?
В этой статье мы обсудим ситуацию вокруг папки WinSxS в Windows, почему та неизменно разрастается в размерах, и пути регулирования её объёма.
Директория C:\Windows\WinSxS является репозиторием компонентов ОС Windows. Она содержит в себе файлы DLL, бинарные файлы, файлы XML, необходимые для установки и операций любой функции Windows. Когда устанавливаются обновления Windows, в системе появляются новые версии компонентов Windows; при этом предыдущие версии перебираются в указанную папку. Это делается для того, чтобы у пользователя была возможность откатиться назад в случае появления с обновлением каких-то проблем или сохранялась возможность совместимости с предыдущими версиями.
Даже не присматриваясь к этому краткому описанию назначения папки можно понять, что со временем увеличение объёмов папки неизбежно. Причём этот процесс ничем неограничен, хотя на своей памяти папок WinSxS размером более 20 Гб я не видел.
Самый простой способ сократить размер папки — просто убрать прежние версии оставшихся компонентов и устаревших обновлений (не вручную, естественно). Для этого можно воспользоваться встроенной в Windows 10 утилитой очистки системы cleanmgr.exe или особой опцией команды DISM (о чём ниже).
КСТАТИ
В Windows 7 одноимённое средство очистки старые обновления не затрагивает. По умолчанию. Чтобы удалять ненужные обновления в этой версии при помощи cleanmgr.exe, необходимо обновление KB 2852386.
Всё бы ничего, да не всё так просто. Кроме описанных функций, папка WinSxS настоящий склад жёстких символьных (символических) ссылок, которые являются указателями на файлы, принимая на себя все их функции. Это значит, что ссылка и сам файл могут иметь разные названия и располагаться в разных директориях одного тома, указывая при этом на один и тот же объект. А файловые менеджеры всех мастей отображают большой размер папки WinSxS именно с учётом таких жёстких ссылок, которые лежат в этой директории. Настоящий размер папки WinSxS можно узнать, например, с помощью небольшой программки DU (Disk Usage) от Sysinternals. Кроме того, проверить размер хранилища системных компонентов можно при помощи команды DISM:
Нередко на форумах вопрос о ручной очистке папки повторяется. Поддержу тех, у кого хватает ума оградить пользователей от стирания содержимого WinSxS простым выделением и клавишей Delete. Часто такие действия заканчиваются повреждением системного образа, хотя иногда (даже редко) такое удаление и «прокатывает». Но даже если так и произошло, такой метод высвобождения пространства крайне не рекомендуется. Основными способами очистки WinSxS можно назвать:
Применяя все три варианта сразу в порядке, описанном ниже, можно добиться неплохих результатов по высвобождению дискового пространства. И, если вы обладатель Windows 10, начните с команды в консоли от имени администратора:
С этим справляется и cleanmgr.exe, также запущенная от имени администратора. Кстати говоря, в Планировщике задач Windows 10 предусмотрена операция, аналогичная DISM. Она затирает устаревшие обновления сроком старше 30 дней. Ищите задачу с именем StartComponentCleanup в разделе
Настройки по требованию или удаление компонентов
Такая «функция» появилась в новой версии Windows, позволяя удалять бинарные файлы неиспользуемых системных возможностей. И она доступна только из DISM или с помощью командлета DISM в PowerShell. Кроме того, нужно помнить, что команда DISM не способна анализировать пакеты зависимостей, как это происходило в предыдущей версии с похожей возможностью. В общем, после удаления пакета с использованием только DISM будет удалено только указанное. А остальные зависимые пакеты останутся. Полный список настроек и функций в образе Windows можно посмотреть запустив в консоли команду:
К примеру, мы не собираемся использовать неизменно появляющийся во всех версиях Windows давно почти бесполезный Internet Explorer. Его можно убрать из списка функций и возможностей, т.е. из именно из папки WinSxS, с помощью вот этой команды:
Теперь в списке доступных функций системы статус этой службы изменится на Отключён (Disabled). Однако это именно тот случай, когда пользователь должен быть уверен в своих действиях. Напропалую отключать все Enabled-функции не следует по понятным причинам.
NTFS сжатие для WinSxS
Следующим вариантом уменьшить размер папки WinSxS — применить к директории сжатие на уровне NTFS. В этом случае настоятельно рекомендуется подстраховаться созданием полноценной резервной копии системы. После её создания запускаем консоль и останавливаем пару служб:
Запасёмся резервной копией списков доступа, закреплённых за папками и файлами (ACL-ки) в нашей директории с помощью утилиты icacls. Резервная копия ACL представляет собой простой тестовый файл, в котором прописываются файлы и папки, а также разрешения к ним.
Станем владельцем самой папки WinSxS и включённых в неё папок:
Присвоим своей учётке полные права на эту директорию:
Сожмём содержимое папки командой из терминала. Некоторые из файлов сжатию не поддадутся (они могут просто использоваться прямо сейчас системой), так что, запусти вы команду без флага /I, она, наткнувшись на заблокированный файл, процесс остановит. Можно обнаружить название процесса, который работает над этим файлом (Ctrl + F) и остановить его. Однако стоит сосредоточиться именно на сжатии тех файлов, которые системой не используются:
После того, как закончим, дополученные на WinSxS права лучше делегировать обратно TrustedInstaller:
Восстанавливаем оригинальные ACL в папку WinSxS из ранее созданного резервного файла:
А теперь восстанавливаем автозапуск служб Windows Installer and Windows Module Installer:
Можете проверить размер папки WinSxS:
Перед запуском закройте проводник Windows. Перед запуском распакуйте файл из архива, разблокируйте в свойствах и запустите от имени администратора. Времени потребуется немало.
Как сжатие повлияет на работу папки WinSxS и системы в целом?
Windows работает со сжатыми файлами в так называемом прозрачном режиме (режиме передачи данных). Но на сжатие/декомпрессию данных всегда требуется время. А это пользователь иногда замечает: далеко не у всех из нас под капотом прицеплен «модерновый камень». Но, кстати, в случае с функцией сжатия иметь мощный процессор гораздо более эффективнее, чем быстрый жёсткий диск — в некоторых случая я лично отмечал даже прирост скорости в работе именно со сжатыми файлами. Так что пользователи нестарых моделей компьютеров замедление работы не ощутят, а вот обладателям «старичков» функцию сжатия следует использовать осторожно по отношению к любым сжатым файлам и папкам.
Удаление старых версий: cleanmgr.exe
Ещё один надёжный способ освободить место на диске (в том числе и в папке WinSxS) это утилита очистки cleanmgr.exe. В Windows 10 она умеет немного больше, чем предыдущие в Vista/7. Запускаем:
Далее вам следует лишь выбрать диск для очистки и выставить галочку у пункта Файлы журнала обновления Windows:
Как очистить и сжать папку WinSxS в Windows 10
Наше руководство поможет вам проанализировать, очистить от ненужных файлов и максимально сжать системную папку WinSxS в операционной системе Windows 10 и освободить не лишнее пространство.
Windows 10 использует системную папку WinSxS для хранения файлов, необходимых в процессе установки и функционирования системы, а так же резервных копий обновлений. И каждый раз, когда вы устанавливаете обновления, она многократно увеличивается в размере.
Как очистить папку WinSxS в Windows 10
Откройте командную строку от имени администратора, найдя ее через системный поиск.
Вставьте эту команду Dism.exe /online /cleanup-image /AnalyzeComponentStore и нажмите «Enter«. Произойдет анализ, и появится сообщение о необходимости очистки хранилища компонентов.
Для очистки, воспользуйтесь следующей командой Dism.exe /online /cleanup-image /StartComponentCleanup и дождитесь окончания операции.
Сжатие папки WinSxS
После выполнения всех процедур, нам удалось уменьшить размер папки WinSxS с восьми гигабайт до четырех.
В дополнение к этому, можно воспользоваться отличной утилитой CompactGU и сжать тяжелые программы, что позволит еще больше высвободить пространство на системном диске.
Корректная очистка и сжатие папки WinSxS в Windows 10/ Windows Server
В этой статье мы поговорим о каталоге WinSxS в Windows, причинах его постоянного роста и способах очистки. Каталог C:\windows\WinSxS является хранилищем компонентов Windows. В этом каталоге хранятся dll библиотеки, бинарные и xml файлы, необходимые для установки и работы различных ролей и компонентов Windows. Каждый раз когда вы устанавливаете обновления Windows (это происходит ежемесячно), новая версия обновляемого компонента устанавливается в систему, а старая сохраняется в хранилище компонентов WinSxS (это необходимо для обеспечения совместимости и возможности “отката“ к старым версиям компонентов при удалении проблемного обновления).
Со временем размер каталога WinSxS постоянно увеличивается. Причем его размер ничем не ограничен (хотя на практике размер папки WinSxS в Windows 10 редко превышает 15-20 Гб.)
В этой статье мы рассмотрим наиболее безвредные способы очистки папки WinSxS в Windows 10 и Windows Server.
Как узнать реальный размер папки WinSxS в Windows 10?
Самый простой способ получить текущий размер каталога WinSxS в Windows, запустить проводник File Explorer и открыть свойства папки %windir%\WinSxS (или воспользоваться скриптом PowerShell). Но имейте в виду, что большинство файловых менеджеров (в том числе File Explorer) показывают несколько больший размер каталога WinSxS, чем он занимает на диске.
Дело в том, что в каталоге WinSxS есть большое количество hard links (жестких символических ссылок) на файлы в других системных каталогах. Файловые менеджеры при подсчете размера папки 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 Мб.
DISM /Online /Cleanup-Image /RestoreHealth
Очистка хранилища компонентов WinSxS в Windows
Самый быстрый и простой способ освободить место в хранилище компонентов Windows (т.е. очистить папку WinSxS) – оптимизация хранилища командой:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
После окончания очистки проверьте текущий размер хранилища компонентов:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
В моем примере это помогло уменьшить размер папки WinSxS на 2,5 Гб.
С помощью еще одного параметра /ResetBase вы можете удалить все предыдущие версии компонентов, оставшиеся после установки обновлений Windows. После этого вы не сможете удалить установленные обновления или Service Pack, а в панели обновлений appwiz.cpl у обновлений пропадет кнопка «Удалить»).
Чтобы очистить старые версии компонентов, выполните:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
dism /online /Cleanup-Image /spsuperseded
Также вы можете удалить устаревшие обновления с помощью мастера очистки диска. Выполните команду cleanmgr c правами администратора.
В окне утилиты выберите диск и в следующем окне нажмите кнопку «Очистить системны файлы».
Далее выберите опцию “Файлы журнала обновления Windows» и нажмите ОK. Утилита очистки диска покажет сколько места вы можете освободить, удалив файлы журнала старых обновлений Windows. В моем примере это 427 Мб.
После окончания очистки хранилища с помощью DISM проверьте сколько освободилось места на диске.
В планировщике задания Windows 10 и Windows Server 2016 есть специальное задание автоматического обслуживания, которое регулярно выполняет оптимизацию и очистку каталога WinSxS (выполняется действия, аналогичные команде dism с ключом StartComponentCleanup). Это задание StartComponentCleanup находится в разделе \Microsoft\Windows\Servicing. Данное задание запускается в фоновом режиме и автоматически удаляет версии компонентов старше 30 дней, которое были заменены более новыми версиями.
Можно запустить это задание вручную так:
schtasks.exe /Run /TN «\Microsoft\Windows\Servicing\StartComponentCleanup»
Удаление неиспользуемых компонентов Windows (Windows Server)
В статье Безопасная очистка папки WinSxS в Windows Server 2016/2012 мы рассмотрели функцию Features on Demand (функции по требованию), предоставляющую возможность удаления с диска бинарных файлов неиспользуемых ролей и компонентов из каталога WinSxS. Для этого в Windows Server используется командлет PoweShell Uninstall-WindowsFeature.
В Windows 10 командлет Uninstall-WindowsFeature отсуствует, и для удаления компонентов Windows из образа нужно использовать DISM.
Полный список доступных функций в образе 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 и их назначении.
Включаем NTFS сжатие на папке WinSxS в Windows
Еще один способ уменьшить размера каталога WinSxS в Windows 10 – сжать содержимое каталога на уровне файловой системы NTFS.
Проверьте текущий размер каталога WinSxS.
Как вы видите, в нашем примере размер папки WinSxS за счет сжатия уменьшился с 9,36 Гб до 6,5 Гб (примерно на треть). Неплохо, особо для небольшого по размеру SSD-диска.
Указанные команды можно выполнять по отдельности (так проще контролировать успешность выполнения каждой из них), либо можно объединить все операции в один файл скрипт. Вы можете скачать готовый bat файл для сжатия WinSxS здесь compress_winsxs.bat
Данный скрипт нужно запускать периодически, т.к. в каталоге WinSxS будут появляться новые «несжатые» файлы после установки новых обновлений Windows и программ.
Содержание:
↑ Как очистить папку WinSxS в Windows 10, 8.1
Открываем командную строку от имени администратора и вводим команду:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore ( данная команда произведёт анализ папки WinSxS)
Судя по результату, сама система рекомендует нам произвести очистку хранилища компонентов.
Очищаем папку WinSxS с помощью командной строки администратора, вводим команду:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
Папка WinSxS очищена! Интересно, насколько она стала меньше в размере (напомню, что до очистки она занимала размер 21 ГБ )
Производим анализ хранилища компонентов уже знакомой вам командой:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Вот и всё. Теперь хранилище компонентов на нашем компьютере занимает 7.74 GB! Размер папки уменьшен в три раза.
Друзья, папку WinSxS можно ужать ещё. Дело в том, что у параметра /StartComponentCleanup есть дополнительный ключ /ResetBase, с помощью которого можно удалить все замененные версии для всех компонентов в хранилище компонентов. Вводим команду:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Теперь наша папка WinSxS стала ещё меньше 6,85 ГБ!
↑ Очистка папки WinSxS с помощью встроенной в Windows утилиты «Очистка диска»
Если вам не хочется связываться с командной строкой, то очистите папку WinSxS с помощью встроенной в Windows утилиты «Очистка диска», но не могу вам гарантировать такой же результат, смотрите сами.
Возьмём компьютер, где папка WinSxS занимает размер 20 ГБ.
Щёлкаем на диске (C:) правой кнопкой мыши и выбираем «Свойства», выбираем вкладку «Общие» и жмём на кнопку «Очистка диска»
«Очистить системные файлы »
Первый пункт в данном окне «Очистка обновлений Windows », как раз отвечает за очистку хранилища компонентов. Всего может быть очищено 3,63 ГБ.
Жмите « ОК » и папка WinSxS будет очищена.
PS. При операции очистки папки WinSxS с помощью командной строки у вас может выйти ошибка «Хранилище компонентов повреждено. Ошибка: 14098», что делать в этом случае, читайте в следующей статье.
Статьи, которые вам пригодится:
Комментарии (62)
Рекламный блок
Подпишитесь на рассылку
Навигация
Облако тегов
Архив статей
Сейчас обсуждаем
Фёдор
Цитата: admin обновление Windows 8 до финальной Windows 8.1 с помощью ISO-образа Windows 8.1
admin
Спасибо, что отписались.
admin
Иван, а что у вас за проблема? Вы не можете получить доступ к вашему жёсткому диску?
admin
Добрый вечер. А где вы увидели такую команду «Bdsedit»?
admin
Это ответ независимого консультанта, не имеющего никакого отношения к поддержке Майкрософт. Я же
О проекте RemontCompa.ru
RemontCompa — сайт с огромнейшей базой материалов по работе с компьютером и операционной системой Windows. Наш проект создан в 2010 году, мы стояли у истоков современной истории Windows. У нас на сайте вы найдёте материалы по работе с Windows начиная с XP. Мы держим руку на пульсе событий в эволюции Windows, рассказываем о всех важных моментах в жизни операционной системы. Мы стабильно выпускаем мануалы по работе с Windows, делимся советами и секретами. Также у нас содержится множество материалов по аппаратной части работы с компьютером. И мы регулярно публикуем материалы о комплектации ПК, чтобы каждый смог сам собрать свой идеальный компьютер.
Наш сайт – прекрасная находкой для тех, кто хочет основательно разобраться в компьютере и Windows, повысить свой уровень пользователя до опытного или профи.