- WinSxS – что это за папка
- Что хранится в папке WinSxS
- Способы оптимизации WinSxS
- Сleanmgr
- Планировщик заданий
- Dism
- Автоматическая очистка через Планировщик
- Дополнительные сведения
- Симптомы
- Решение
- Причина
- Программа для очистки winsxs — DISM
- Можно ли удалить WinSxS
- Как очистить папку WinSxS в Windows 10
- Как в Windows 7 очистить папку WinSxS, удалив устаревшие обновления
- Как автоматизировать очистку папки WinSxS
WinSxS – что это за папка
Папка WinSxS используется для хранения системных файлов. Каждый раз, когда вы обновляете операционную систему, резервные копии файлов сохраняются в этой папке и перезаписываются. Это необходимо для отката обновления, если оно установлено неправильно, но это неизбежно увеличивает размер папки WinSxS. Из-за этого сразу после установки Windows папка WinSxS занимает всего несколько гигабайт, но со временем ее размер вырастает до 10 ГБ и более.
Другая причина, по которой папка WinSxS так много весит, заключается в том, что она содержит файлы, которые появляются в других системных папках Windows с помощью жестких ссылок. Такой подход позволяет избежать копирования одних и тех же файлов в разные папки.
Что хранится в папке WinSxS
Если вы хотите подробнее узнать, что хранится в вашей папке WinSxS, вы можете сделать это с помощью командной строки. Для этого откройте командную строку с правами администратора и выполните следующую команду (только для Windows 10 и Windows 8):
Dism.exe/Online/Cleanup-Image/AnalyzeComponentStore
После небольшого ожидания эта команда предоставит вам подробную информацию о содержимом WinSxS.
Здесь будет предоставлена следующая информация:
- Размер хранилища компонентов, по данным Explorer, равен общему размеру WinSxS, исключая файлы, являющиеся жесткими ссылками.
- Фактический размер хранилища компонентов равен размеру WinSxS, включая жесткие ссылки, но исключая ссылки на папку Windows.
- Вместе с Windows — важные файлы, которые необходимы для работы операционной системы и которые невозможно удалить.
- Резервные копии и отключенные компоненты — это файлы, которые остаются после установки обновлений и сохраняются на случай необходимости сброса настроек. Эти файлы могут быть удалены во время очистки.
- Кэш и временные файлы – файлы, необходимые для ускорения работы системы обслуживания Windows, не критичны и могут быть удалены при очистке.
- Дата последней очистки хранилища — информация о последней очистке папки WinSxS.
- Количество пакетов, которые будут выпущены — файлы, которые были обновлены Центром обновления Windows и могут быть удалены в процессе очистки.
- Рекомендуется почистить хранилище компонентов — рекомендация о необходимости очистки папки WinSxS.
Как видите, большая часть файлов необходима для работы операционной системы Windows 10 и не подлежит удалению.
Способы оптимизации WinSxS
Прежде чем приступать к очистке WinSxS, очень разумно определить его точный размер — на случай, если он занимает не так много места, как кажется. Откройте командную строку от имени администратора и выполните следующую команду:
Dism.exe/Online/Cleanup-Image/AnalyzeComponentStore
Анализ займет некоторое время.
По завершении операции обратите внимание на параметр «Фактический размер хранилища компонентов»; значение будет истинным размером папки WinSxS. Также инструмент Dism сам решит, нужно ли его чистить или нет. В представленном здесь примере очистка не требуется; ваша ситуация может быть другой. Но вернемся к теме, как почистить папку WinSxS.
Сleanmgr
Самый очевидный способ — использовать встроенную утилиту cleanmgr. Запустите его через окно «Выполнить» и нажмите кнопку «Очистить системные файлы».
Найдите и установите флажок «Очистить обновления Windows» и нажмите «ОК». Если у вас нет этого предмета, чистить в принципе нечего.
Планировщик заданий
Папку WinSxS также можно очистить через планировщик задач. Откройте этот инструмент с помощью команды Taskschd.msc, затем разверните ветку Microsoft – Windows – Служба в левом столбце.
Выделите задачу StartComponentCleanup и нажмите «Выполнить». Кстати, очистка, управляемая планировщиком, запускается автоматически каждые 30 дней в фоновом режиме.
Dism
Недостаток вышеописанных методов в том, что оценка освобождаемого пространства может быть весьма приблизительной и варьироваться до нескольких сотен мегабайт в обе стороны. Кроме того, обновления, установленные за последние 30 дней, игнорируются при очистке через планировщик. Если вам нужны лучшие результаты, используйте инструмент Dism. Открыв командную строку с повышенными правами или PowerShell, выполните следующую команду:
Dism.exe/онлайн/Cleanup-Image/StartComponentCleanup
При запуске с этими параметрами Dism делает то же самое, что и cleanmgr, но более точно определяет, сколько места нужно освободить.
Чтобы выполнить глубокую очистку и удалить архивные файлы компонентов обновления, используйте следующую команду:
Dism.exe/онлайн/Cleanup-Image/SPSuperseded
Однако помните, что после выполнения этой команды вы больше не сможете вернуться к предыдущей версии Windows 7/10, так как все резервные копии будут удалены. Кстати, если сохраненных пакетов обновлений не обнаружено, вы получите сообщение, как на приложенном скриншоте.
Вместо приведенной выше команды вы также можете использовать другую, которая очищает старые пакеты для каждого компонента:
Dism.exe/онлайн/Cleanup-Image/StartComponentCleanup/ResetBase
Читайте также: Точность данных DMI не гарантируется: причины и последствия
Автоматическая очистка через Планировщик
При необходимости очистку папки WinSxS можно автоматизировать с помощью планировщика задач. Для этого вам необходимо создать новую задачу и на вкладке «Общие» поставить галочку «Выполнять с высшими привилегиями».
Затем в окне создания действия выберите действие «Запустить программу», в поле «Программа или скрипт» введите Dism.exe и в поле «Добавить аргументы» вставьте строку(и), полученные из приведенных выше команд.
Наконец, в категории «Триггеры» необходимо указать время и частоту срабатывания.
Дополнительные сведения
Выполните следующие действия, чтобы освободить дополнительное дисковое пространство в вашей системе.
- Нажмите «Пуск», а затем введите «Очистка диска» в текстовом поле «Найти программы и файлы.
- Щелкните значок «Очистка диска» и запустите инструмент «Очистка диска», чтобы определить, какие файлы можно удалить в зависимости от вашей конфигурации.
Дополнительные способы экономии места на системном томе:
- Переместите файл подкачки на другой том системы.
- Отключите спящий режим в системе.
- Используйте опцию выделенного файла дампа, чтобы записать файлы дампа памяти на другой том системы.
- Загрузите каталоги файлов профиля пользователя и приложений на другой том системы.
- Отключите точки восстановления системы при установке клиента.
- Очистите все временные каталоги и папки с помощью мастера очистки диска (cleanmgr.exe).
- Удалите неиспользуемые программы или инструменты из установки.
Дополнительные сведения о папке WinSxS см в следующих разделах:
- Диск
- Общие рекомендации по подготовке дисков для роста WinSXS
Дополнительные сведения о системных требованиях для накопителей см в следующих разделах:
- Установите Windows Server 2008 и Windows Server 2008 R2
- Системные требования для Windows 7
Примечание.
- При установке продукта с помощью установщика Windows небольшая версия исходного файла данных .msi сохраняется в папке кэша установщика Windows (%windir%Installer). Со временем эта папка может вырасти больше. При каждой установке дополнительных обновлений для установленных продуктов, таких как исправления, накопительные обновления или установки пакетов обновления, соответствующий файл .msp или .msi также сохраняется в кэше установщика Windows. Со временем эта папка может вырасти больше.
- Мы не поддерживаем и не рекомендуем удалять файлы в этой папке или заменять их файлами с другого компьютера. Любые обновления программы зависят от информации, содержащейся в файлах, хранящихся в этой папке. Без этой информации обновления могут устанавливаться неправильно.
- папка %windir%softwaredistributiondownloads используется клиентским компонентом Центра обновления Windows для хранения загруженных обновлений. Обычно вам не нужно управлять этой папкой, поскольку ею управляет Windows. Типичный размер этой папки определяется несколькими факторами, такими как версия операционной системы, доступные на данный момент обновления и т д. Поэтому трудно дать типичный ожидаемый размер. Если эта папка занимает много места на диске, сначала установите все доступные обновления системы, а затем перезагрузите компьютер. Выполните следующие действия, чтобы решить эту проблему, если размер по-прежнему большой.
- В командной строке с повышенными привилегиями выполните команду Net Stop WUAUSERV .
- Удалите содержимое папки %windir%softwaredistributiondownloads .
- В командной строке с повышенными привилегиями выполните команду Net Start WUAUSERV:
Симптомы
Изучив размер папки C:Windows, вы заметите, что каталог C:Windowswinsxs занимает много места на диске.
Решение
Хранилище компонентов не может находиться на томе, отличном от системного, из-за жестких связей NTFS. Попытка переместить хранилище функций помешает правильной установке обновлений Windows, пакетов обновлений, ролей или функций. Кроме того, не рекомендуется вручную удалять файлы из репозитория компонента.
Чтобы уменьшить размер каталога хранилища компонентов при установке Windows, можно сделать установку пакета обновления постоянной и освободить используемое пространство из файлов пакета обновления. Однако если пакет обновления установлен навсегда, его невозможно удалить.
Чтобы удалить файлы пакета обновления из установки Windows, используйте следующие встроенные инструменты:
- Windows Server 2008 SP2: Compcln.exe
- Windows 7 SP1 или Windows Server 2008 R2 SP1: DISM/online/Cleanup-Image/spSuperseded или Мастер очистки диска (cleanmgr.exe)
Очистку также можно выполнить заранее в установках Windows Server 2008, принудительно удалив систему. В ходе очистки будет предпринята попытка удалить все нежелательные системные двоичные файлы из установки и позволить Windows освободить место на диске. Чтобы создать событие удаления во время установки Windows, добавьте и удалите все ненужные системные компоненты, которые еще не установлены, а затем перезапустите установку Windows. Очистка будет выполнена при следующем перезапуске операционной системы.
Примечание.
Очистка происходит автоматически при установке Windows 7 и Windows Server 2008 R2.
Причина
Каталог хранилища компонентов Windows (C:Windowswinsxs) используется во время операций обслуживания установок Windows. Операции по обслуживанию включают, помимо прочего, установку клиентских компонентов Центра обновления Windows, пакетов обновлений и исправлений.
Репозиторий компонентов содержит все файлы, необходимые для установки Windows. Кроме того, любые обновления этих файлов сохраняются в репозитории компонентов по мере установки обновлений. Это приводит к тому, что хранилище функций со временем расширяется по мере добавления в установку новых обновлений, функций или ролей. Хранилище компонентов использует жесткие связи NTFS между собой и другими каталогами Windows для повышения надежности платформы Windows.
В хранилище компонентов будет отображаться большой размер каталога из-за того, как проводник Windows оборачивает жесткие ссылки. Оболочка Windows будет считать каждую жесткую ссылку одним экземпляром файла для каждого каталога, в котором находится файл. Например, если размер файла advapi32.dll составляет 700 КБ и он находится в хранилище компонентов и в каталоге Windowssystem32, Проводник Windows неверно сообщит, что файл занимает 1400 КБ места на жестком диске.
Программа для очистки winsxs — DISM
Второй метод гораздо эффективнее. На этот раз мы будем использовать консольный инструмент DISM. Мы удалим все версии обновлений, не дожидаясь плановой операции. Для этого выполните следующую команду в командной строке от имени администратора:
DISM.exe/онлайн/Cleanup-Image/StartComponentCleanup
Другая команда отвечает за удаление архивных файлов, созданных при установке пакетов обновлений. Для этого введите в командной строке следующую строку:
DISM.exe/онлайн/Cleanup-Image/SPSuperseded
Обратите внимание на следующее! После выполнения этой команды вы не сможете удалить уже установленные пакеты обновлений и вернуться к их более старым версиям. Кстати, такое сообщение (как на скриншоте) вы получите, если удалять нечего.
Вы также можете удалить старые версии для каждого компонента. Для этого используйте эту команду:
DISM.exe/онлайн/Cleanup-Image/StartComponentCleanup/ResetBase
Последствия будут точно такими же, как если бы вы использовали команду DISM.exe/online/Cleanup-Image/SPSuperseded.
Что еще можно сделать, чтобы очистить папку WinSxS? В последних версиях Windows есть такая полезная функция, как включение/отключение компонентов системы по требованию. Если вы откроете Панель управления, а затем перейдете в «Программы и компоненты», вы поймете, о чем мы говорим. Некоторые из этих компонентов, хотя и не помечены, все же присутствуют на диске. Чтобы загрузить их, вам не нужно подключаться к центру обновлений; вы можете установить их прямо с диска. Так они лежат только в папке WinSxS.
Если файлы компонентов занимают много места на диске, их можно удалить. Для этого мы снова воспользуемся уже известным инструментом DISM. Запустите консоль и введите следующую команду:
DISM.exe/Интернет/Английский/Get-Features/Формат: Таблица
При этом отобразится список компонентов, а также их статус. Enabled – включено, Disabled – отключено. Чтобы удалить компонент из системы, используйте следующую команду:
DISM.exe/Online/Disable-Feature/имя-функции:NAME/Remove
Ключевое слово NAME здесь означает название компонента. Например, нам нужно удалить модуль Microsoft-Hyper-V-All.
DISM.exe /Online /Disable-Feature /имя функции:Microsoft-Hyper-V-All /Remove
Теперь, если вы снова запустите команду Get-Features, вы увидите, что статус функции изменился на «Отключено с удаленной полезной нагрузкой».
Можно ли удалить WinSxS
WinSxS является частью операционной системы Windows, и его нелегко удалить. Если вы это сделаете, система перестанет загружаться и вам придется ее восстанавливать или делать полную переустановку Windows.
Однако вы можете очистить папку WinSxS, существенно уменьшив ее размер и освободив память на системном диске. Но процесс очистки будет немного отличаться в зависимости от того, какая версия операционной системы установлена. Ниже мы поговорим о том, как очистить папку WinSxS в операционных системах Windows 7 и Windows 10.
Как очистить папку WinSxS в Windows 10
Что касается очистки папки WinSxS, то в Windows 10 это можно сделать с помощью командной строки. Для этого откройте командную строку с правами администратора и выполните следующую команду (это занимает много времени):
Dism.exe/Online/Cleanup-Image/StartComponentCleanup
Если вам не нравится работать в командной строке, есть альтернативные методы, позволяющие выполнить очистку из оконного интерфейса Windows 10. Для этого нужно щелкнуть правой кнопкой мыши по системному диску (диск C) и перейти в характеристики.
Далее нажмите на кнопку «Очистка диска» на вкладке «Общие».
А затем нажмите на кнопку «Очистить системные файлы».
После этого установите флажок «Очистить обновления Windows» и запустите очистку, нажав кнопку «ОК».
Далее вам просто нужно подтвердить удаление файлов и дождаться завершения процесса очистки.
Как в Windows 7 очистить папку WinSxS, удалив устаревшие обновления
- Загрузите и установите обновление KB 2852386
- Запустите процесс очистки диска, набрав cleanmgr в командной строке с правами администратора
- Укажите диск, на котором установлена Windows 7 (обычно C:)
- Нажмите кнопку «Очистить системные файлы
- После этого запустится сканирование системы (Сканирование: Очистка Центра обновления Windows) и в списке появится ряд вариантов очистки системы, которые были недоступны при первом запуске.
- Проверьте «Очистка Центра обновления Windows» в появившемся окне. Инструмент покажет приблизительный объем места, освободившегося после удаления устаревших обновлений. В нашем примере в системе 1 будет освобождено примерно 4 ГБ. Примечание. Параметр «Очистка Центра обновления Windows» доступен только в том случае, если мастер очистки диска обнаруживает обновления Windows 7, которые больше не нужны и могут быть удалены.
- Нажмите «ОК», после чего система начнет удалять неиспользуемые файлы (обычно процесс занимает довольно продолжительное время).
- После завершения процедуры очистки перезапустите систему. При запуске системы может появиться окно с предустановленной надписью «Очистка» — Не выключать компьютер…
Примечание. Важно понимать, что после выполнения очистки диска с помощью этого мастера удалить обновления, пришедшие на смену удаленным обновлениям, будет невозможно,
Как автоматизировать очистку папки WinSxS
В случае, если необходимо удалить неиспользуемые обновления Windows 7 одновременно на многих машинах (не надо бегать по всем и выполнять все эти операции вручную!), мы прибегнем к простой автоматизации.
Для этого нам необходимо внести определенные изменения в реестр и запустить команду очистки по расписанию.
Вам необходимо добавить в реестр параметр типа DWORD с именем StateFlags0011 (на самом деле последние две цифры могут быть любыми в диапазоне от 0 до 65535, самое главное их запомнить, ведь мы будем использовать их в будущее) и значение 2 в ветку реестра
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerОчистка обновлений
Совет. Например, указанное изменение в реестре можно осуществить с помощью групповых политик (скрипт входа, GPP и т.п.).
Остается только использовать любой инструмент автоматизации (например, с помощью schtasks, at, SCCM или планировщика задач сценария входа) для выполнения команды:
cleanmgr /sagerun:11
Указанная команда запустит автоматическое удаление устаревших обновлений Windows 7 и удалит неиспользуемые файлы из каталога WinSxS
Совет. Логично было бы запускать это обновление раз в месяц, например каждый первый понедельник месяца, т.е перед следующим вторником патча.