Очистка хранилища компонент Windows в каталоге WinSxS
Только что установленная Windows Server 2012 R2 Standard EN после установки всех обновлений, доступных в службе Windows Update занимает почти 22GB. В случае, если система готовится в качестве шаблона, с которого в дальнейшем планируется выполнять клонирование серверов, или же мы стали испытывать нехватку свободного места на системном диске уже функционирующего сервера, нам потребуется найти пути оптимизации используемого дискового пространства. Одним из возможных вариантов штатной оптимизации, заложенной в Windows Server, является операция обслуживания так называемого хранилища компонент в каталоге %windir%\WinSxS .
Перед нами показатель заполненности системного диска на только что установленном и обновлённом виртуальном сервере с ОС Windows Server 2012 R2 Standard.
Анализ текущего состояния хранилища компонент Windows и его последующую очистку мы можем провести с помощью утилиты, входящей в состав ОС – Dism.exe (сокращение от Deployment Image Servicing and Management).
Запускается анализ следующей командой (требуются права Администратора):
По окончании выполнения команды, изучим её вывод и обратим внимание на показатель «Number of Reclaimable Packages«, который определяет число пакетов, заменённых в процессе обновления системы через Windows Update. То есть, это те пакеты, которые могут быть безболезненно вычищены из хранилища.
Значение «Yes» в строке «Component Store Cleanup Recommended» говорит о том, что, по данным проведённого анализа, очистка возможна и рекомендуема.
Прежде, чем запускать нижеуказанную команду, нужно иметь ввиду, что в ходе её выполнения длительное время может быть ощутимо нагружен процессор. Поэтому планировать такую процедуру для уже работающих систем Windows лучше на время, когда не требуется продуктивная работа с системой.
Запуск процедуры очистки хранилища компонент Windows выполняется командой:
В нашем примере на только что установленной Windows Server 2012 R2 (с выполненной последующей доустановкой
200 обновлений) время выполнения процедуры очистки заняло более двух часов.
Дождавшись успешного завершения, посмотрим, как изменилась ситуация на диске.
Как видим, вместо ранее имеющейся величины свободного места в 7,43 GB, теперь мы имеем 16,6 GB, то есть операция очистки высвободила в нашем случае 9,17 GB. Результат очень даже ощутимый.
Однако в системе по-прежнему остаются файлы, которые могут использоваться для отката установленных обновлений, поддерживающих процедуру деинсталляции. Это хорошо видно, если в оснастке управления установки/удаления программ appwiz.cpl перейти в режим отображения информации об обновлениях. Здесь на большинстве обновлений мы увидим возможность удаления, то есть фактического отката заменяемых обновлениями файлов на их ранние версии.
Если мы считаем, что система работает стабильно и имеем уверенность в том, что нам не потребуется выполнять удаление каких-либо обновлений, то мы можем выполнить дополнительную процедуру удаления предыдущих версий для всех компонент, которые были изменены установленными обновлениями. Нужно понимать, что тем самым мы лишим себя возможности отката установленных обновлений. В таком случае, ранее используемую команду выполняем с дополнительной опцией /ResetBase :
Снова посмотрим, как изменилась ситуация на диске.
Как видим, на этот раз мы смогли высвободить ещё 1 GB ёмкости дискового тома.
И теперь, если мы снова заглянем в оснастку управления установки/удаления программ appwiz.cpl в режиме отображения информации об обновлениях, то увидим, что при выборе любого из обновлений кнопка Uninstall более нам недоступна.
Таким образом, если мы решили прибегнуть к описанной выше процедуре очистки хранилища компонент Windows в каталоге WinSxS, то сначала лучше использовать более щадящую команду очистки, то есть без ключа /ResetBase , так как результат такой очистки в большинстве случаев даёт нам вполне удовлетворительный размер освобождаемого места, оставляя при этом больше «шансов для манёвра» в случае проблем с уже установленными обновлениями. То есть команду очистки с ключом /ResetBase предлагается использовать только в крайних исключительных случаях.
Очистка папки WinSxS в Windows 10, 8 и Windows 7
Если вас смущает то, что папка WinSxS много весит и интересует вопрос о том, можно ли удалить ее содержимое, в этой инструкции подробно будет описан процесс очистки данной папки в Windows 10, 8 и Windows 7, а заодно расскажу, что это за папка и для чего она нужна и можно ли удалить WinSxS полностью.
В папке WinSxS хранятся резервные копии системных файлов операционной системы до обновлений (и не только, о чем — далее). То есть, всякий раз, как вы получаете и устанавливаете обновления Windows, в эту папку сохраняется информация об изменяемых файлах, сами эти файлы с тем, чтобы у вас была возможность удалить обновление и откатить сделанные изменения.
Через какое-то время папка WinSxS может занимать достаточно много места на жестком диске — несколько гигабайт, при этом размер этот все время увеличивается по мере установки новых обновлений Windows.. К счастью, очистить содержимое данной папки сравнительно легко штатными средствами. И, если компьютер после последних обновлений работает без каких-либо проблем, это действие сравнительно безопасно.
Также в Windows 10 папка WinSxS используется, например, для сброса Windows 10 в исходное состояние — т.е. необходимые для автоматической переустановки файлы берутся именно из нее. Дополнительно, раз уж у вас возникла проблема со свободным пространством на жестком диске, рекомендую к ознакомлению статьи: Как очистить диск от ненужных файлов, Как узнать, чем занято место на диске.
Очистка папки WinSxS в Windows 10
Прежде чем говорить об очистке папки хранилища компонентов WinSxS, хочу предупредить о некоторых важных вещах: не пытайтесь удалить эту папку. Просто довелось видеть пользователей, у которых папка WinSxS не удаляется, они используют методы, похожие на описанные в статье Запросите разрешение от TrustedInstaller и в конце-концов удаляют ее (или часть системных файлов из нее), после чего удивляются, почему система не загружается.
В Windows 10 папка WinSxS хранит не только файлы, связанные с обновлениями, но и файлы самой системы, используемые в процессе работы, а также для того, чтобы вернуть ОС в исходное состояние или выполнить некоторые операции, связанные с восстановлением. Итак: какой-то самодеятельности при очистке и уменьшении размера этой папки не рекомендую. Следующие же действия безопасны для системы и позволяют очистить папку WinSxS в Windows 10 только от ненужных резервных копий, создаваемых при обновлении системы.
- Запустите командную строку от имени администратора (например, через правый клик по кнопке Пуск)
- Введите команду Dism.exe /online /cleanup-image /AnalyzeComponentStore и нажмите Enter. Папка хранилища компонентов будет проанализирована и вы увидите сообщение о необходимости ее очистки.
- Введите команду Dism.exe /online /cleanup-image /StartComponentCleanup и нажмите Enter для запуска автоматической очистки папки WinSxS.
Один важный момент: не следует злоупотреблять этой командой. В некоторых случаях, когда резервных копий обновления Windows 10 в папке WinSxS нет, после выполнения очистки, папка может даже слегка увеличиться. Т.е. производить очистку есть смысл, когда указанная папка слишком, на ваш взгляд, разрослась (5-7 Гб — это не слишком).
Также очистку WinSxS можно произвести автоматически в бесплатной программе Dism++
Как очистить папку WinSxS в Windows 7
Для очистки WinSxS в Windows 7 SP1 требуется предварительно установить необязательное обновление KB2852386, которое добавляет соответствующий пункт в утилиту очистки диска.
Вот как это сделать:
- Зайдите в центр Обновления Windows 7 — это можно сделать через панель управления или воспользоваться поиском в меню пуск.
- Нажмите «Поиск обновлений» в меню слева и подождите. После этого, кликните по необязательным обновлениям.
- Найдите и отметьте необязательное обновление KB2852386 и установите его.
- Перезагрузите компьютер.
После этого, для того, чтобы удалить содержимое папки WinSxS, запустите утилиту очистки диска (также, быстрее всего воспользоваться поиском), нажмите кнопку «Очистка системных файлов» и выберите пункт «Очистка обновлений Windows» или «Файлы резервной копии пакета обновлений».
Удаление содержимого WinSxS в Windows 8 и 8.1
В последних версиях ОС Windows возможность удалить резервные копии обновлений имеется в утилите очистки диска по умолчанию. То есть для того, чтобы удалить файлы в WinSxS, вам следует выполнить следующее:
- Запустить утилиту «Очистка диска». Для этого на начальном экране можете воспользоваться поиском.
- Нажать кнопку «Очистка системных файлов»
- Выбрать пункт «Очистка обновлений Windows»
Помимо этого, в Windows 8.1 есть и еще один способ очистить эту папку:
- Запустите командную строку от имени администратора (для этого нажмите клавиши Win+X на клавиатуре и выберите нужный пункт меню).
- Введите команду dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Также, с помощью dism.exe вы можете точно узнать, сколько занимает папка WinSxS в Windows 8, для этого воспользуйтесь следующей командой:
Автоматическая очистка резервных копий обновлений в WinSxS
Помимо очистки содержимого данной папки вручную, вы можете воспользоваться планировщиком заданий Windows, для того, чтобы это происходило автоматически.
Для этого необходимо создать простую задачу StartComponentCleanup в Microsoft\Windows\Servicing с нужной периодичностью выполнения.
Надеюсь, статья будет полезной и предостережет от нежелательных действий. В случае возникновения вопросов — задавайте, постараюсь ответить.
А вдруг и это будет интересно:
Почему бы не подписаться?
Рассылка новых, иногда интересных и полезных, материалов сайта remontka.pro. Никакой рекламы и бесплатная компьютерная помощь подписчикам от автора. Другие способы подписки (ВК, Одноклассники, Телеграм, Facebook, Twitter, Youtube, Яндекс.Дзен)
18.12.2019 в 07:34
Добрый день!
Не путайте, пожалуйста, резервные копии файлов до обновления системы с точками восстановления. Точки восстановления хранятся в System Volume Information.
18.12.2019 в 08:06
Пробовал использовать команду Dism.exe /online /cleanup-image /StartComponentCleanup, но папка WinSxS так и не была очищена. При этом команда выполнилась на 100%. Размер папки до выполнения команды был 98Гб, теперь 100Гб. В чём может быть дело?
24.04.2020 в 21:12
19.02.2020 в 20:23
Windows 7, установлено обновление KB2852386, но в очистке диска нет нужного пункта, хотя папка winsxs занимает 18 гб. В чём может дело?
15.03.2020 в 09:48
Кто мучается и не может вычистить Windows 7, рекомендую немецкую программу Patch Cleaner 1.4.2.0 (пока это последний релиз). Работает как АК-47 и не подводила ни разу. Все штатные средства на семёрке беспомощны ввиду патологической её природы с обновлениями.
22.09.2020 в 14:39
Patch Cleaner 1.4.2.0 чистит папку Installer, и не трогает папку winsxs.
21.04.2020 в 13:31
она (папка) ни через панель, ни вручную не удаляется.
21.04.2020 в 15:02
Я удалил часть вашего комментария, и вообще на будущее — я не против критики, но нормальным языком и без оскорблений, а только по делу.
А так — да, эту папку нельзя удалить, там почти вся Windows в ней и находится, я и не писал нигде, что ее можно прямо удалить.
22.04.2020 в 10:19
Спасибо за статью. Будьте добры, выделите жирным для особо одаренных детей природы — ПАПКУ ВРУЧНУЮ УДАЛЯТЬ НЕЛЬЗЯ. Ваш сайт довольно популярен, но читают люди уж слишком по диагонали.
29.06.2020 в 09:42
МОЖНО удалить вручную, но не всё, а что само получится и всё нормально.
06.01.2021 в 10:53
Здравствуйте! Большое спасибо за статью!
Меня интересует вот этот момент: «но и файлы самой системы, используемые в процессе работы».
Вопрос: Как можно определить какие именно файлы нужны системе для работы?
Цель: Удалить все прочее, ненужное для работы системы.
1) Восстановление меня не интересует. Для этого есть много хороших программ, создающих бэкап системы. Никогда штатным восстановлением не пользовался.
2) Файлы на HDD могут быть заражены зловредами. Последствия восстановления из таких файлов не предсказуемы..
Обновления Windows 7 уже не получает. Поддержка прекращена. Не вижу смысла хранить старые ненужные файлы..
06.01.2021 в 17:09
Здравствуйте.
К сожалению, я не могу дать ответа на такой вопрос (я даже не уверен, что ответ чёткий и не упирающийся во множество нюансов наподобие набора включенных компонентов и служб существует).