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

winsxs-size.png

Также в 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. Папка хранилища компонентов будет проанализирована и вы увидите сообщение о необходимости ее очистки. dism-clean-winsxs-status.png
  3. Введите команду Dism.exe /online /cleanup-image /StartComponentCleanup и нажмите Enter для запуска автоматической очистки папки WinSxS. 

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

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

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

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

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

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

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

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

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

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

Помимо этого, в 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

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

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

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

Windows 10 – удобная и быстрая на всех видах устройств система, однако, непомерно тяжёлая для внутренней памяти компьютера.

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

Как уменьшить размер Windows 10 на жестком диске

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

Начнём с наиболее сложных, и затем перейдём к простым опциям настройки устройства, предусмотренным в ОС.

Используя сжатие системных файлов

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

Воспользуемся сжатием системных файлов

Этот инструмент называется «Compact OS», и его работа заключается в том, чтобы «сжимать» файлы системы подобно процессу архивирования данных для того, чтобы они занимали много места.

Процесс запуска такого сжатия следующий:

  1. Для начала необходимо запустить командную строку. Сделать это легче всего с помощью быстрого поиска на панели управления (иконка с изображением лупы).
  2. Набираем в поле поиска «Командная строка», и система сразу же отобразит её в выдаче. Через контекстное меню (правая кнопка мышки) запускаем средство от имени администратора. Набираем в поле поиска «Командная строка»
  3. В запущенной командной строке необходимо самостоятельно ввести следующую команду – «compact /compactos:always». В командной строке вводим команду

Система запустит сжатие всех файлов. Данный процесс может занять около 20 минут или больше, в зависимости от объёма данных системы.

В результате объём, занимаемый ОС станет меньше на полтора-два гигабайта.

Удаление лишних файлов

Ещё более лёгкий и быстрый способ, который выполняется без дополнительных инструментов. Однако, и размер занимаемого системой пространства уменьшится не сильно.

Удалить ненужные и промежуточные данные (временные файлы), которые накопились в системе за всё время использования можно достаточно просто:

  1. Открываем пункт настройки параметров в меню «Пуск». Открываем пункт настройки параметров в меню «Пуск»
  2. В главном интерфейсе настройки запускаем иконку «Система», где собраны все настройки для функционирования ОС. Запускаем иконку «Система»
  3. В данном меню настроек системы нужно в боковой панели разделов опций выбрать пункт «Хранилище», где, собственно, и находятся подлежащие удалению файлы. В этом разделе выбираем место «Этот компьютер». В пункте «Хранилище» выбираем место «Этот компьютер»
  4. Запустится информация о использовании памяти системой, и кнопки дополнительных функций. Нужно пролистать до конца страницы и нажать на специальную функциональную кнопку «Временные файлы», которая управляет хранением этих ненужных теперь элементов. Нажимаем на специальную функциональную кнопку «Временные файлы»
  5. В данном меню можно просмотреть свойства хранимых в дополнительных расположениях файлов и очистить от них компьютер. Здесь же можно удалить временные файлы, нажав соответствующую кнопку в верхней части списка. Нажимаем на все пункты, чтобы очистить компьютер

Очистка диска

Узнайте эффективные методы очистки диска в нашей новой статье — «Как почистить диск С на Виндовс 10».

Этот способ предусматривает использование стандартных средств самоочистки Windows, заложенных разработчиком в саму систему.

Очистить весь диск с системой можно следующим образом:

  1. Прежде необходимо открыть свойства диска «С» в меню «Этого компьютера» в системе «Проводника». Это можно сделать, запустив правой клавишей подменю, и выбрав соответствующий пункт в самом низу списка. Открываем свойства диска «С» в меню «Этого компьютера» в системе «Проводника»
  2. Компьютер запустит особое небольшое окно свойств этого диска. Необходимо перейти на вкладку «Общие» (хотя система зачастую как раз сразу же и открывает окно на этом пункте). Здесь, возле диаграммы состояния емкости диска нажимаем на кнопку «Очистка диска». Переходим на вкладку «Общие» возле диаграммы состояния емкости диска нажимаем на кнопку «Очистка диска»Здесь система не сразу запустит необходимый инструмент. В этот момент необходимо немного подождать, пока компьютер проиндексирует (соберёт информацию) лишние файлы, которые не нужны системе, пользователям или программам и больше нигде не задействуются.
  3. В результате, откроется окно очищения диска. Тут в небольшом окошке можно выбрать элементы, которые можно удалить. Так как данные файлы зачастую не являются критически важными, желательно поставить метки на всех типах. После этого можно нажать «ОК» и запустить процесс очистки, или удалить ещё и дополнительные компоненты. Нажимаем «ОК» и запускаем процесс очистки
  4. Чтобы освободить больший объём памяти от системных файлов, нужно в том же окне нажать на кнопку функции очищения системных файлов. Система снова проведёт «ревизию», и создаст ещё одну вкладку в окне чистки – «Дополнительно». Здесь одним кликом можно очистить систему от её устаревших копий отката, а также от неиспользуемых программ.

Нажимаем на кнопку функции очищения системных файлов

Удаление кэша обновлений

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

Последовательность действий выглядит так:

  1. Первые шаги – выключение функционирования Центра обновлений системы. Используя инструмент главной панели «Поиск» ввести «services.msc», и запустить найденный документ конфигураций. В панели «Поиск» вводим «services.msc» и запускаем найденный документ конфигураций
  2. В окне, которое сразу же откроется системой, найти параметр управления «Центром обновления системы», и открыть его, кликнув дважды. Открываем параметр управления «Центром обновления системы»
  3. Будет запущено дополнительное окно для настройки свойств конкретного параметра. В центральной вкладке, под характеристикой состояния текущего процесса, нажать на опцию «Остановить», затем подтвердив своё действие внизу окна. В центральной вкладке нажимаем на опцию «Остановить»
  4. Через основную папку Проводника («Этот компьютер») открыть поочерёдно следующие папки: «Windows», основную папку с системой и всеми, связанными с ней файлами. «SoftwareDistribution», папку с настройками и ПО для управления возможностями новых компонентов системы. «Download» – особую папку загрузок для скачиваемого программного обеспечения. Переходим по указанному пути
  5. В отрывшейся папке загрузок открыть пункт верхней панели «Файл», и в подменю среди прочих элементов отладки выбрать опцию настройки параметров папок. Открываем «Файл» и выбираем опцию настройки параметров папок
  6. После запуска окна параметров, перейти в подпункт «Вид», и в поле дополнительных параметров выставить состояние для скрытых элементов «Показывать скрытые файлы». Также, для очистки большего объёма информации, снять галочку возле пункта скрытия особых защищённых файлов. В подпункте «Вид» и в поле дополнительных параметров выставляем «Показывать скрытые файлы» и снимаем галочку возле пункта «Скрытия особых защищённых файлов»
  7. Затем, выделить абсолютно все файлы загруженных обновлений в папке и удалить их, очистив таким образом все устаревшие, неисправные и занимающие место файлы обновлений. Выделяем все файлы загруженных обновлений в папке и удаляем их
  8. Когда процесс удаления завершён, для нормального функционирования системы необходимо снова запустить средство обновления ОС. Для этого – заново открываем окно свойств этого компонента (см. предыдущие пункты), и в главной вкладке «Общие», под индикатором состояния жмём «Запустить». В главной вкладке «Общие», под индикатором состояния жмём «Запустить»

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

Видео — Как уменьшить размер Windows 10 на жестком диске

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

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

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

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

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

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

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

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

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

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

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

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

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

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

Увеличить рисунок

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

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

Дата последней очистки хранилища. Об очистке во всех подробностях ниже.</li>Число пакетов, замененных более новыми, и рекомендация по очистке. Фактически, это – файлы, которые обновились после работы Windows Update. Их можно удалить очисткой хранилища.</li>

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

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

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

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

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

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

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

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

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

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

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

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

Увеличить рисунок

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

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

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

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

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

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

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

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

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

Увеличить рисунок

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

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

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

Однако в официальной документации практически нет информации о том, что с целью экономии дискового пространства для хранилища компонентов в 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 и Windows 8.1, причинах его постоянного роста и способах очистки. Каталог C:windowsWinSxS является хранилищем компонентов Windows. В этом каталоге хранятся dll библиотеки, бинарные и xml файлы, необходимые для установки и работы той или иной роли ОС Windows. При установке обновлений Windows (это происходит ежемесячно), новая версия обновляемого компонента устанавливается в систему, а старая сохраняется в хранилище WinSxS (это необходимо для обеспечения совместимости и возможности «отката» на старые версии компонентов при удалении проблемного обновления).

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

catalog-WinSxS-v-vwindows10.jpg

Самым естественный способ уменьшить размер папки WinSxS в Windows 10 и Windows 8 — удалить из системы старые версий компонентов, оставшиеся после обновления системы. Для этого используется стандартный мастер очистки диска cleanmgr или специальные опции команды DISM (см. ниже).

Совет. В Windows 7 SP 1 возможность удаления старых файлов обновлений для очистки диска доступна только после установке отдельного обновления — KB 2852386.

Как узнать реальный размер папки WinSxX в Windows 10 / 8.1

Еще одной особенностью папки WinSxS является наличие в ней большого количества так называемых hard links (жестких символьных ссылок). Жесткая ссылка представляет собой полностью равноправный оригинальному указатель на файл. Т.е. указатель и исходный файл могут иметь разные имена и находиться в пределах одного раздела в разных каталогах, но реально указывать они будут на один и тот же объект. Именно из-за наличия жестких ссылок, которые включаются в расчет общего размера каталога, файловые менеджеры (и в том числе Windows Explorer) показывают несколько преувеличенный размер папки WinSxS. Узнать реальный (без учета жестких ссылок) размер папки WinSxS можно с помощью утилиты SysInternal du:

 du -v c:windowswinSXS

get-winsxs-size.jpg

Так же вы можете проанализировать размер хранилища компонентов (папку WinSxS) с помощью команды DISM:

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

Dism.exe-Cleanup-Image-AnalyzeComponentStore.jpg

Разберемся, что возвращает данная команда:

Размер хранилища компонентов по данным проводника : 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. И хотя некоторые попытки удаления файлов из папки WinSxS могут быть удачными, рекомендовать этот способ с точки зрения потенциальной опасности для системы нельзя.

Остановимся на наиболее безвредных с точки зрения системы способах очистки папки WinSxS в Windows 10 и Windows 8.1. Это:

  • Удаление старых версий компонентов, оставшихся после установки обновлений;
  • Технология Features on Demand (функции по требованию), позволяющая удалить неиспользуемые компоненты Windows с диска;
  • Сжатие файлов в папке WinSxS – способ уменьшить размер каталога WinSxS за счет NTFS компрессии ее содержимого.

Для достижения максимального результата все три способа можно использовать совместно.

Очистка хранилища компонентов (папки WinSxS ) в Windows 10 / 8.1

На мой взгляд самый быстрый и простой способ очистить место в хранилище компонентов (т.е. очистить папку WinSxS), удалив старые версии компонентов – выполнить команду:

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

Dism.exe-Cleanup-Image-StartComponentCleanup.jpgУ параметра /StartComponentCleanup есть дополнительная опция /ResetBase, позволяющая удалить все предыдущие версии компонентов (после этого вы не сможете удалить установленные обновления или Service Pack, а в панели обновлений appwiz.cpl у обновления пропадет кнопка «Удалить»). Полностью команда выглядит так:

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

Также вы можете удалить устаревшими обновления из мастера «очистки диска». Выполните команду cleanmgr c правами администратора.

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

cleanmgr-win10.jpg

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

udalenie-failov-starih-obnovleniy.jpg

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

Кроме того, в планировщике Windows 10 есть специальное задание автоматического обслуживания, которое выполняет ту же самую операцию, что и dism с ключом StartComponentCleanup, удаляя все устаревшие обновления старше 30 дней. Это задание с именем StartComponentCleanup находится в разделе MicrosoftWindowsServicing.

zadanie-planirovshika-StartComponentCleanup.jpg

Функции по требованию в Windows 10 и 8.1

В статье «Безопасная очистка папки WinSxS в Windows Server 2012» мы рассмотрели функцию Features on Demand (функции по требованию), предоставляющую возможность удаления бинарных файлов неиспользуемых ролей из каталога WinSxS. Для удаления с диска неиспользуемых ролей существует специальный командлет Powershell — Uninstall-WindowsFeature. Однако в случае с Windows 10 и 8.1 не все так просто. Дело в том, что командлет Uninstall-WindowsFeature в этих версиях Windows отсутствует. А технология Features on Demand реализуется только с помощью DISM или командлета DISM PowerShell. Кроме того, важно знать, что команда DISM, в отличии от командлета Uninstall-WindowsFeature, не анализирует зависимости пакетов друг от друга.  Так что при удалении пакета Windows с помощью DISM будет удален только указанный в команде компонент, а все зависимые от него пакеты останутся в системе. Именно по этой причине для удаления ролей с диска в Windows Server 2012 не стоит использовать DISM, т.к. есть гораздо более удобное и функциональное средство.

Полный список доступных функций в образе Windows 10 /8.1 можно получить с помощью команды:DISM.exe /Online /English /Get-Features /Format:TableDISM.exe-Get-Features.jpg

Предположим, например, что компонент TelnetClient в дальнейшем нам не понадобится. Удалим этот компонент с диска (по сути из каталога WinSxS) командой:DISM.exe /Online /Disable-Feature /Featurename:TelnetClient /Remove

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

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

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

Еще один способ уменьшения размера каталога WinSxS в Windows 10 / 8.1 – сжать содержимое каталога на уровне файловой системы 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
  4. Назначим себя владельцем папки WinSxS и всех вложенных каталогов:
    takeown /f "%WINDIR%WinSxS" /r
  5. Предоставим своей учетной записи полные права на каталог WinSxS:
    icacls "%WINDIR%WinSxS" /grant "%USERDOMAIN%%USERNAME%":(F) /t
  6. Выполним сжатие каталог WinSxS и всего его содержимого с помощью команды compact. Часть файлов может использоваться системой, поэтому если запустить команду без параметра /i, сжатие будет остановлено на первом же файле, используемом в настоящий момент системой. С помощью Process Explorer можно найти имя процесса, открывшего данный файл (CTRL+F) и завершить его. Такой подход к сжатию очень трудоемкий. Мы лишь ограничимся сжатием неиспользуемых файлов (в Windows 10 можно использовать более прогрессивное LZX сжатие):
    compact /s:"%WINDIR%WinSxS" /c /a /i *
  7. Восстановим владельца каталога WinSxS, вернув TrustedInstaller:
    icacls "%WINDIR%WinSxS" /setowner "NT SERVICETrustedInstaller" /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 за счет сжатия уменьшился с 5,8 Гб до 4 Гб (примерно на треть). Неплохо, особо для небольшого по размеру SSD-диска, место на котором стоит достаточно дорого.

На что может повлиять сжатие каталога WinSxS.

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

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

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

Примечание. В сети гуляет еще один скрипт, позволяющий уменьшить размер папки WinSxS —   WinSxSLite (от Christian Bering Boegh ). Данный скрипт согласно информации разработчика ищет на диске самые последние файлы библиотек и создает ссылки на них со всех предыдущих версий и удаляет неактуальные версии. Считаем необходимым отговорить наших читателей от использования скрипта WinSxSLite, т.к. несмотря на довольно толковую идею, результат его выполнения является непредсказуемым, и, несмотря, на уменьшение размера каталога WinSxS, часть функционала Windows перестает работать.Используемые источники:

  • https://remontka.pro/winsxs-windows/
  • https://pc-consultant.ru/rabota-na-komp-yutere/kak-umenshit-razmer-windows-10-na-zhestkom-diske/
  • http://www.outsidethebox.ms/15272/
  • https://winitpro.ru/index.php/2013/08/07/kak-umenshit-razmer-papki-winsxs-v-windows-8/

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий