За что отвечает папка winsxs. Можно ли очищать содержимое WinSxS? Уменьшаем размер папки winsxs

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

С этими файлами у нас есть возможность до обновления.

Но есть проблемка, пройдет время, и эта папка будет занимать достаточно много места на диске. Но мы можем ее удалить стандартными средствами. Некоторые возможно возразят: «зачем удалять эту папку, если можно потом все восстановить и не мучатся». На самом деле я Вас не призываю к подобным действиям, это лишь рекомендация и решать Вам удалять эту папку или нет.

Итак, как же очистить папку WinSxS? Рассматривать мы будем способы в Windows 7 и 8. Начнем.

Кстати, кто не знает, папка находится по пути: С:\Windows\WinSxS , но это у меня такой путь. И весит это папка у меня 6 Гб, достаточно много я Вам скажу.

Чистим папку WinSxS в Windows 7

Для начала нам нужно зайти в Центр обновления. Для этого зайдите в панель управления , либо нажмите Пуск и в поиске внизу введите Центр обновления. Потом нажмите «поиск обновлений».

После нахождения обновлений, выбираете «Необязательные обновления» и найдите там вот это обновление: KB2852386 .

Когда установите его, перезагрузите компьютер.

Теперь нам нужно воспользоваться утилитой очистки диска, найдите ее также в поиске в меню пуск.

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

А потом ставим галочку на «файлы резервной копии пакета обновлений» может быть написано «Очистка обновлений windows» . Нажимаете ОК и радуетесь.

Чистим папку WinSxS в Windows 8

Также инструкция выше подойдет к операционной системе Windows 8 и Windows 8.1. Мы примерно также можем удалить папку WinSxS, как и в первом случае.

Вводим в поиске очистка диска, запускаем ее, нажимаем на Очистка системных файлов , а потом находим Очистка обновлений Windows или что-то похожее и ставим галочку, нажимаем ОК.

Но в Windows 8.1 есть еще один способ.

Запускаем командную строку от имени администратора, для этого нажмем комбинацию Win+X и находим: Командная строка (Администратор) .

Теперь вводим следующую команду:

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

Если хотите посмотреть, сколько точно весит папка WinSxS, то можно воспользоваться командой ниже:

dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

На этом все, задавайте свои вопросы в комментариях.

Многие обладатели Windows Vista и 7 наверняка сталкивались с тем, что папка Windows c ходом времени разрастается как на дрожжах. Я мирился с этим до тех пор, пока 40-гиговый раздел с системой не начал периодически выдавать мне сообщения о том, что свободное место на нем заканчивается.

Я нашел один чудесный инструмент, магия которого позволяет уменьшить размер папки winsxs без потери производительности/стабильности/данных. Сначала я проделал все описанное под катом на своем домашнем буке, а сейчас для чистоты эксперимента повторю на рабочем.

0. Немножко теории

Вообще о том, как Windows использует пространство системного диска, сказано немало, поэтому здесь буду краток.

pagefile.sys - файл подкачки. Можно отключить при большом размере оперативки, можно отрегулировать размер вручную.

hiberfil.sys - файл, в который сохраняется снимок(снэпшот) оперативной памяти при «засыпании» компьютера. В меню «Очистка диска» кроме всего прочего есть пунктик «Очистка файлов режима гибернации». Если вы этим режимом не пользуетесь, можете очищать. Если же вы регулярно «засыпаете» свой комп/ноут, то, очистив этот файл, вам придется воспользоваться вот этим советом , или попросту ввести в командной строке powercfg -h on && shutdown -r .

Личные папки пользователей (Мои документы, Рабочий Стол, Appdata, Главное меню и проч.) можно безболезненно перенести в другое место как через свойства нужных папок, так и через regedit или групповые политики. Это разговор отдельный, здесь я его рассматривать не буду.

Нужно отметить, что любые апдейты и апгрейды в системе Windows обратимы, то есть установив Vista Service Pack 2 (6.0.6002), вы можете откатиться назад до 6.0.6001, а потом и до исходной сборки. Для того, чтобы сделать все установленные в системе обновления необратимыми, необходимо воспользоваться двумя системными утилитами:
vsp1cln.exe - подметает мусор после установки Vista SP1.
compcln.exe - делает то же самое для SP2.

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

Про папку winsxs разработчиками была написана о том, что мол, это основное хранилище ОС, а все остальные системные файлы - это типа хардлинки, бла-бла-бла..., и да, примите как божий дар то, что со временем размер папки будет только увеличиваться.

1. Подготовка

Windows Vista Business 32-bit.
Сначала я выяснил размер папки winsxs - около 4,5 гигов.
Далее методично были установлены все важные и рекомендуемые обновления по состоянию на 8.10.2009, включая SP1 и SP2. После завршения всех процедур, я скачал чудесный Scanner , чтобы нагляно оценить масштаб бедствия.

Установка обновлений преобразила папку Windows.

Теперь по порядку:
- vsp1cln.exe;
- compcln.exe - работала около пяти минут.

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

2. Winsxslite

Это даже не программа - это.bat файл, уменьшающий размер папки winsxs. Он написан неким Christian Bering Boegh и распространяется «as is», что лично у меня вызвало некоторые подозрения, развеять которые мог лишь успешно отработавший скрипт. По ссылке можно найти последнюю версию скрипта (1.86) с комментариями автора.

Работа скрипта включает две фазы:
1. Поиск в папках Program Files и Windows файлов, идентичных файлам в winsxs.
2. Замена старых версий файла в winsxs жесткими ссылками на более новые версии файла.

Работать можно как с онлайн-системой (то есть с работающей ОС) так и с образом ОС.
Работа с онлайн-системой выглядит так:
- Phase 1 scan;
- Phase 1 apply;
- Перезагрузка;
- Phase 2 scan;

Для работы скрипта используется также конфигурационный файл config.txt, в котором указаны исключения для первой фазы (логи, temp, cache и т.п.), и языковые приоритеты для второй фазы (неиспользуемые файлы локализации заменяются на хардлинки соответствующих файлов других языков), в конфигу по умолчанию прописывается «da-dk=KEEP», что меняется на нужную строку ru-ru=KEEP, uk-ua=KEEP или другую необходимую.

Winsxslite будет работать только при наличии следующего ПО:
- SubInACL v5.2.3790.1180;
- PendMoves v1.1 and MoveFile v1.0 ;
- - Command Line Hardlinks;
- Fcmp v1.6 - автор рекомендует пользоваться именно 1.6;
- MD5File ;
- StringConverter v1.2 .

Все установленные файлы я сложил в папку с winsxslite. Если кому скучно выполнять все процедуры самому, вот ссылка . Там собственно winsxslite, всё необходимое ПО плюс конфиг с исправленным da-dk. Конфиг можно удалить. При первом запуске winsxslite будет создан дефолтный конфиг и help-файл.

3. Результаты

Взглянув на результаты, я понял, что совершил стратегическую ошибку - я взял для теста ноутбук, который почти не использовался в работе. То есть, возраст ОС составлял от силы пару дней, за ноутбуком фактически никто не работал. На домашнем же компе результаты были более ощутимыми. Там папка winsxs похудела гигов на 8, но до тех же самых 14,8.

Как бы то ни было, оба пациента не пострадали, а winsxslite оказался отличным подспорьем в деле уменьшения объема ненасытной винды.

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

P.S. про использование дискового пространство в Win7. Никакие сторонние программы для кастрации системы (типа vLite) не использовались.

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

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

Для чего нужна папка WinSxS

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

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

Как очистить WinSxS в Windows 7/10, чтобы не повредить систему и есть ли вообще необходимость в такой очистке? Последний вопрос вполне резонен, так как истинный размер WinSxS может отличаться от того, что показывает Проводник или другой файловый менеджер.

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

Способы оптимизации WinSxS

Перед тем как приступать к очистке WinSxS, весьма желательно установить её точный размер – а вдруг она занимает не столь много места, как это кажется. Откройте от имени администратора командную строку и выполните такую команду:

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

Анализ займёт некоторое время.

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

Сleanmgr

Самый очевидный способ предполагает использование встроенной утилиты cleanmgr . Запустите её через окошко «Выполнить» и нажмите кнопку «Очистить системные файлы».

Найдите и отметьте пункт «Очистка обновлений Windows» и нажмите «OK». Если оного пункта у вас нет, значит и очищать по большому счёту нечего.

Планировщик заданий

Очистку папки WinSxS можно выполнить и через Планировщик заданий. Откройте этот инструмент командой taskschd.msc , а затем разверните в левой колонке ветку Microsoft – Windows – Servicing .

Выделите задание StartComponentCleanup и нажмите «Выполнить». Кстати, управляемая Планировщиком очистка запускается автоматически через каждые 30 дней в фоновом режиме.

Dism

Недостаток приведенных выше способов состоит в том, что оценка освобождаемого места бывает весьма приблизительной и может варьироваться до нескольких сот мегабайт в обе стороны. Кроме того, при очистке через Планировщик установленные в последние 30 дней обновления игнорируются. Если вы хотите получить более качественные результаты, используйте утилиту Dism . Открыв командную строку или PowerShell с повышенными привилегиями, выполните такую команду:

Dism.exe /online /Cleanup-Image /StartComponentCleanup

Запущенная с этими параметрами Dism делает то же самое, что и cleanmgr, но при этом более точно определяет размер высвобождаемого места.

Чтобы произвести глубокую очистку с удалением архивных файлов компонентов обновлений, используйте такую команду:

Dism.exe /online /Cleanup-Image /SPSuperseded

Помните, однако, что после выполнения этой команды вы больше не сможете откатиться к предыдущей версии Windows 7/10, так как все бекапы будут удалены. К слову, если сохранённых пакетов обновлений не будет найдено, вы получите сообщение как на прилагаемом скриншоте.

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

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

Автоматическая очистка через Планировщик

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

Далее в окне создания действия следует выбрать действие «Запуск программы», в поле «Программа или сценарий» ввести Dism.exe, а в поле «Добавить аргументы» вставить строку (ключи), взятую из приведённых выше команд.

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

Как еще уменьшить размер WinSxS в Windows 7/10

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

Но даже будучи отключёнными, они всё равно находятся на диске, располагаясь как раз в папке WinSxS. Удалив их, можно высвободить на диске немного дополнительного места. Для этого опять будем использовать консольную утилиту Dism. Запускаем от имени администратора командную строку и выполняем для начала такую команду:

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

Тут же в консоли будет выведен список компонентов с указанием их статуса. Disabled означает отключено, Enabled указывает, что компонент задействован. Чтобы удалить ненужный, выполните такую команду:

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

Здесь Name – это имя компонента, взятое из полученного выше списка.

Если утилита попросит выполнить перезагрузку, вводим Y, жмём ввод и перезагружаемся. Компонент будет удалён. Способ надёжный, эффективный, а самое главное безопасный.

И последнее. Злоупотреблять очисткой папки WinSxS не следует. Если её размер не превышает 10 Гб, то с ревизией можно не спешить, да и полученные 2-3 Гб погоды не сделают. Если вам уж так не хватает на системном разделе места, лучше расширить том и не доводить диск до критического заполнения файлами.

Доброго времени суток. На этой недели сайт получил новый рекорд по посещаемости — 5407 уникальных посетителей за день, за что вам большое спасибо. Хоть я последнее время редко пишу, но сайт еще растет:)

Теперь же поговорим о нашей проблемы. Что же такое эта папка WinSxS? Эта папка в которой хранятся файл обновлений и компонентов Windows. Почему она так много весит? Хм… На самом деле она весит гораздо меньше:) В эту папку проецируются файлы из папок Windows, System32 с помощью , именно поэтому все файловые менеджеры показывают такой большой размер — они не видят разницу между настоящими файлами и символьными ссылками. Исходя из этого же, крайне не рекомендуется лезть в эту папку через проводник и пытаться удалить все в ручную. Есть несколько стандартных средств, которые помогут безопасно и качественно очистить эту папку. И, кстати, по мере установки обновлений она постоянно растет, поэтому рекомендуется периодически повторять данные действия. Кстати, рекомендую использовать способ №2.

Способ №1. Очистка обновлений Windows с помощью утилиты «Очистка диска» (так же работает на Windows 7 SP1 с установленным обновлением KB2852386).

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

1) Нам понадобится утилита «Выполнить», поэтому нажимаем сочетание клавиш Win+R и вводим в открывшееся окно cleanmgr.

3) Ждем оценку свободного пространства и жмем кнопку «Очистить системные файлы».

4) Ставим галочку на «Очистка обновлений Windows». И жмем ОК. Пойдет процесс очистки файлов обновлений.

Но так можно удалить только часть файлов, более точную очистку можно произвести с помощью способа №2.

Способ №2. Очистка обновлений Windows, отключенных компонентов и кэша Windows, хранящихся в папке WinSxS с помощью утилиты DISM. (Рекомендую)

Данный способ позволяет очистить не только файлы обновлений, но и весь остальной мусор из папки WinSxS.

1) Открываем командую строку от имени администратора, для этого жмем сочетание клавиш Win+X и выбираем «Командная строка (администратор) «.

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

Как видно 4.77Гб из всего занятого находится в папка Windows и никаким образом не являются лишними, так как это файлы необходимые для работы системы. Но вот резервные копии (нужны на случай, если после установки обновлений у вас не загрузиться система) и кэш с временными файлами можно и почистить. Ну и внимательно читаем предпоследнюю строчку «Рекомендуется очистка хранилища компонентов: Да «. Поэтому переходим к следующему шагу.

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

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

Так, при каждом запуске утилиты «Очистка диска» в папку %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

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

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

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

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

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

Дискуссия

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

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

  1. Получилось ли у вас оптимизировать папку WinSxS
  2. Сколько места вы сэкономили (перевести байты в гигабайты можно