Как очистить папку winsxs в windows 8 1

Как уменьшить размер папки WinSxS в Windows 8.1

Содержание

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

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

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

Почему папка 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 8.1

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

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

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

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

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

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

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

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

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

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

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

Это самый оптимальный способ, и после него двумя следующими вы уже ничего не добьетесь.

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

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

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

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

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

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

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

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

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

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

Во времена 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. Например, на момент публикации этой статьи Microsoft выпустила два обновления для встроенного в систему Adobe Flash Player, что видно из журнала установки.

Второе обновление заменило некоторые компоненты Flash Player, а в папке WinSxS сохранились обе версии:

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

И да, для установленных обновлений в списке appwiz.cpl пропадает кнопка «Удалить», потому что откатываться уже некуда

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

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

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

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

Возможно, со временем Microsoft выдаст в документации или блогах команд больше информации о сжатии в Windows 8.1.

Кстати, NTFS-сжатие файлов, не являющихся жесткими ссылками, является единственным способом сокращения объема папки WinSxS, хоть как-то имеющим право на жизнь в предыдущих ОС Windows, хотя даже этот метод не поддерживается>. Читатель блога Александр делился в комментариях ссылкой на свою статью об этом (публикация ссылки не означает, что я рекомендую этот способ или проверял конкретную реализацию).

Читать еще:  Как сделать чтобы отображались скрытые папки

С чем связаны изменения в системе обслуживания 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 удаление предыдущих версий предоставляет запасной аэродром в самых тяжелых случаях.

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

Будьте всегда в курсе, подпишитесь:

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

Я быстро исследовал жёсткий диск программой «Scanner» и обнаружил, что 5 ГБ свободного пространства на диске «съела» папка WinSxS, после этого она стала занимать рекордный размер — 21 ГБ.

  • Примечание: Начиная с Windows 10, сброс системы к исходному состоянию (заменивший откат к заводским настройкам) происходит также с помощью компонентов из папки WinSxS

В моём случае папка весит довольно много 21 ГБ.

Открываем командную строку от имени администратора и вводим команду:

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore (данная команда произведёт анализ папки WinSxS)

Судя по результату, сама система рекомендует нам произвести очистку хранилища компонентов.

Очищаем папку WinSxS с помощью командной строки администратора, вводим команду:

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

Папка WinSxS очищена! Интересно, насколько она стала меньше в размере (напомню, что до очистки она занимала размер 21 ГБ)

Производим анализ хранилища компонентов уже знакомой вам командой:

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

Вот и всё. Теперь хранилище компонентов на нашем компьютере занимает 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 в Windows 10, 8.1 и 7

Внимательные пользователи могут обнаружить, что на системном диске в Windows 7, 8.1 и 10 существует довольно большая папка WinSxS, размер которой со временем только возрастает. Что это за папка, что в ней хранится и как её очистить?

Что за папка WinSxS в Windows

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

С Windows 8.1 пришла эра SSD-винчестеров, а также планшетов и трансформеров. Многие пользователи, обладающие лишь 32/64 ГБ внутренней памяти, начали более внимательно следить за состоянием накопителя, и папка WinSxS не могла пройти мимо их внимания. Механизм её заполнения остался тем же — система просто сохраняла все данные об установленных обновлениях, которых через год-другой могло набраться до 15 ГБ. Microsoft, как и пользователи, больше не могла игнорировать подобную тенденцию, и в Windows 8 было добавлено несколько механизмов очистки данной папки.

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

Почему папка WinSxS занимает много места

Как мы уже отметили выше, папка WinSxS становится всё больше и больше с каждым обновлением системы. Но и изначально она не такая уж и маленькая — даже после установки системы объём директории может составлять от нескольких сотен мегабайт до нескольких гигабайт. Почему WinSxS настолько большая и занимает много места?

Во-первых, начиная с Windows 8 папка WinSxS содержит некоторые системные файлы и компоненты, в том числе критические. Во-вторых, на самом деле папка WinSxS меньше, чем кажется. Дело в том, что в ней содержится множество ссылок на файлы в директории Windows. Проводник, например, считает ссылки, как сами файлы, поэтому реальный объём WinSxS будет отличаться от того, что отображается в её свойствах.

Как удалить папку WinSxS

Никак. Удаление папки приведёт к тому, что ваша система больше никогда не загрузится. Это связано с тем, что в ней хранятся, в числе иных, критические системные файлы.

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

В Windows 7 существует лишь один способ очистки данной папки.

  1. Убедитесь, что у вас установлено обновление KB2852386.
  2. Откройте меню Пуск, далее Все программы.
  3. Найдите папку Стандартные.
  4. Кликните правой клавишей мыши по программе Командная строка и выберите Запустить от имени администратора.
  5. Введите команду cleanmgr и нажмите Enter.
  6. Поставьте галочку Очистка обновлений Windows и нажмите ОК. Если такой галочки не будет, значит, очищать нечего.
  7. Перезагрузите компьютер.

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

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

  1. Нажмите Win + S.
  2. Введите в поисковую строку Командная строка.
  3. Кликните по результату правой клавишей мыши и выберите Запустить от имени администратора.

Разберём, какие цифры что означают.

  • Размер хранилища компонентов по данным проводника — чаще всего некорректный объём папки, который отображает проводник.
  • Фактический размер хранилища компонентов — корректный объём папки, который подсчитан без учёта ссылок на директорию Windows.
  • Совместно с Windows — объём критических системных файлов, содержащихся в папке WinSxS.
  • Резервные копии и отключенные компоненты — объём файлов, предназначенных для отката компонентов до предыдущих версий, а также для активации отключенных компонентов. Некритично для работы системы.
  • Кэш и временные данные — объём файлов, которые используются для ускорения работы системы. Некритично для её работы.

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

В командной строке также будут доступны данные о дате последней очистке и рекомендация, осуществлять ручную очистку или нет. Впрочем, вы сами можете решить, нужно ли её проводить — вреда от неё не будет.

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

Способы очистки папки WinSxS в Windows 8.1 и Windows 10 одинаковы, будут работать в каждый операционной системе. Всего их существует четыре:

  • С помощью утилиты Очистка диска. Этот процесс аналогичен очистке папки в Windows 7. Он может быть не очень точным — ошибки в оценке размера удалённых или сжатых файлов иногда составляют несколько сотен мегабайт.
  • С помощью механизма DISM. Этот способ будет наилучшим.
  • С помощью DISM с удалением предыдущих версий компонентов. Вы не сможете откатить обновления компонентов или вернуться к предыдущей версии системы, но будет освобождено больше места.
  • С помощью утилиты Планировщик заданий. Работает она почти так же, как DISM, но иногда может не запуститься. Кроме того, временные файлы, созданные в последние 30 дней, не удаляются. Можно также настроить автоматическую очистку.

Разберём их по очереди.

Как очистить папку WinSxS в Windows 10 и 8.1 с помощью утилиты Очистка диска

  1. Нажмите Win + S.
  2. Введите в поисковую строку Командная строка.
  3. Кликните по результату правой клавишей мыши и выберите Запустить от имени администратора.

Очистка WinSxS в Windows 10 и 8.1 с помощью DISM

  1. Нажмите Win + S.
  2. Введите в поисковую строку Командная строка.
  3. Кликните по результату правой клавишей мыши и выберите Запустить от имени администратора.

Как очистить WinSxS в Windows 10 и 8.1 при помощи DISM с удалением предыдущих версий компонентов

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

  1. Нажмите Win + S.
  2. Введите в поисковую строку Командная строка.
  3. Кликните по результату правой клавишей мыши и выберите Запустить от имени администратора.

Очистка папки WinSxS в Windows 8.1 и Windows 10 с помощью утилиты Планировщик заданий

Как мы уже отметили выше, этот механизм почти аналогичен DISM. Приятное дополнение — возможность настройки автоматического запуска чистки.

  1. Нажмите Win + S.
  2. Введите в поисковую строку Планировщик заданий.
  3. Запустите утилиту.
  4. Перейдите в ветвь Библиотека планировщика заданий — Microsoft — Windows — Servicing.
  5. Справа будет находиться задача StartComponentCleanup.

Вы можете просто запустить задачу прямо сейчас:

  1. Кликните по задаче правой клавишей мыши и выберите пункт Выполнить.
  2. После окончания процесса перезагрузите устройство.

Вы также можете настроить автоматическое выполнение, например, когда компьютер не используется:

  1. Кликните по задаче правой клавишей мыши и выберите пункт Свойства.
  2. Настройте автоматический запуск механизма с помощью параметров во вкладке Условия.
  3. Вы можете указать дополнительные параметры выполнения ещё и во вкладке Параметры.
  4. Нажмите ОК.

Теперь вы знаете, зачем нужна папка WinSxS, почему она такая большая, и как очистить её в Windows 7, Windows 8.1 и Windows 10.

Вадим Стеркин

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

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

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

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

Сначала я обозначу два вопроса, которые сильнее всего волнуют людей в контексте папки 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

С чем связаны изменения в системе обслуживания 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.

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

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

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Об авторе

Вадим является владельцем этого блога, и большинство записей здесь вышло из-под его пера. Подробности о блоге и авторе здесь.

Вас также может заинтересовать:

Подпишитесь на бесплатные уведомления о новых записях и получите в подарок мою книгу об ускорении загрузки Windows!

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

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

Я быстро исследовал жёсткий диск программой «Scanner » и обнаружил, что 5 ГБ свободного пространства на диске «съела» папка WinSxS, после этого она стала занимать рекордный размер — 21 ГБ .

  • Примечание : Начиная с Windows 10, сброс системы к исходному состоянию (заменивший откат к заводским настройкам) происходит также с помощью компонентов из папки WinSxS

В моём случае папка весит довольно много 21 ГБ .

Открываем командную строку от имени администратора и вводим команду:

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore ( данная команда произведёт анализ папки WinSxS)

Судя по результату, сама система рекомендует нам произвести очистку хранилища компонентов.

Очищаем папку WinSxS с помощью командной строки администратора, вводим команду:

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

Папка WinSxS очищена! Интересно, насколько она стала меньше в размере (напомню, что до очистки она занимала размер 21 ГБ )

Производим анализ хранилища компонентов уже знакомой вам командой:

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

Вот и всё. Теперь хранилище компонентов на нашем компьютере занимает 7.74 GB! Размер папки уменьшен в три раза.

Друзья, папку WinSxS можно ужать ещё. Дело в том, что у параметра /StartComponentCleanup есть дополнительный ключ /ResetBase, с помощью которого можно удалить все замененные версии для всех компонентов в хранилище компонентов. Вводим команду:

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

Теперь наша папка WinSxS стала ещё меньше 6,85 ГБ!

Очистка папки WinSxS с помощью встроенной в Windows утилиты «Очистка диска»

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

Возьмём компьютер, где папка WinSxS занимает размер 20 ГБ.

Щёлкаем на диске (C:) правой кнопкой мыши и выбираем «Свойства», выбираем вкладку «Общие» и жмём на кнопку «Очистка диска»

«Очистить системные файлы »

Первый пункт в данном окне «Очистка обновлений Windows », как раз отвечает за очистку хранилища компонентов. Всего может быть очищено 3,63 ГБ.

Жмите « ОК » и папка WinSxS будет очищена.

PS. При операции очистки папки WinSxS с помощью командной строки у вас может выйти ошибка «Хранилище компонентов повреждено. Ошибка: 14098», что делать в этом случае, читайте в следующей статье.

Ссылка на основную публикацию
Adblock
detector