Как уменьшить папку winsxs в windows 10

В этой статье мы поговорим о каталоге WinSxS в Windows, причинах его постоянного роста и способах очистки. Каталог C:\windows\WinSxS является хранилищем компонентов Windows. В этом каталоге хранятся dll библиотеки, бинарные и xml файлы, необходимые для установки и работы различных ролей и компонентов Windows. Каждый раз когда вы устанавливаете обновления Windows (это происходит ежемесячно), новая версия обновляемого компонента устанавливается в систему, а старая сохраняется в хранилище компонентов WinSxS (это необходимо для обеспечения совместимости и возможности “отката“ к старым версиям компонентов при удалении проблемного обновления).

Со временем размер каталога WinSxS постоянно увеличивается. Причем его размер ничем не ограничен (хотя на практике размер папки WinSxS в Windows 10 редко превышает 15-20 Гб.)

каталог WinSxS в windows10

В этой статье мы рассмотрим наиболее безвредные способы очистки папки 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 с помощью утилиты du.exe

Но проще всего проанализировать размер хранилища компонентов в папке WinSxS с помощью команды DISM:

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

Dism.exe 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.exe 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 правами администратора.

В окне утилиты выберите диск и в следующем окне нажмите кнопку «Очистить системны файлы».

cleanmgr windows 10 Очистить системны файлы

Далее выберите опцию “Файлы журнала обновления Windows» и нажмите ОK. Утилита очистки диска покажет сколько места вы можете освободить, удалив файлы журнала старых обновлений Windows. В моем примере это 427 Мб.

удалить файлы журнала обновлений windows

После окончания очистки хранилища с помощью DISM проверьте сколько освободилось места на диске.

В планировщике задания Windows 10 и Windows Server 2016 есть специальное задание автоматического обслуживания, которое регулярно выполняет оптимизацию и очистку каталога WinSxS (выполняется действия, аналогичные команде dism с ключом StartComponentCleanup). Это задание StartComponentCleanup находится в разделе \Microsoft\Windows\Servicing. Данное задание запускается в фоновом режиме и автоматически удаляет версии компонентов старше 30 дней, которое были заменены более новыми версиями.

Можно запустить это задание вручную так:

schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"

задание планировщика 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

windows 10 dism get-features список установленных компонентов

Чтобы удалить, например компонент TelnetClient с диска (из каталога WinSxS), выполните команду:
DISM.exe /Online /Disable-Feature /Featurename:TelnetClient /Remove

DISM Disable-Feature Remove

Если еще раз вывести список всех доступных функций по требованию в Windows, вы увидите, что статус компонента изменится на Disabled with Payload Removed.

Таким образом в Windows можно существенно уменьшить размер папки WinSxS, удалив с диска неиспользуемые компоненты. Единственный нюанс, это вариант очистки каталога WinSxS подойдет для достаточной продвинутых пользователей, которые разбираются в компонентах Windows 10 и их назначении.

Включаем NTFS сжатие на папке WinSxS в Windows

Еще один способ уменьшить размера каталога WinSxS в Windows 10 – сжать содержимое каталога на уровне файловой системы NTFS.

  1. Откройте командную строку с правами администратора;
  2. Остановите и отключите службы Windows Installer и Windows Module Installer:
    sc stop msiserver
    
    sc stop TrustedInstaller
    
    sc config msiserver start= disabled
    
    sc config TrustedInstaller start= disabled
  3. Создайте резервную копию списков доступа (ACL) назначенных на файлы и папки в каталоге WinSxS с помощью утилиты icacls. Резервная копия ACL представляет собой обычной текстовый файл, в котором указаны все файлы и каталоги и назначенные на них NTFS разрешения (в дальнейшем этот файл понадобиться для восстановления оригинальных ACL):
    icacls "%WINDIR%\WinSxS" /save "%WINDIR%\WinSxS_NTFS.acl" /t

    создаем резевную копию разрешений каталога winsxs

  4. Назначьте себя владельцем папки WinSxS и всех вложенных каталогов:
    takeown /f "%WINDIR%\WinSxS" /r
  5. Предоставьте своей учетной записи полные права на каталог WinSxS:
    icacls "%WINDIR%\WinSxS" /grant "%USERDOMAIN%\%USERNAME%":(F) /t
  6. Теперь можно выполнить сжатие файлов в каталоге WinSxS с помощью команды compact. Т.к. часть файлов может использоваться Windows, нужно указать параметр /i. Иначе сжатие будет остановлено на первом же занятом файле (в Windows 10 можно использовать более прогрессивное LZX сжатие):
    compact /s:"%WINDIR%\WinSxS" /c /a /i *

    Сжимаем содержимое каталога winsxs

  7. Теперь нужно восстановить TrustedInstaller как владельца каталога WinSxS:
    icacls "%WINDIR%\WinSxS" /setowner "NT SERVICE\TrustedInstaller" /t
  8. И вернуть оригинальные NTFS разрешения на каталог WinSxS из резервной копии ACL:
    icacls "%WINDIR%" /restore "%WINDIR%\WinSxS_NTFS.acl"
  9. Измените типа тип запуска служб Windows Installer и Windows Module Installer:
    sc config msiserver start= demand
    
    sc config TrustedInstaller start= demand

Проверьте текущий размер каталога WinSxS.

уменьшить размер каталога winsxs в windows10 с помощью сжатия

Как вы видите, в нашем примере размер папки WinSxS за счет сжатия уменьшился с 9,36 Гб до 6,5 Гб (примерно на треть). Неплохо, особо для небольшого по размеру SSD-диска.

Указанные команды можно выполнять по отдельности (так проще контролировать успешность выполнения каждой из них), либо можно объединить все операции в один файл скрипт. Вы можете скачать готовый bat файл для сжатия WinSxS здесь compress_winsxs.bat

Данный скрипт нужно запускать периодически, т.к. в каталоге WinSxS будут появляться новые «несжатые» файлы после установки новых обновлений Windows и программ.

На что может повлиять сжатие каталога WinSxS? Windows работает со сжатыми файлами в прозрачном режиме, однако при обработке таких файлов, ей может понадобиться дополнительное время на их декомпрессию/компрессию. Это может вызвать небольшое замедление при установке компонентов Windows или обновлений. Однако для современных процессоров (CPU) операция компрессии/декомпрессии файлов выполняется практически мгновенно, так что реального уменьшения скорости пользователь даже не заметит.

Привет админ! Неделю назад я стал замечать, что свободное пространство на моём диске (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», что делать в этом случае, читайте в следующей статье.

Статьи, которые вам пригодится: 

  1. Можно ли удалить папку C:\Windows\Installer, а если нет, то как её очистить?
  2. Папка ProgramData, её назначение, можно ли удалить или перенести
  3. Что находится в системной папке «FileRepository» и как её очистить

Папка WinSxS в WindowsЕсли вас смущает то, что папка WinSxS много весит и интересует вопрос о том, можно ли удалить ее содержимое, в этой инструкции подробно будет описан процесс очистки данной папки в Windows 10, 8 и Windows 7, а заодно расскажу, что это за папка и для чего она нужна и можно ли удалить WinSxS полностью.

В папке WinSxS хранятся резервные копии системных файлов операционной системы до обновлений (и не только, о чем — далее). То есть, всякий раз, как вы получаете и устанавливаете обновления Windows, в эту папку сохраняется информация об изменяемых файлах, сами эти файлы с тем, чтобы у вас была возможность удалить обновление и откатить сделанные изменения.

Через какое-то время папка WinSxS может занимать достаточно много места на жестком диске — несколько гигабайт, при этом размер этот все время увеличивается по мере установки новых обновлений Windows.. К счастью, очистить содержимое данной папки сравнительно легко штатными средствами. И, если компьютер после последних обновлений работает без каких-либо проблем, это действие сравнительно безопасно.

Размер папки WinSxS

Также в Windows 10 папка WinSxS используется, например, для сброса Windows 10 в исходное состояние — т.е. необходимые для автоматической переустановки файлы берутся именно из нее. Дополнительно, раз уж у вас возникла проблема со свободным пространством на жестком диске, рекомендую к ознакомлению статьи: Как очистить диск от ненужных файлов, Как узнать, чем занято место на диске.

Очистка папки WinSxS в Windows 10

Прежде чем говорить об очистке папки хранилища компонентов WinSxS, хочу предупредить о некоторых важных вещах: не пытайтесь удалить эту папку. Просто довелось видеть пользователей, у которых папка WinSxS не удаляется, они используют методы, похожие на описанные в статье Запросите разрешение от TrustedInstaller и в конце-концов удаляют ее (или часть системных файлов из нее), после чего удивляются, почему система не загружается.

В Windows 10 папка WinSxS хранит не только файлы, связанные с обновлениями, но и файлы самой системы, используемые в процессе работы, а также для того, чтобы вернуть ОС в исходное состояние или выполнить некоторые операции, связанные с восстановлением. Итак: какой-то самодеятельности при очистке и уменьшении размера этой папки не рекомендую. Следующие же действия безопасны для системы и позволяют очистить папку WinSxS в Windows 10 только от ненужных резервных копий, создаваемых при обновлении системы.

  1. Запустите командную строку от имени администратора (например, через правый клик по кнопке Пуск)
  2. Введите команду Dism.exe /online /cleanup-image /AnalyzeComponentStore и нажмите Enter. Папка хранилища компонентов будет проанализирована и вы увидите сообщение о необходимости ее очистки. Проверка необходимости очистки WinSxS
  3. Введите команду Dism.exe /online /cleanup-image /StartComponentCleanup и нажмите Enter для запуска автоматической очистки папки WinSxS. Очистка папки WinSxS в Windows 10

Один важный момент: не следует злоупотреблять этой командой. В некоторых случаях, когда резервных копий обновления Windows 10 в папке WinSxS нет, после выполнения очистки, папка может даже слегка увеличиться. Т.е. производить очистку есть смысл, когда указанная папка слишком, на ваш взгляд, разрослась (5-7 Гб — это не слишком).

Также очистку WinSxS можно произвести автоматически в бесплатной программе Dism++

Как очистить папку WinSxS в Windows 7

Для очистки WinSxS в Windows 7 SP1 требуется предварительно установить необязательное обновление KB2852386, которое добавляет соответствующий пункт в утилиту очистки диска.

Вот как это сделать:

  1. Зайдите в центр Обновления Windows 7 — это можно сделать через панель управления или воспользоваться поиском в меню пуск. Запуск центра обновлений Windows 7
  2. Нажмите «Поиск обновлений» в меню слева и подождите. После этого, кликните по необязательным обновлениям. Необязательные обновления
  3. Найдите и отметьте необязательное обновление KB2852386 и установите его. Установка обновления KB2852386
  4. Перезагрузите компьютер.

Запуск очистки диска в Windows 7

После этого, для того, чтобы удалить содержимое папки WinSxS, запустите утилиту очистки диска (также, быстрее всего воспользоваться поиском), нажмите кнопку «Очистка системных файлов» и выберите пункт «Очистка обновлений Windows» или «Файлы резервной копии пакета обновлений».

Очистка папки WinSxS в Windows 7

Удаление содержимого WinSxS в Windows 8 и 8.1

В последних версиях ОС Windows возможность удалить резервные копии обновлений имеется в утилите очистки диска по умолчанию. То есть для того, чтобы удалить файлы в WinSxS, вам следует выполнить следующее:

  1. Запустить утилиту «Очистка диска». Для этого на начальном экране можете воспользоваться поиском. Очистка диска в Windows 8
  2. Нажать кнопку «Очистка системных файлов»
  3. Выбрать пункт «Очистка обновлений Windows»

Удаление содержимого WinSxS в Windows 8

Помимо этого, в Windows 8.1 есть и еще один способ очистить эту папку:

  1. Запустите командную строку от имени администратора (для этого нажмите клавиши Win+X на клавиатуре и выберите нужный пункт меню).
  2. Введите команду dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase

Также, с помощью dism.exe вы можете точно узнать, сколько занимает папка WinSxS в Windows 8, для этого воспользуйтесь следующей командой:

dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

Точная информация о том, сколько занимает WinSxS с помощью Dism.exe

Автоматическая очистка резервных копий обновлений в WinSxS

Помимо очистки содержимого данной папки вручную, вы можете воспользоваться планировщиком заданий Windows, для того, чтобы это происходило автоматически.

Задача для автоматической очистки обновлений

Для этого необходимо создать простую задачу StartComponentCleanup в Microsoft\Windows\Servicing с нужной периодичностью выполнения.

Надеюсь, статья будет полезной и предостережет от нежелательных действий. В случае возникновения вопросов — задавайте, постараюсь ответить.

Вы тут: Главная Popular Как грамотно уменьшить размер папки WinSxS в Windows 10, 8.1 и 8

cleanmgr-96Уже 7 лет папка WinSxS является бельмом в глазу у ряда пользователей. Все эти годы Microsoft потихоньку улучшала систему обслуживания Windows, и в прошлом году я рассказывал о тонкостях управления компонентами Windows 8. Выгоду от тех нововведений получили администраторы серверных ОС, а на улицу домашних пользователей настоящий праздник пришел только в Windows 8.1.

Перейти к инструкциям по очистке

Сегодня я расскажу вам о ключевых изменениях в системе обслуживания Windows 8 и 8.1, которые помогут вам эффективнее распорядиться дисковым пространством и наконец-то очистить папку WinSxS, не рискуя при этом нарушить работу системы.

У вас Windows 7? Читайте Как грамотно уменьшить размер папки WinSxS в Windows 7 SP1

[+] Сегодня в программе

Животрепещущие вопросы

question-96Сначала я обозначу два вопроса, которые сильнее всего волнуют людей в контексте папки WinSxS.

Почему папка WinSxS такая большая

На самом деле, она занимает значительно меньше места, чем кажется. Множество файлов из папки Windows проецируется в нее с помощью жестких ссылок именно из папки WinSxS. Да, файловые менеджеры могут показывать размер папки WinSxS в 10GB и более, но лишь потому, что они принимают за чистую монету объем жестких ссылок. В Windows этому есть очень наглядное подтверждение.

Почему папка WinSxS постоянно растет

Каждый раз, когда вы устанавливаете обновления, системные файлы заменяются новыми. Их старые версии сохраняются в папке WinSxS, чтобы обеспечить возможность отката в случае проблем с новыми версиями, т.е. устойчивое обслуживание системы. Это приводит к увеличению объема папки WinSxS, хотя на практике ее максимальный размер редко превышает 15GB. Кстати, именно этого аспекта коснулось одно изменение в Windows 8.1, как вы увидите ниже.

Новые возможности системы обслуживания

Вездесущая утилита DISM обзавелась в 8.1 новыми параметрами командной строки, которые я разберу в этой статье. Но сначала – несколько примечаний:

  1. В моем распоряжении находится английская Windows 8.1 Preview, в которой результаты команд DISM не локализованы, несмотря на русский языковой пакет. Фанатичным приверженцам локализованных ОС придется потерпеть :)
  2. Поскольку Windows 8.1 Preview установлена недавно, размер папки WinSxS невелик, равно как и выгода от описанных в статье манипуляций. Однако, чем дольше установлена ОС, тем заметнее польза от изменений в системе обслуживания.
  3. Все команды нужно выполнять от имени администратора, а после очистки — перезагружаться для более аккуратного измерения экономиии дискового пространства.

Готовы? Давайте пойдем от простого к сложному!

Как определить реальный размер папки WinSxS в Windows 10, 8.1 и 8

С помощью одного из новых параметров DISM вы можете проанализировать хранилище компонентов, т.е. папку WinSxS.

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

Результат команды будет примерно таким:

Как уменьшить размер папки winsxs
Увеличить рисунок

Здесь по порядку:

  1. Размер хранилища компонентов, каким его видит проводник, т.е. без учета жестких ссылок внутри WinSxS.
  2. Реальный размер хранилища компонентов с учетом жестких ссылок (за исключением ссылок на папку Windows), в том числе:
    • Общие файлы с папкой Windows. Эти файлы необходимы для работы системы и ни в коем случае не являются лишними. В моем примере они составляют 87% от размера хранилища, но чем больше обновлений устанавливается, тем ниже этот процент.
    • Резервные копии и отключенные компоненты. Эти файлы хранятся на случай проблем с обновленными компонентами или для включения ролей или компонентов. Их можно условно считать лишними, поскольку они не критичны для текущей работы системы.
    • Кэш и временные файлы. Эти файлы нужны для быстрой работы системы обслуживания, но не являются абсолютно необходимыми для функционирования Windows.
  3. Дата последней очистки хранилища. Об очистке во всех подробностях ниже.
  4. Число пакетов, замененных более новыми, и рекомендация по очистке. Фактически, это – файлы, которые обновились после работы Windows Update. Их можно удалить очисткой хранилища.

Я прямо вижу, как у вас руки чешутся очистить хранилище и высвободить место :)

Как очистить папку WinSxS в Windows 10, 8.1 и 8

Начиная с Windows 8, в ОС заложено три способа очистки.

Команда DISM (рекомендую)

Вы можете очистить хранилище компонентов вручную одной командой.

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

Это самый быстрый путь к выполнению оптимизации (после него двумя следующими способами вы уже ничего не добьетесь).

Утилита «Очистка диска»

Andrey Bayatakov, спасибо за напоминание об этом способе!

Наберите cleanmgr в командной строке, запущенной от имени администратора. Встроенная в Windows утилита для очистки диска покажет, сколько места вы сэкономите, удалив файлы обновлений Windows.

CleanMgr

В принципе, утилита делает то же самое, что и ключ /StartComponentCleanup. Однако она весьма фривольна в оценках освобождаемого пространства, и в моих экспериментах ошибка измерялась сотнями мегабайт, причем в обе стороны.

Запланированное задание

Windows выполняет очистку папки winsxs по расписанию с помощью задания Microsoft – Windows – Servicing – StartComponentCleanup.

Как уменьшить размер папки winsxs

Конкретной команды не видно, поскольку очистка реализована обработчиком COM-объектов. А отсутствие триггеров свидетельствует о том, что задание работает в рамках вездесущего автоматического обслуживания. Запустив задание из планировщика или командной строки, вы достигаете почти того же эффекта, что и командой DISM с ключом /StartComponentCleanup. Различия таковы:

  • Игнорируются обновления, установленные в последние 30 дней.
  • Выдерживается часовая пауза, очистки всех файлов может не произойти.

Выполнив очистку, вы можете снова проанализировать хранилище и оценить изменения.

Как уменьшить размер папки winsxs
Увеличить рисунок

Как видите, в моем случае очистка 10 пакетов позволила сэкономить 60MB, что не так уж и много в масштабах папки. Однако можно почистить еще :)

Как удалить все старые версии компонентов из папки WinSxS в Windows 10 и 8.1

Во времена Windows XP был очень популярен вопрос, можно ли удалять папки $NTUninstallKBxxxxxx$ из папки Windows. Помните такое?

Как уменьшить размер папки winsxs

В Windows 8.1 появилась аналогичная возможность, хотя реализована она совсем иначе ввиду глобальных различий в системах обслуживания 8.1 и XP.

Команда для удаления

Начиная с Windows 8.1, у параметра /StartComponentCleanup есть дополнительный ключ /ResetBase, с помощью которого можно удалить все предыдущие версии компонентов. Этот ключ не задействован в запланированном задании.

Внимание! Удаление предыдущих версий компонентов лишает вас возможности удалить установленные обновления и пакеты исправлений (Service Packs), но не блокирует установку будущих обновлений.

Это предупреждение вовсе не дежурное, если вспомнить недавнюю ошибку 0xc0000005 после KB2859537, от которой плакал горючими слезами Рунет. Так или иначе, волшебная команда:

Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase

Очевидно, выигрыш дискового пространства зависит как от количества зачищаемых обновлений, так и от объема замененных ими компонентов. В моем примере удалось высвободить еще около 24MB.

Как уменьшить размер папки winsxs
Увеличить рисунок

Что происходит при удалении всех предыдущих версий компонентов

Рассказ об этом перенесен в статью, которая раскрывает подноготную оптимизации папки WinSxS.


Описанные выше нововведения в Windows 8.1 не являются секретом, поскольку задокументированы в библиотеке TechNet (пока только на английском языке). Причем объяснения там выгодно отличаются от типичной сухой документации — чувствувется перо Джозефа Конвея (Joseph Conway), главнoго источника сведений системе обслуживания Windows, который, к сожалению, недавно объявил о прекращении публикаций в своем блоге.

Сжатие компонентов в папке WinSxS (тайное знание)

compress-96Однако в официальной документации практически нет информации о том, что с целью экономии дискового пространства для хранилища компонентов в Windows 8 и выше применяется сжатие. Я выделю несколько известных мне моментов:

  1. Сжатие применяется к файлам, которые не использует операционная система. К ним относятся предыдущие версии компонентов и отключенные компоненты. Этим, видимо, и объясняется не столь существенный выигрыш от удаления предыдущих версий с параметром /ResetBase.
  2. Используется разностное сжатие. По неподтвержденной пока уже подтвержденной информации в Windows 8.1 для компрессии замененных компонентов применяется разностное сжатие.
  3. Экономия дискового пространства может быть весьма существенной в некоторых сценариях. Так, на установке Windows Server Core 2012 R2 Preview благодаря сжатию высвобождается около 20% места, если исключить из уравнения файлы подкачки и гибернации. Экономия достигается за счет сжатия компонентов отключенных ролей сервера.

В статье, где собраны все технические тонкости, я описал разные механизмы сжатия Windows 8 и 8.1+.

Конечно, точный ответ на этот вопрос может дать только Microsoft, поэтому я просто поделюсь своим видением ситуации.

Серверные ОС

Современную инфраструктуру трудно представить без технологий виртуализации, выгода от использования которых напрямую связана с эффективным использованием системных ресурсов. Это в полной мере относится к дисковому пространству, которого много никогда не бывает.

Удаление неиспользуемых ролей сервера в Windows Server 2012 помогает ИТ-специалистам эффективнее распоряжаться дисковым пространством. Тем, кто не знает об этой возможности или не считает целесообразным ее применять, поможет сжатие компонентов неиспользуемых ролей в Windows Server 2012 R2.

Клиентские ОС

К моменту выхода Windows 7 стоимость 1GB на жестких дисках была столь невелика, что папка WinSxS вызывала головную боль только у товарищей с маленьким сами знаете, чем. Однако на сцену уже выходили SSD, и система обслуживания Windows не очень хорошо сочеталась с их скромным объемом.

Казалось бы, к выходу Windows 8 твердотельный накопитель объемом 128GB уже не был чем-то из ряда вон выходящим, но на разработчиков системы обслуживания свалилась новая беда – планшеты, в том числе свой же Surface.

Действительно, все современные планшеты на Clover Trail в лучшем случае комплектуются диском в 64GB. А в более популярных младших моделях после вычета раздела восстановления остается около 25GB, чего недостаточно для более-менее долгосрочной работы Windows.

В Windows 8 очистка резервных копий компонентов нацелена на более эффективное использование пространства маленьких дисков планшетов, а в Windows 8.1 удаление предыдущих версий предоставляет запасной аэродром в самых тяжелых случаях.

Дискуссия и опрос

Эта запись является хорошим поводом для вас высказать все, что наболело по поводу хранилища компонентов Windows :) Опрос призван выявить количественный расклад, а в комментариях напишите, создает ли вам проблемы рост размера папки WinSxS. Если создает, опишите их и предоставьте ссылку на полноэкранный скриншот оснастки diskmgmt.msc.

Эта запись знаменует возобновление публикаций в блоге после летнего перерыва. Надеюсь, вы хорошо отдохнули :) Мой отпуск еще только грядет в сентябре, но вас уже ожидают несколько интересных запланированных записей :)

Результаты голосования утеряны в связи с прекращением работы веб-сервиса опросов.

Наше руководство поможет вам проанализировать, очистить от ненужных файлов и максимально сжать системную папку WinSxS в операционной системе Windows 10 и освободить не лишнее пространство.

Сжатая и очищенная папка WinSxS в Windows 10

Если вы найдете папку WinSxS, то будете удивлены ее размерами. Находится она по такому пути — Этот компьютер > Локальный диск (C:) > Windows, и в нашем случае её размер составляет больше 8 ГБ.

Размер папки WinSxS

Windows 10 использует системную папку WinSxS для хранения файлов, необходимых в процессе установки и функционирования системы, а так же резервных копий обновлений. И каждый раз, когда вы устанавливаете обновления, она многократно увеличивается в размере.

Как очистить папку WinSxS в Windows 10

Откройте командную строку от имени администратора, найдя ее через системный поиск.

Как в Windows 10 запустить командную строку от имени администратора

Вставьте эту команду Dism.exe /online /cleanup-image /AnalyzeComponentStore и нажмите «Enter«. Произойдет анализ, и появится сообщение о необходимости очистки хранилища компонентов.

Анализ папки WinSxS

Для очистки, воспользуйтесь следующей командой Dism.exe /online /cleanup-image /StartComponentCleanup и дождитесь окончания операции.

Очистка папки папки WinSxS

Сжатие папки WinSxS

Для сжатия папки WinSxS скачайте и распакуйте этот архив, запустите от администратора файл LOWwinsxs.bat который выполнит процесс компрессии.

Процесс сжатия папки WinSxS

После выполнения всех процедур, нам удалось уменьшить размер папки WinSxS с восьми гигабайт до четырех.

Размер папки WinSxS после очистки и сжатия

В дополнение к этому, можно воспользоваться отличной утилитой CompactGU и сжать тяжелые программы, что позволит еще больше высвободить пространство на системном диске.

  • Как уменьшить размер иконок на компьютере windows 10
  • Как уменьшить размер экрана на компьютере с помощью клавиатуры на рабочем столе windows
  • Как уменьшить папку windows installer
  • Как уменьшить иконки на рабочем столе в windows 10 на ноутбуке
  • Как уменьшить масштаб экрана на ноутбуке с помощью клавиатуры на windows 10 на ноутбуке