С необходимостью очистки системного диска сталкивается практически каждый пользователь. Со временем системные файлы занимают все больше памяти, и это может привести к различным проблемам вплоть до нестабильной работы системы. Папка WinSxS является одной из первых директорий, на которую обращают внимание пользователи, а все из-за ее размера. Что это за папка? Можно ли безопасно очистить или удалить WinSxS, и как это правильно сделать?
Что это за папка и для чего она нужна
WinSxS — служебная папка, которая появилась еще в Windows Vista, и присутствует во всех последующих версиях операционной системы. Полный путь к папке: C:\Windows\WinSxS. Увидеть ее можно, если включить отображение скрытых файлов и папок в параметрах папок (вкладка «Вид»).
Здесь хранятся файлы обновлений, конфигурационные данные, резервные копии файлов. Это каталог хранилища компонентов Windows. Именно благодаря ему пользователь может откатить практически любые изменения системы. Например, если вышло очередное забагованное обновление или эти самые изменения чем-то не понравились. Содержимое WinSxS используется в откате операционной системы к первоначальным настройкам, а также необходимо для работы Windows.
Учитывая специфику каталога, со временем он будет интенсивно расширяться.
Сколько места может занимать содержимое папки WinSxS
Обновления приходят регулярно, тем более сам пользователь часто вносит различные изменения в работу операционной системы. Если оптимизация каталога ранее не проводилась, или же процедура выполнялась давно, то размер папки легко может превысить отметки в 20 ГБ, но здесь есть один нюанс.
В папке WinSxS используются жесткие ссылки на файлы других каталогов. Иными словами, Проводник или файловые менеджеры в расчетах учитывают именно полный размер файла, хотя, по факту, его здесь нет, и место не занято.
Отсюда возникает и другой вопрос. Какой размер этой папки считается нормальным, и когда нужно всерьез задуматься об оптимизации содержимого?
Если папка WinSxS занимает свыше 10 ГБ памяти, то чистка практически наверняка нужна.
С другой стороны, освободить место можно и при более скромных объемах.
Можно ли удалить папку WinSxS или ее содержимое?
Да, удалить можно вообще любую системную папку или файл. Правда, в этом случае последствия не заставят себя ждать: уже при следующем включении или перезагрузке Windows может не запуститься, а большинство способов восстановления окажутся бесполезными.
Другие возможные последствия удаления отдельных файлов папки WinSxS:
- сбои, вылеты и перезапуск компьютера;
- проблемы с установкой обновлений;
- проблемы с откатом изменений.
Удалять саму папку WinSxS или ее содержимое, как и любой другой системной директории, настоятельно не рекомендуется, но это не означает, что пользователю нужно смириться с ситуацией. Есть возможность уменьшить занимаемый ею объем памяти.
Как очистить папку WinSxS: способы и инструкции
Начнем с того, что не нужно заходить в эту папку и вручную удалять не понравившиеся файлы. Для этого существуют другие инструменты. Преимущество описанных далее методов в том, что во время оптимизации происходит очистка неиспользуемых файлов. Иными словами, происходит безопасное удаление мусора, который просто захламляет систему. Инструменты используют различные алгоритмы, поэтому эффективность методов также отличается.
Встроенное средство очистки дисков в Windows
Это самый простой и безопасный метод, который направлен на удаление неиспользуемых обновлений. Внутренняя оптимизация содержимого не происходит, поэтому, если стоит цель освободить как можно больше места на системном диске, лучше использовать другие способы. С другой стороны, это самый простой способ, которым может воспользоваться любой пользователь.
Инструкция по использованию встроенного средства очистки дисков в Windows.
- Зайти в папку «Компьютер», кликнуть правой клавишей на системном диске (диск C), выбрать пункт «Свойства», а затем нажать кнопку «Очистка диска», где нас интересует кнопка «Очистить системные файлы». Альтернативный вариант — прописать в командной строке (открытой от имени Администратора) следующую команду cleanmgr.
- В появившемся окне нужно поставить галочку возле пункта «Очистка файлов обновлений» и нажать «ОК».
- Дождаться завершения процедуры и выполнить перезагрузку.
Если каталог WinSxS ранее не чистился или чистился давно, то при помощи данного метода получится освободить от нескольких сотен мегабайт до пары гигабайт места.
Этот метод актуален для ОС Windows 8.1 и Windows 10. В Windows 7 данной опции изначально нет, но она появится при установке пакета обновлений KB2852386.
Утилита DISM.exe
Этот метод предполагает использование консоли. Его эффективность выше, и в результате можно освободить больше места.
Инструкция по использованию утилиты DISM.exe для очистки папки WinSxS.
- Открыть командную строку от имени Администратора и прописать в ней команду: Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore.
- Дождаться завершения анализа. Утилита оценит необходимость очистки директории, и в нашем примере в дальнейших действиях нет нужды, но нас, конечно же, это не остановит.
- Инициализируем очистку каталога следующей командой: Dism.exe /online /Cleanup-Image /StartComponentCleanup.
- Ждем, пока утилита выполняет необходимые действия.
- Готово.
Но это еще не все, что можно сделать при помощи утилиты DISM.exe. Другие полезные действия перечислены ниже.
- Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase — команда для удаления устаревших и неиспользуемых версий компонентов каталога.
- Dism.exe /online /Cleanup-Image /SPSuperseded — команда для сжатия пакетов обновлений.
Теперь можно полюбоваться результатом, еще раз вызвав команду Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore и сравнив результат с первым анализом. Кстати, данная команда не поддерживается в Windows 7.
В приведенном примере результат незначительный, что объясняется недавней глубокой чисткой системы, но он все-таки есть.
Планировщик задач
Многие пользователи забывают об огромных возможностях оптимизации, которые дает Планировщик задач Windows. Он будет полезен и в нашем случае.
Чтобы очистить папку WinSxS при помощи планировщика задач, нужно выполнить следующий порядок действий.
- Вызвать планировщик задач в меню «Выполнить» (Win+R) или в командной строке, используя команду taskschd.msc.
- В открывшемся окне слева открыть каталог «Microsoft», затем «Windows», и здесь найти «Servicing».
- Выбрать «StartComponentCleanup» и в меню справа кликнуть «Выполнить».
- В течение часа задача будет выполнена.
Преимущество метода в том, что пользователь может настроить автоматическую очистку папки WinSxS по расписанию и забыть о проблеме. Для этого нужно кликнуть правой клавишей мыши на задаче «StartComponentCleanup», выбрав пункт «Свойства», вкладку «Триггеры», а здесь настроить расписание процедуры.
Удаление неиспользуемых компонентов
Этот метод предназначен для продвинутых пользователей. Удаление компонентов может повлиять на стабильность работы системы.
В этом случае мы будем очищать неактивные компоненты. В будущем, при необходимости, их возможно восстановить.
- В командной строке, открытой от имени Администратора, прописываем следующее: DISM.exe /Online /English /Get-Features /Format:Table.
- Получаем список компонентов с указанием состояния (Enable / Disable).
- Чтобы удалить компонент, необходимо прописать команду DISM.exe /Online /Disable-Feature /featurename:XXX /Remove, где XXX — название компонента для удаления.
Посмотреть активные и неактивные компоненты Windows можно в разделе «Программы и компоненты», который находится по здесь: Панель управления\Программы\Программы и компоненты. Интересующий пункт находится в левой части окна.
Наиболее популярными вариантами очистки директории являются первые два метода, о которых снято много видеороликов для YouTube.
Воспользовавшись предложенными в статье способами, можно уменьшить размер WinSxS. Результат зависит от выбранного способа и того, как часто пользователь выполняет очистку системы от мусора. Как правило, интерес к папке WinSxS возникает при необходимости освобождения места на системном диске. А том, как это сделать можно прочитать здесь.
Если вас смущает то, что папка 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, для этого воспользуйтесь следующей командой:
dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Автоматическая очистка резервных копий обновлений в WinSxS
Помимо очистки содержимого данной папки вручную, вы можете воспользоваться планировщиком заданий Windows, для того, чтобы это происходило автоматически.
Для этого необходимо создать простую задачу StartComponentCleanup в Microsoft\Windows\Servicing с нужной периодичностью выполнения.
Надеюсь, статья будет полезной и предостережет от нежелательных действий. В случае возникновения вопросов — задавайте, постараюсь ответить.
Привет админ! Неделю назад я стал замечать, что свободное пространство на моём диске (C:), с установленной Windows 10, стало куда-то исчезать, да и шутка ли, в один прекрасный день пропало целых 3 Гб. Далеко не сразу, но мне удалось найти виновника, а точнее виновницу, ей оказалась папка WinSxS — её размер в моей операционной системе ещё неделю назад был 15 Гб, но на сегодня он уже составляет 18 Гб. Также я заметил, после чего именно эта папка так сильно разрослась, причиной оказались — обновления операционной системы, за прошлую неделю моя Windows 10 получала их слишком много, ноутбук несколько раз просил меня перезагрузиться для установки обновлений.
Вопрос мой такой. О папке WinSxS в интернете написано много, но всё-таки, каким образом безопаснее всего очистить эту папку или она когда-нибудь очистится сама? Какие именно компоненты системы хранит папка WinSxS? Говорят, что на деле она занимает намного меньше места, чем видно в её свойствах и находятся на ней всего лишь символические ссылки.
Привет друзья! День назад я сам попал в такую же ситуацию, рассказываю подробности.
Буквально позавчера, установленная на моём ноутбуке Windows 8.1 несколько раз обновилась, а вчера утром мне на глаза попалось окно «Этот компьютер» и я с удивлением обнаружил, что на моём диске (C:) осталось свободного места 29 ГБ, хотя ещё вчера было 34 ГБ!
Я быстро исследовал жёсткий диск программой «Scanner» и обнаружил, что 5 ГБ свободного пространства на диске «съела» папка WinSxS, после этого она стала занимать рекордный размер — 21 ГБ.
Предлагаю вам вместе очистить папку хранилища компонентов на моём компьютере и по ходу дела рассмотреть остальные вопросы, касаемые этой папки!
Зачем нужна папка WinSxS?
Папка WinSxS, находится по адресу C:\Windows\WinSxS и является хранилищем компонентов Windows. Закономерен вопрос: «Что это за хранилище такое?»
Впервые папка WinSxS появилась ещё в операционной системе Windows XP. Создаётся папка WinSxS в процессе установки OS и содержит в себе копии оригинальных файлов Windows, которые операционная система использует для своего восстановления по мере надобности. Приведу самый простой пример, давайте удалим из системы папку Internet Explorer, в которой содержится известный браузер от Майкрософт, сделать это непросто, но при желании можно, после удаления файлов браузера введём команду «sfc /scannow», в результате Windows 10 начнёт проверку целостности системных файлов и при обнаружении отсутствующего браузера Internet Explorer, восстановит его оригинальные файлы из нашей папки WinSxS. Многие удалённые или повреждённые системные файлы из папки Windows операционная система восстановит автоматически и без команды «sfc /scannow».
- Примечание: Начиная с Windows 10, сброс системы к исходному состоянию (заменивший откат к заводским настройкам) происходит также с помощью компонентов из папки WinSxS
Почему папка WinSxS может разрастись после очередного обновления Windows?
При установке обновлений старые системные файлы заменяются их новыми версиями, а старые версии этих файлов хранятся в папке WinSxS ещё долгое время для обеспечения возможности восстановления на случай, если новые версии системных файлов станут работать некорректно.
Папка WinSxS занимает меньше места на жёстком диске, чем это кажется
Специфика работы операционной системы выглядит так, что одной трети файлов в папке WinSxS на самом деле нет, но есть жёсткие ссылки на эти файлы. Файлы же в это время находятся в других системных папках Windows и System32.
Папку WinSxS можно очистить от старых версий системных компонентов, но удалять её ни в коем случае нельзя
Обычно папка хранилища системных компонентов занимает на диске (C:) не более 10 ГБ и это вполне нормально, но если папка разрастается до 15-20 ГБ, то нужно срочно производить процедуру очистки.
Прежде чем произвести очистку папки WinSxS, давайте проанализируем её содержание при помощи командной строки.
Итак, если пройти по адресу C:\Windows и посмотреть свойства папки WinSxS, то нам откроется такая картина.
В моём случае папка весит довольно много 21 ГБ.
Открываем командную строку от имени администратора и вводим команду:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore (данная команда произведёт анализ папки WinSxS)
Сведения хранилища компонентов (WinSxS):
Размер хранилища компонентов по данным проводника : 20.86 GB
Фактический размер хранилища компонентов : 17.71 GB
Рекомендуется очистка хранилища компонентов : Да
Судя по результату, сама система рекомендует нам произвести очистку хранилища компонентов.
Очищаем папку WinSxS с помощью командной строки администратора, вводим команду:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
Операция успешно завершена
Папка WinSxS очищена! Интересно, насколько она стала меньше в размере (напомню, что до очистки она занимала размер 21 ГБ)
Производим анализ хранилища компонентов уже знакомой вам командой:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Сведения хранилища компонентов (WinSxS):
Размер хранилища компонентов по данным проводника : 7.95 GB
Фактический размер хранилища компонентов : 7.74 GB
Рекомендуется очистка хранилища компонентов : Нет
Вот и всё. Теперь хранилище компонентов на нашем компьютере занимает 7.74 GB! Размер папки уменьшен в три раза.
Друзья, папку WinSxS можно ужать ещё. Дело в том, что у параметра /StartComponentCleanup есть дополнительный ключ /ResetBase, с помощью которого можно удалить все замененные версии для всех компонентов в хранилище компонентов. Вводим команду:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Операция успешно завершена
Теперь наша папка WinSxS стала ещё меньше 6,85 ГБ!
Если вам не хочется связываться с командной строкой, то очистите папку WinSxS с помощью встроенной в Windows утилиты «Очистка диска», но не могу вам гарантировать такой же результат, смотрите сами.
Возьмём компьютер, где папка WinSxS занимает размер 20 ГБ.
Щёлкаем на диске (C:) правой кнопкой мыши и выбираем «Свойства», выбираем вкладку «Общие» и жмём на кнопку «Очистка диска»
«Очистить системные файлы»
Первый пункт в данном окне «Очистка обновлений Windows», как раз отвечает за очистку хранилища компонентов. Всего может быть очищено 3,63 ГБ.
Жмите «ОК» и папка WinSxS будет очищена.
PS. При операции очистки папки WinSxS с помощью командной строки у вас может выйти ошибка «Хранилище компонентов повреждено. Ошибка: 14098», что делать в этом случае, читайте в следующей статье.
Статьи, которые вам пригодится:
- Можно ли удалить папку C:\Windows\Installer, а если нет, то как её очистить?
- Папка ProgramData, её назначение, можно ли удалить или перенести
- Что находится в системной папке «FileRepository» и как её очистить
Папка WinSxS – это хранилище компонентов, включающее как не критичные, так и необходимые составляющие для стабильной работы Windows. Содержимое папки WinSxS используется для проверки системных файлов, а хранящиеся в ней копии обеспечивают подбор наиболее подходящей версии при установке и удалении обновлений. Поэтому удалять папку WinSxS крайне не рекомендуется, она нужна для устойчивого обслуживания системы, но можно уменьшить её размер.
Почему WinSxS занимает много места на диске
Каждый раз при установке обновлений старые версии системных файлов сохраняются в папке WinSxS для обеспечения возможности отката в случае тех или иных проблем с новыми версиями, соответственно по мере эксплуатации операционной системы растёт и размер папки WinSxS.
В действительности объём дискового пространства, занимаемого папкой WinSxS, не такой, каким показывает его нам проводник так как подавляющее содержимое этого каталога представлено «жёсткими ссылками».
Специфика системы NTFS такова, что каждый файл можно считать жёсткой ссылкой на самого себя. Т.е. благодаря жёстким ссылкам один и тот же файл может фигурировать одновременно в различных папках или находиться под различными именами в одном каталоге.
Большинство компьютерных программ, включая проводник Windows, не различают жёсткие ссылки, а, следовательно, некорректно определяют и занимаемый ими объём, завышая реальные значения.
Как узнать реальный размер папки WinSxS в Windows 10 / 8.1 / 8
В результате получим примерно следующую информацию (на скриншоте ниже), понятно, что значения в каждом конкретном случае будут разными.
Как очистить папку WinSxS в Windows 10 / 8.1 / 8
- Запустите командную строку от имени администратора;
- Введите команду (без кавычек): «Dism.exe /Online /Cleanup-Image /StartComponentCleanup» → нажмите «Enter».
Как очистить папку WinSxS в Windows 7
Таким образом можно освободить до 7 Гбайт дискового пространства на Диске (C:), удалив файлы, не влияющие на работу Windows. Обратите внимание, объём удаляемых объектов будет зависеть от того как долго установлена система на компьютере (чем дольше, тем больше места можно освободить).
А вдруг и это будет интересно:
- WhyNotWin11: проверка совместимости компьютера (ноутбука) с Windows 11
- Как узнать дату и время установки Windows
- Как включить новый интерфейс Material Design в Google Chrome
- Как убрать стрелки с ярлыков в Windows 10
- Создаём дополнительные пункты в контекстном меню проводника Windows 11
- Как переместить рабочий стол на другой локальный диск в Windows 10
Дата: 2016-06-20 | Размещено в Статьи
В этой статье мы поговорим о каталоге WinSxS в Windows, причинах его постоянного роста и способах очистки. Каталог C:\windows\WinSxS является хранилищем компонентов 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
- Удаление неиспользуемых компонентов Windows (Windows Server)
- Включаем NTFS сжатие на папке WinSxS в Windows
Как узнать реальный размер папки WinSxS в Windows 10?
Самый простой способ получить текущий размер каталога WinSxS в Windows, запустить проводник File Explorer и открыть свойства папки %windir%\WinSxS (или воспользоваться скриптом PowerShell). Но имейте в виду, что большинство файловых менеджеров (в том числе File Explorer) показывают несколько больший размер каталога WinSxS, чем он занимает на диске.
Дело в том, что в каталоге WinSxS есть большое количество hard links (жестких символических ссылок) на файлы в других системных каталогах. Файловые менеджеры при подсчете размера папки WinSxS учитывают объем файлов, на которые ссылаются жесткие ссылки, а это не корректно.
Чтобы реальный (без учета жестких ссылок) размер папки WinSxS, воспользуйтесь утилитой SysInternal du:
du -v c:\windows\winSXS
Но проще всего проанализировать размер хранилища компонентов в папке 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
Самый быстрый и простой способ освободить место в хранилище компонентов 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 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.
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 и их назначении.
Включаем NTFS сжатие на папке WinSxS в Windows
Еще один способ уменьшить размера каталога WinSxS в Windows 10 – сжать содержимое каталога на уровне файловой системы NTFS.
- Откройте командную строку с правами администратора;
- Остановите и отключите службы Windows Installer и Windows Module Installer:
sc stop msiserver sc stop TrustedInstaller sc config msiserver start= disabled sc config TrustedInstaller start= disabled
- Создайте резервную копию списков доступа (ACL) назначенных на файлы и папки в каталоге WinSxS с помощью утилиты icacls. Резервная копия ACL представляет собой обычной текстовый файл, в котором указаны все файлы и каталоги и назначенные на них NTFS разрешения (в дальнейшем этот файл понадобиться для восстановления оригинальных ACL):
icacls "%WINDIR%\WinSxS" /save "%WINDIR%\WinSxS_NTFS.acl" /t
- Назначьте себя владельцем папки WinSxS и всех вложенных каталогов:
takeown /f "%WINDIR%\WinSxS" /r
- Предоставьте своей учетной записи полные права на каталог WinSxS:
icacls "%WINDIR%\WinSxS" /grant "%USERDOMAIN%\%USERNAME%":(F) /t
- Теперь можно выполнить сжатие файлов в каталоге WinSxS с помощью команды compact. Т.к. часть файлов может использоваться Windows, нужно указать параметр /i. Иначе сжатие будет остановлено на первом же занятом файле (в Windows 10 можно использовать более прогрессивное LZX сжатие):
compact /s:"%WINDIR%\WinSxS" /c /a /i *
- Теперь нужно восстановить TrustedInstaller как владельца каталога WinSxS:
icacls "%WINDIR%\WinSxS" /setowner "NT SERVICE\TrustedInstaller" /t
- И вернуть оригинальные NTFS разрешения на каталог WinSxS из резервной копии ACL:
icacls "%WINDIR%" /restore "%WINDIR%\WinSxS_NTFS.acl"
- Измените типа тип запуска служб Windows Installer и Windows Module Installer:
sc config msiserver start= demand sc config TrustedInstaller start= demand
Проверьте текущий размер каталога WinSxS.
Как вы видите, в нашем примере размер папки WinSxS за счет сжатия уменьшился с 9,36 Гб до 6,5 Гб (примерно на треть). Неплохо, особо для небольшого по размеру SSD-диска.
Указанные команды можно выполнять по отдельности (так проще контролировать успешность выполнения каждой из них), либо можно объединить все операции в один файл скрипт. Вы можете скачать готовый bat файл для сжатия WinSxS здесь compress_winsxs.bat
Данный скрипт нужно запускать периодически, т.к. в каталоге WinSxS будут появляться новые «несжатые» файлы после установки новых обновлений Windows и программ.
На что может повлиять сжатие каталога WinSxS? Windows работает со сжатыми файлами в прозрачном режиме, однако при обработке таких файлов, ей может понадобиться дополнительное время на их декомпрессию/компрессию. Это может вызвать небольшое замедление при установке компонентов Windows или обновлений. Однако для современных процессоров (CPU) операция компрессии/декомпрессии файлов выполняется практически мгновенно, так что реального уменьшения скорости пользователь даже не заметит.