Папка «winsxs» — для чего она нужна и как ее чистить?

Казалось бы, две большие статьи об оптимизации папки WinSxS в Windows 8 должны были исчерпать тему. Но Microsoft внезапно решила порадовать и владельцев Windows 7, для которых я публикую этот рассказ.

Несмотря на многочисленные предостережения, обладатели Windows 7 с маленьким сами знаете чем не оставляют попыток почистить папку WinSxS кривыми способами. Вот вам свеженький пример убийства Windows 7 участником конференции OSZone под ником… xaker 7

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

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

  • Как очистить папку WinSxS в Windows 7
  • Совет перед очисткой
  • Инструкции
  • Как работает очистка папки WinSxS в Windows 7
  • Как автоматизировать очистку папки WinSxS
  • Вопросы и ответы
    • Удалится ли папка WinSxS после очистки?
    • Что конкретно удаляется?
    • Сколько места освободится? Почему у других удалилось 6GB, а у меня ничего???
    • Как определить, сжимаются ли файлы в папке WinSxS в процессе оптимизации
    • Почему не работает команда DISM /Online /Cleanup-Image /StartComponentCleanup?
  • Дискуссия
  • Как очистить папку WinSxS в Windows 7

    8 октября 2013 года вышло рекомендуемое

    обновление KB2852386 только для всех изданий Windows 7 SP1, прошедших проверку подлинности. Оно добавляет долгожданную функцию в утилиту «Очистка диска».

    Совет перед очисткой

    Я думаю, что вы захотите узнать, сколько места сэкономила очистка. Поэтому сейчас откройте


    (а не папки winsxs) и запишите объем свободного пространства (в байтах) или просто сделайте скриншот.

    Инструкции

    Они предельно просты:

    1. Установите обновление KB2852386 посредством Windows Update (рекомендую) или скачайте в IE
      пакет из статьи базы знаний.
    2. Выполните cleanmgr
      в командной строке, запущенной от имени администратора (так будет быстрее).
    3. Найдите в списке опцию «Очистка обновлений Windows».


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

    4. Нажмите ОК
      и наберитесь терпения, потому что операция займет некоторое время.
    5. По окончании очистки перезагрузитесь и посмотрите в свойствах диска, сколько места освободилось.

    Перед чисткой

    Перед тем как очистить WinSxS, надо скачать один апдейт (если он ещё не установлен).

    • Зайдите в Пуск — Программы — Центр обновлений.

    Центр обновлений Windows

    • Нажмите на «Необязательные обновления». Если такого пункта там нет, значит, все службы уже загружены.
    • В списке найдите апдейт с номером «KB2852386».
    • Отметьте его галочкой и подтвердите установку.

    Без этого обновления очистка WinSxS будет недоступна. Его можно скачать и с официального сайта Майкрософт.

    1. Зайдите на com.
    2. В строке поиска справа сверху введите «KB2852386».
    3. Выберите апдейт, который подходит для вашей системы: 32- или 64-разрядной.
    4. Чтобы узнать информацию об ОС, кликните правой кнопкой мыши на значке «Мой компьютер», затем на пункт «Свойства». В строке «Тип» будет указана разрядность Windows.

    Как работает очистка папки WinSxS в Windows 7

    Я очень

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

    Реализация

    Обновление KB2852386 заменяет всего один файл — Scavengeui.dll, в котором реализована вся работа по очистке. Фактически, в утилиту «Очистка диска» добавили вызов функции DISM, доступной в более новых ОС при использовании в утилите DISM.exe параметра /StartComponentCleanup

    (но не дополнительного ключа /ResetBase).

    Так, при каждом запуске утилиты «Очистка диска» в папку %LocalAppData%\Temp\{GUID} зачем-то копируется содержимое папки %WinDir%\System32\DISM (причем временная папка не удаляется после завершения операции). После чего с помощью обновленной DLL осуществляется программный вызов функции глубокой очистки непосредственно из утилиты. Впрочем, копирование папки DISM наблюдалось еще до выхода KB2852386.

    Неясности

    Есть основания полагать, что алгоритм очистки в Windows 7 не совсем такой же, как в Windows 8 и выше с ключом /StartComponentCleanup. В частности, у меня и у читателей пока не выявилось сжатия файлов, несмотря на идентичность текстового описания в утилите cleanmgr. Проверьте у себя и напишите в комментариях!

    Еще один непонятный нюанс — это загадочная фраза в статье базы знаний (перевод – мой):

    Therefore, after you run the Disk Cleanup wizard, you may be unable to roll back to a superseded update. После очистки диска у вас может не быть возможности откатиться к обновлению, замененному более свежим.

    И нигде не объясняется, от чего зависит эта возможность :) В моем эксперименте у всех обновлений возможность удаления сохранилась, как и должно быть при использовании ключа /StartComponentCleanup в Windows 8 и новее. Возможно, со временем конкретика и появится…

    Наконец, не совсем понятно, что мешало реализовать это раньше, и почему обновление появилось именно сейчас. Кстати, перенос очистки в утилиту DISM.exe Windows 7 пока не планируется, что не позволяет обрабатывать автономные образы. Возможно, такой перенос вскрывает целый пласт вопросов поддержки, связанных с обслуживанием образов.

    Подробнее о папке

    WinSxS находится в корневой директории ОС (обычно это C:Windows) во всех современных Win, начиная с 7 версии. Файлы и каталоги, которые находятся там, нужны для работы операционной системы. Если их убрать, изменить, переместить или переименовать, могут возникнуть серьёзные проблемы. В лучшем случае появятся ошибки. В худшем — Виндовс больше не запустится. И придётся её восстанавливать. Поэтому перед тем как очистить какую-то системную директорию, убедитесь, что это не повредит ОС и не вызовет критических сбоев. И чтобы понять, можно ли удалить WinSxS, надо разобраться, для чего она нужна.

    Как автоматизировать очистку папки WinSxS

    В Windows 8 очистка возложена на отдельное запланированное задание, а в крайнем случае можно воспользоваться утилитой командной строки DISM.exe. В Windows 7 единственный доступный пока способ заключается в создании настроенной конфигурации утилиты «Очистка диска» и добавления полученной команды в планировщик.

    В командной строке, от имени администратора, выполните:

    :: настройка очистки папки winsxs REG ADD «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Update Cleanup» /v StateFlags0088 /t REG_DWORD /d 2 /f :: (необязательно) настройка очистки временных файлов (в частности зачищает временную папку dism) REG ADD «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Temporary Files» /v StateFlags0088 /t REG_DWORD /d 2 /f :: создание запланированного задания «CleanupWinSxS» schtasks /Create /TN CleanupWinSxS /RL Highest /SC monthly /TR «cleanmgr /sagerun:88»

    Запланированное задание «CleanupWinSxS» будет выполняться 1го числа каждого месяца, удаляя файлы, замененные обновлением, вышедшим во второй вторник предыдущего месяца. Число и время запуска вы можете изменить в библиотеке планировщика заданий (taskschd.msc). Для успешного выполнения задания необходимо наличие у пользователя прав администратора.

    Как узнать, установлен ли SP1?

    Именно в Windows 7 SP1 появился доступ к Win SxS. В предыдущих версиях Win очистка этой папки была невозможна. Чтобы посмотреть, есть ли этот пакет в ОС:

    1. Зайдите в «Панель управления» (к примеру, через меню «Пуск»).
    2. Откройте параметр «Система» в категории «Система и безопасность».
    3. В поле «Издание» должна быть информация: версия OS, копирайт Microsoft, год создания. Если там есть строчка «Service Pack 1», значит, всё в порядке и каталог можно редактировать.

    Service Pack 1 в Windows 7

    Вопросы и ответы

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

    Не удается скачать обновление KB2852386. Что делать?

    Качать с помощью Windows Update, как я сразу советую в статье. Обновление будет в списке рекомендуемых.

    Если вы пытаетесь скачать в браузере и получаете ошибку «Эта версия средства проверки Windows Geniune Advantage более не поддерживается…», убедитесь что:

    1. Для закачки используется Internet Explorer
    2. В Internet Explorer разрешена установка дополнений / элементов ActiveX

    При соблюдении этих двух условий средство проверки подлинности не скачивается на ПК, а устанавливается в качестве надстройки браузера и выполняет валидацию.

    Это — все официальные способы получения обновления, и другие здесь рассматриваться и обсуждаться не будут.

    Удалится ли папка WinSxS после очистки?

    Нет, но число подпапок и файлов в ней уменьшится, а следовательно и ее объем.

    Что конкретно удаляется?

    Неиспользуемые файлы обновлений. Эти файлы не участвуют в работе системы, потому что вместо них уже используются файлы из более свежих обновлений.

    Сколько места освободится? Почему у других удалилось 6GB, а у меня ничего???

    Объем удаленных файлов зависит от сочетания трех факторов:

    1. Дата установки SP 1 или Windows 7 с SP1
      , от которого в любом случае ведется учет установленных обновлений. Чем дольше установлена система, тем больше количество и объем предыдущих версий файлов в WinSxS.
    2. Частота обновления компонента
      . Например, волны ошибки 0xc0000005 связаны с тем, что файлы ядра обновлялись три месяца подряд. При этом после каждого обновления в WinSxS сохранялась предыдущие версии файлов.
    3. Регулярность установки обновлений
      . Продолжая пример, если автоматическое обновление только что включили после трехмесячного перерыва, в winsxs осядет только один набор файлов, а не три.

    Я попробую объяснить на пальцах, максимально упростив технические подробности и сделав некоторые допущения. Представьте, что Microsoft выпускает раз в два месяца обновление файла asdf.dll. Рассмотрим трех пользователей:

    • Михаил
      установил Windows 7 с SP1 (сразу после его выхода)
      в феврале 2011
      года и
      включил автоматическую установку обновлений
      . К октябрю 2013 года вышло 15 обновлений, заменяющих файл asdf.dll. Очистка диска удалила 14 ненужных файлов и оставила один из предыдущего обновления, сохраняя возможность отката.
    • Андрей
      установил
      в один день с Михаилом
      , но
      сразу отключил автоматическую установку обновлений
      . Он их ставил вручную, руководствуясь гороскопом, и к октябрю 2013 года сделал это лишь 4 раза. Очистка диска удалила 3 ненужных предыдущих версии файла.
    • Алексей
      регулярно переустанавливает систему, и последний раз он это сделал
      в августе 2013 года
      . К октябрю того же года успело выйти только одно обновление для файла asdf.dll. Очистка диска не удалила ничего, потому что нет предыдущего обновления, к которому можно откатиться.

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

    Так понятно? :)

    Как определить, сжимаются ли файлы в папке WinSxS в процессе оптимизации

    Судя по вопросам и некоторым скриншотам утилиты TreeSize, примеров анализа оказалось недостаточно. Все очень просто: в меню Scan – Select Directory и выберите C:\Windows\WinSxS.

    Папки со сжатыми файлами помечены синим. Пока что я не видел ни одного факта сжатия в Windows 7.

    Почему не работает команда DISM /Online /Cleanup-Image /StartComponentCleanup?

    Потому что она для Windows 8 и новее. В Windows 7 используйте очистку диска, следуя инструкциям этой статьи.

    Продолжение следует…

    Удаление компонентов Windows

    Windows 8, 10 позволяют включить, отключить компоненты ОС Windows. Эти функции расположены в панели управления в разделе «программы».

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

    Запустите cmd с привилегиями админа. Введите команду ниже, затем нажмите Enter:

    DISM.exe /Online /English /Get-Features /Format:Table

    Командная строка построит таблицу имен компонентов, а так же их состояний. Запомните название удаляемого компонента и используете такую команду:

    DISM.exe /Online /Disable-Feature /featurename:NAME /Remove

    В этой команде Вам необходимо заменить NAME на название вашего компонента. В примере будем удалять DirectPlay.

    Таким образом состояние изменится на пометку Disabled with Payload Removed. Вот такими способами Вы можете очистить папку winsxs в Windows.

    На этом все, теперь Вы знаете winsxs — что это за папка Windows 7, 8, 10 и как делать ее чистку. Рекомендуется в первую очередь использовать первые три способа, хотя к методу с планировщиком заданий можно не прибегать, так как он дублируется, но все на Ваше усмотрение. Удаление компонентов не рекомендуется, потому что много места это не освободит, а удаленные компоненты могут понадобиться в будущем. Вы можете еще очистить папку temp в Windows, для высвобождения дополнительного места на HDD.

    Одной из наиболее массивных папок в Windows 7, которая занимает значительное пространство на диске С, является системный каталог «WinSxS». Кроме того, у него имеется тенденция к постоянному росту. Поэтому у многих пользователей существует соблазн почистить эту директорию, чтобы освободить место на винчестере. Давайте разберемся, какие данные хранятся в «WinSxS» и можно ли чистить эту папку без негативных последствий для системы.

    Дискуссия

    У меня к вам примерно те же вопросы, что и после публикации аналогичной статьи о Windows 8. Но учитывая высокий процент владельцев Windows 7, я ожидаю увидеть больше ответов :)

    Пожалуйста, напишите в комментариях

    :

    1. Получилось ли у вас оптимизировать папку WinSxS
    2. Сколько места вы сэкономили (перевести байты в гигабайты можно так)
    3. Как давно вы установили систему
    4. Подверглись ли у вас файлы в подпапках WinSxS сжатию в рамках очистки (если сжимаются, покажите скриншот TreeSize)

    Если у вас возникли вопросы, я постараюсь ответить на них в комментариях и/или дополнить статью.

    Можно ли удалить WinSxS

    WinSxS является частью операционной системы Windows и так просто удалить ее нельзя. Если же это все-таки сделать, то система перестанет загружаться и вам придётся ее восстанавливать либо делать полную переустановку Windows.

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

    Рейтинг
    ( 2 оценки, среднее 5 из 5 )
    Понравилась статья? Поделиться с друзьями:
    Для любых предложений по сайту: [email protected]