Как оптимизировать папку windows

Многие из Вас замечали, что со временем компьютер начинает работать медленнее. Начиная от более длительного ожидания загрузки, до понижения FPS или значительно возросшего времени обработки файлов.

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

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

Большую часть кэша, но не весь, если он уже не нужен Windows удаляет сама, но некорректное завершение работы, сбои в системе и многое другое не дают это сделать в полном объеме. И он продолжает копиться замедляя тем самым скорость работы и отнимая ценные гигабайты памяти на диске.

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

В поиске Windows набираем “Очистка диска”.

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

Переживать не стоит, все важные файлы операционная система даже не тронет. Но обращаю внимание, что при установки галочки на “Предыдущие инсталляции Windows”.

Будут удалены файлы, необходимые для резервного восстановления, которые могут занимать до 10 ГБ.

Если не интересует, то удаляете. В противном случае можно и сохранить.

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

Следующим шагом нужно зайти в “Параметры” и открыть вкладку “Система”.

Здесь нужно зайти в подраздел “Память” и дождаться анализа данных.

После переходим во вкладку “Временные файлы” и также удаляем все ненужное.

Теперь переходим в папку, которая хранит в себе наибольший объем временных файлов системы и программ.

Для этого жмём сочетание клавиш Win+R, в открывшемся меню вводим %temp%.

В папке выделяем все файлы сочетанием клавиш Ctrl+A и жмем Delete.

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

Поступаем аналогичным способом, но теперь в строке “Выполнить” (Win+R) набираем temp без знаков процент. Также выбираем все и удаляем. Используемые в данный момент файлы мы пропускаем.

Следующим обязательным пунктом является удаление временных файлов после обновления Windows. Они хранятся по следующему пути: C:\Windows\SoftwareDistribution\Download

Смело выбираем все файлы и удаляем их.

Точно также поступаем и с файлами из папки “Prefetch”. Здесь хранятся файлы, которые система использует для ускорения загрузки ОС и некоторых приложений. После удаления этих файлов, первая перезагрузка системы будет длиться дольше, но в последующем вы заметите явное ускорение данного процесса. Находится эта папка также в папке Windows (C:\Windows\Prefetch).

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

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

В поиске вводим “создание точки восстановления”.

Выбрать нужно тот диск, на котором включена защита системы. Жмем на кнопку “Настроить” и “Удалить”.

Теперь переходим к созданию новой точки. Ползунком выбираем меньший объем и жмем применить. Рекомендую установить объем в 15% от объема диска и через некоторое время проверить, на сколько использовано хранилище. А в дальнейшем уже отталкиваться от этого объема.

После нужно нажать “Применить”. Вас вернет в предыдущее меню, где нажимаете “Создать”, название можно указать любое.

После длительного использования системы с моменты её установки в ней накапливается DNS кэш со всех сайтов, на который Вы заходили. Из-за этого, загрузки страниц в браузере могут длиться больше, страница может загружаться с ошибк��й или не загружаться вовсе.

Чтобы исправить сложившуюся ситуацию, нужно нажать комбинацию Win+R, в открывшемся меню набрать cmd и нажать Enter.

В командной строке набираем ipconfig/flushdns и нажать Enter.

Должна появится надпись: Кэш сопоставителя DNS успешно очищен.

Немаловажным также будет очистить остаточные данные браузера, которые копятся очень быстро. Ими являются “Cookie (куки) файлы”, история браузера, изображения и другие файлы, которые сохранены в кэше…

На моем примере будет Google Chrome.

Для этого переходим в историю браузера. Быстрее всего открыть историю сочетанием клавиш Ctrl+H и далее нажать “Очистить историю”.

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

Кэш видеокарты хранит в себе предыдущие версии драйверов, копии установочных файлов и т.д.

Чтобы также избавиться и от него, жмем Win+R и вводим %appdata%

Переходим в папку Local, далее NVIDIA.

C:\Users\Имя_пользователя\AppData\Local\NVIDIA\GLCache

Здесь нам нужна папка GLCache, из которой мы также удаляем все файлы.

Для владельцев карт от AMD все еще легче.

Открываем утилиту Adrenalin Edition.

На главной странице открываем настройки и вкладку “Графика”. Листаем в самый низ до расширенных настроек.

Ищем “Сброс кэша шейдеров” и собственно сбрасываем этот кэш.

По итогу всех проделанных действий я смог избавиться от ненужных и неиспользуемых данных и освободить целых 80 ГБ.

Делитесь своими показателями в комментариях. Уверен, что данная статья поможет вам эффективно оптимизировать хранилище на вашем компьютере.

Вы тут: Главная Windows Как работает и сколько места экономит оптимизация папки WinSxS в Windows 10, 8.1 и 8

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

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

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

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

Напомню, что в Windows 8 и 8.1 предусмотрено три способа:

  1. Параметр /StartComponentCleanUp утилиты DISM
  2. Очистка обновлений Windows в утилите «Очистка диска»
  3. Запланированное задание StartComponentCleanup

Технически все они делают одно и то же, хотя задание в планировщике не трогает компоненты обновлений, установленных в последние 30 дней. Давайте посмотрим, как проходит оптимизация.

Что происходит в процессе оптимизации папки WinSxS

При использовании любого из трех способов в Windows 8 и 8.1 оптимизация ведется по двум направлениям:

  1. Удаление старых версий компонентов.
  2. Сжатие неиспользуемых и старых версий некоторых компонентов.

Чем дольше проработала система, тем больше обновлений установилось, и тем больше компонентов удаляется и/или сжимается. Поэтому процесс может быть долгим, поскольку сжатию подвергается много файлов.

Эксперимент по оптимизации папки WinSxS

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

Утилита cleanmgr, запущенная с полными правами, обещает златые горы! Но не стоит особо полагаться на ее данные, т.к. утилита склонна сильно ошибаться, причем в обе стороны.

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

В таблице ниже вы видите результаты оптимизации. Отмечу, что экономия дискового пространства определялась по данным, которые проводник показывает в свойствах диска (о корректности различных методов измерения места на диске как-нибудь в другой раз).

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

Как видите, удалось сэкономить чуть ли не в два раза больше места, чем обещала утилита очистки диска! Давайте разберемся, что стоит за цифрами в таблице.

Какие файлы удаляются и почему

Я не задавался целью отслеживать конкретные файлы, и ограничился только папками. Чтобы получить список удаленных папок, нужно сравнить состав папки WinSxS до и после оптимизации. Ниже вы видите, что произошло с компонентами Adobe Flash Player.

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

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

В процессе оптимизации исчезли шесть папок с предыдущими версиями, но три папки сохранились. Чтобы разобраться в происходящем, нужно изучать систему обслуживания (Component Based Servicing) и CBS.log, объемом в десятки мегабайт. Это довольно скучное занятие, поэтому я постараюсь описать процесс покороче :)

Во время оптимизации CBS ориентируется на хранилище пакетов, извлекая оттуда информацию о состоянии и атрибутах сохранения пакетов, а также версиях компонентов. Например, если пакет помечен в качестве постоянного, система обслуживания его пропускает, оставляя в целости и сохранности.

2013-09-04 21:51:58, Info                  CBS    Skipping package [Package_for_KB2771431~31bf3856ad364e35~amd64~~6.2.1.3] since it is permanent

В случае же с версиями, CBS ищет предыдущую версию компонента, которая необходима для отката при удалении обновления. Продолжая пример с Adobe Flash на картинке выше, самой новой версией является 20760, но для корректного отката компонентов Adobe Flash необходима предыдущая версия за номером 16653.

2013-09-04 21:52:24, Info                  CBS    Appl: Selfupdate, Component: amd64_adobe-flash-for-windows_31bf3856ad364e35_0.0.0.0_none_ab9875376a174135 (6.2.9200.20760), elevation:3, lower version revision holder: 6.2.9200.16653

Сохранение предыдущей версии позволяет удалить обновление KB2857645, доставившее версию пакета 20760 (к версии файлов Adobe она не имеет отношения, как вы можете убедиться из статьи базы знаний).

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

Ситуацию запутывает тот факт, что предыдущей версией для 20760 считается 16653, а не 20711, но тут я ничего не могу поделать :) Что же касается версии 16384, то она была исходной, т.е. частью ОС, а не пришедшего обновления.

Остальные шесть папок были удалены, потому что с версией 20760 их ничто не связывает. Одной из них являлась 20711, пришедшая в составе KB2837385. Удаление ненужного пакета и зачистка его регистрации в системе отражаются в журнале.

Фрагмент журнала CBS.log

Если вы хотите углубиться еще дальше в темный лес системы обслуживания и владеете английским языком, рекомендую материалы из блога Джозефа Конвея:

  • Servicing Windows: Part One
  • Servicing Windows: Part Two

Какие файлы сжимаются и почему (устарело)

Этот раздел статьи был написан до того, как Microsoft изменила технологию сжатия в Windows 8.1 и портировала ее в Windows 8. Неизменным осталось лишь то, что сжатию подвергаются замененные и неиспользуемые компоненты, а в остальном раздел представляет теперь только исторический интерес. Подробности вы найдете ниже в статье.

Экономия дискового пространства при оптимизации хранилища достигается также за счет сжатия. Проводник выделяет сжатые файлы и папки синим цветом, но из корня папки WinSxS наличие сжатых файлов неочевидно. Дело в том, что сжимаются не папки целиком, а отдельные файлы. Здесь сподручнее воспользоваться утилитой TreeSize, которая сходу подсвечивает синим папки со сжатыми файлами.

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

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

Как видно на левой части рисунка, в Windows 8 сжатию подверглись файлы в папках Backup и Manifests, а также некоторые папки с компонентами. (В скобках замечу, что в Windows 8.1 Preview папки Backup и Manifest не сжались, что оставляет поле для исследований по мере выхода дальнейших обновлений). Утилита также умеет отображать степень сжатия для папки, что показано на правой части рисунка.

Файлы в папке Manifests сжимаются хорошо, поскольку манифесты представляют собой текстовые файлы в формате XML. Выполнив команду compact в папке, можно получить подробную статистику:

Всего файлов: 22086, каталогов: 1.
Из них сжато: 19510, не сжато: 2576.
Данные объемом 347 734 445 байт сохранены в 139 504 361 байт.
Степень сжатия 2,5 к 1.

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

2013-09-04 21:54:44, Info                  CSI    00000036 NTFS compress for: [l:136{68}]"amd64_1394.inf_31bf3856ad364e35_6.2.9200.16384_none_53f8fe038fac2809"
…
2013-09-04 21:59:00, Info                  CSI    00000570 NTFS compression complete. Total component compressed: 1338 (0x0000053a), total file compressed: 3125 (0x00000c35)
…
2013-09-04 22:23:41, Info                  CSI    0000059c@2013/9/4:18:23:41.607 Completed compression of 19000 (0x00004a38) manifests
…
2013-09-04 22:24:18, Info                  CSI    000005a5@2013/9/4:18:24:18.065 Completed compression of manifests

Обратите внимание на длительность выполнения операций (символами … я обозначил вырезанные из журнала строки) — сжатие заняло полчаса. Конечно, нужно сделать поправку на два момента:

  1. Система работала на виртуальной машине Hyper-V с одним выделенным процессором, 2GB RAM и VHD на SSD.
  2. Объем установленных обновлений был достаточно велик, а оптимизация папки WinSxS ранее не проводилась.

Журнал CBS не раскрывает подробностей о критериях, служащих основанием для сжатия. Но с помощью утилиты TreeSize можно увидеть, например, что сжимаются отключенные компоненты. Так, в Windows изначально отключен компонент Telnet, и все его компоненты подверглись сжатию.

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

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

Похожая картина наблюдается и с компонентом Hyper-V, который не активирован в моей экспериментальной системе.

Какое сжатие применяется

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

В Windows 8, 8.1 и 10 сжимаются компоненты, для которых уже установлены более новые версии. Изначально в Windows 8 для этого применялось сжатие NTFS. Разностное сжатие появилось только в Windows 8.1 и продолжает использоваться в Windows 10 (его также портировали в Windows 8, выпустив обновление KB2821895).

Разностное сжатие

В блоге Ask the Core Team появилась серия статей об изменениях в системе обслуживания Windows 8.1. В частности, во второй записи подробно разбирается алгоритм разностного сжатия (delta compression).

Разностное сжатие применяется только для замененных компонентов. Одна версия файла используется в качестве базовой, а остальные выражаются как «база + дельта изменений». Сжимаются только дельты, поэтому для декомпрессии необходима базовая версия файла.

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

Ниже приводятся выдержки из CBS.log, где многоточия обозначают удаленные мной фрагменты. Вы видите операции сжатия, впервые появившиеся в Windows 8.1 (сам лог из Windows 10, кстати). Сначала анализ определяет кандидатов на разностное сжатие, а спустя 10 минут рапортует о завершении, после чего начинаются совсем загадочные операции Null-Delta compression.

2015-10-20 15:10:50, Info                  CSI    00000026 Scavenge: Planning Complete.
The following actions will be performed:
    Regeneration Candidates: 0
    Removal Candidates: 3
    Superseded/LDR (Delta Compression) Candidates: 133
    Null-Delta Compression Candidates: 
        Mutable file Candidates: 1
        Boot-Recovery Candidates: 14
    Deletion Candidates (Non Driver): 0
    Driver Deletion Candidates: 1
...	
2015-10-20 15:20:42, Info                  CSI    00000255 Delta compression complete. Total number of components compressed: 133 (0x00000085), Total file compressed: 245 (0x000000f5), Total files untouched: 257 (0x00000101), Total file skipped due to backing: 0, Total file size compressed:472088576, Total delta file size: 23932928, compression ratio: 94%
2015-10-20 15:20:42, Info                  CSI    00000256 Beginning Null-Delta compression of components with mutable files
...
2015-10-20 15:20:42, Info                  CSI    0000025b Null-Delta compression of mutable files complete. Total files compressed: 1, Total files untouched: 0, Total files skipped due to backing: 0, Total file size compressed:16384, Total delta file size: 4096, compression ratio: 75%
2015-10-20 15:20:42, Info                  CSI    0000025c Beginning Null-Delta compression of boot-recovery components
...
2015-10-20 15:21:31, Info                  CSI    00000295 Null-Delta compression of boot-recovery components complete. Total files compressed: 26 (0x0000001a), Total files untouched: 0, Total files skipped due to backing: 0, Total file size compressed:102842368, Total delta file size: 35291136, compression ratio: 65%

В комментариях к записи блога я поинтересовался, можно ли визуально определить файлы под воздействием разностного сжатия. Сотрудники Microsoft ответили, что файлы получают атрибут «Сжатый», однако я пока не нашел этому подтверждений. В журнал имена сжимаемых файлов не пишутся (в отличие от пропускаемых), а в Windows 10 у меня в папке WinSxS вообще нет файлов с атрибутом «Сжатый», хотя в Windows 8.1 таковые имеются. Все очень запутано :)

Сжатие NTFS

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

Неясности

Публикации в блоге Ask the Core Team раскрыли принципы технологии, но породили вопросы о тонкостях процесса. Я задал вопросы о regeneration, null-delta compression и т.д. в комментариях ко второй записи, но ответа не получил. Возможно, когда-нибудь срыв покровов произойдет…

Удаление всех предыдущих версий компонентов (8.1 и новее)

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

Для этого эксперимента я использовал виртуальную машину с 32-разрядной Windows 8.1 Preview, поэтому версии Adobe Flash отличаются от описанных выше на примере 64-разрядной ОС.

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

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

На рисунке выше вы видите состояние:

  1. До очистки.
  2. После очистки с ключом /StartComponentCleanup, что оставляет возможность откатиться к предыдущей версии.
  3. После очистки с ключом /StartComponentCleanup /ResetBase, что не оставляет возможности отката.

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

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


Надеюсь, теперь белых пятен в механизме очистки папки WinSxS стало меньше :) А вы уже проводили оптимизацию папки WinSxS в Windows 8? Напишите в комментариях, сколько места сэкономили!

Время на прочтение4 мин

Количество просмотров884K

Многие обладатели 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;
— Phase 2 apply;
— Перезагрузка.

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

Для работы скрипта используется также конфигурационный файл 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;
— Ln — 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 в Windows, причинах его постоянного роста и способах очистки. Каталог C:\windows\WinSxS является хранилищем компонентов Windows. В этом каталоге хранятся dll библиотеки, бинарные и xml файлы, необходимые для установки и работы различных ролей и компонентов Windows. Каждый раз когда вы устанавливаете обновления Windows (это происходит ежемесячно), новая версия обновляемого компонента устанавливается в систему, а старая сохраняется в хранилище компонентов WinSxS (это необходимо для обеспечения совместимости и возможности “отката“ к старым версиям компонентов при удалении проблемного обновления).

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

каталог WinSxS в windows10

В этой статье мы рассмотрим наиболее безвредные способы очистки папки WinSxS в Windows 10 и Windows Server.

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

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

Содержание:

  • Как узнать реальный размер папки WinSxS в Windows 10?
  • Очистка хранилища компонентов WinSxS в Windows
  • Удаление неиспользуемых компонентов Windows (Windows Server)
  • Включаем NTFS сжатие на папке WinSxS в Windows

Как узнать реальный размер папки WinSxS в Windows 10?

Самый простой способ получить текущий размер каталога WinSxS в Windows, запустить проводник File Explorer и открыть свойства папки %windir%\WinSxS (или воспользоваться скриптом PowerShell). Но имейте в виду, что большинство файловых менеджеров (в том числе File Explorer) показывают несколько больший размер каталога WinSxS, чем он занимает на диске.

Дело в том, что в каталоге WinSxS есть большое количество hard links (жестких символических ссылок) на файлы в других системных каталогах. Файловые менеджеры при подсчете размера папки WinSxS учитывают объем файлов, на которые ссылаются жесткие ссылки, а это не корректно.

Чтобы реальный (без учета жестких ссылок) размер папки WinSxS, воспользуйтесь утилитой SysInternal du:

du -v c:\windows\winSXS

получить реальный размер каталога winsxs с помощью утилиты du.exe

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

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

Dism.exe Cleanup Image-AnalyzeComponentStore

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

Размер хранилища компонентов по данным проводника : 5.70 GB (это размер хранилища с учета жестких ссылок, который отображается в проводнике)
Фактический размер хранилища компонентов : 5.49 GB (реальный размер хранилища компонентов за исключением жестких ссылок)
Совместно с Windows : 3.12 GB (обязательные файлы системы, не могут быть удалены)
Резервные копии и отключенные компоненты : 2.12 GB (устаревшие файлы компонентов, которые нужны на случай проблем с установленными обновлениями)
Кэш и временные данные : 245.87 MB (файлы используются для ускорения работы системы обслуживания)
Дата последней очистки : 2018-07-31 12:45:23
Число освобождаемых пакетов : 10 (файлы, которые обновились после установки обновлений Windows, они будут удалены при очистке хранилища)
Рекомендуется очистка хранилища компонентов : Да

Как вы видите, в данном случае можно уменьшить размер каталога WinSxS на 2.1 Гб + 250 Мб.

Очистка хранилища компонентов WinSxS в Windows

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

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

Dism.exe Cleanup Image StartComponentCleanup

Опция Dism /StartComponentCleanup поддерживается во всех версиях Windows, начиная с Windows 8/Windows Server.

После окончания очистки проверьте текущий размер хранилища компонентов:

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

В моем примере это помогло уменьшить размер папки WinSxS на 2,5 Гб.

С помощью еще одного параметра /ResetBase вы можете удалить все предыдущие версии компонентов, оставшиеся после установки обновлений Windows. После этого вы не сможете удалить установленные обновления или Service Pack, а в панели обновлений
appwiz.cpl
у обновлений пропадет кнопка «Удалить»).

Чтобы очистить старые версии компонентов, выполните:

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

В Windows 7 и Windows Server 2008 R2 для очистки старых версий компонентов, оставшихся после установки сервис пака, использовался еще один параметр DISM:

dism /online /Cleanup-Image /spsuperseded

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

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

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

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

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

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

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

задание планировщика StartComponentCleanup - очистка компонентов

Удаление неиспользуемых компонентов Windows (Windows Server)

В статье Безопасная очистка папки WinSxS в Windows Server 2016/2012 мы рассмотрели функцию Features on Demand (функции по требованию), предоставляющую возможность удаления с диска бинарных файлов неиспользуемых ролей и компонентов из каталога WinSxS. Для этого в Windows Server используется командлет PoweShell Uninstall-WindowsFeature.

В Windows 10 командлет Uninstall-WindowsFeature отсуствует, и для удаления компонентов Windows из образа нужно использовать DISM.

DISM в отличии от Uninstall-WindowsFeature не удаляет зависимые компоненты.

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

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

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

DISM Disable-Feature Remove

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На самом деле папка занимает меньше места, чем кажется, но если вы дорожите каждым ГБ свободного места, можете регулярно удалять её содержимое.

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

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

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

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

Файлы из папки Windows попадают в WinSxS с помощью жестких ссылок, и файловые менеджеры принимают их за реальный объем. Поэтому размеры папки могут отображаться неверно, а на самом деле она, как правило, весит не больше 15ГБ.

Однако если вы хотите почистить свою систему от ненужных файлов, есть несколько способов сделать это.

Очистка обновлений Windows

В командной строке нужно набрать cleanmgr, и встроенная утилита покажет, сколько места вы можете освободить. Надо просто отметить «Очистка обновлений Windows» и нажать ОК.

cleanup

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

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

В отличие от семерки, Windows 8 и 8.1 очищают обновления автоматически в Планировщике. Windows очищает папку по расписанию с помощью задания Microsoft – Windows – Servicing – StartComponentCleanup, которое автоматически запускается в фоновом режиме и удаляет компоненты через 30 дней после того, как вы установили обновления.

startcomponentcleanup-scheduled-task

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

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

Например, одна команда удаляет все версии обновлений без 30 дней ожидания:

DISM.exe /online /Cleanup-Image /StartComponentCleanup

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

DISM.exe /online /Cleanup-Image /SPSuperseded

Еще одна команда удалит все старые версии каждого компонента. После этого вы не сможете удалить все установленные пакеты обновлений: 

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

Удаление компонентов по требованию

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

turn-windows-features-on-or-off

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

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

Вы увидите разные компоненты и их состояние. 

windows-features-name-and-state

Чтобы удалить функцию из системы, можно использовать следующую комнду, заменив NAME на название функции, которую вы хотите удалить. 

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

remove-windows-feature-from-disk

Если вы выполните команду / GetFeatures еще раз, вы увидите, что функция сменила статус на: «Disabled with Payload Removed» («Отключено с удалением полезных файлов») вместо просто «Disabled» («Отключено»).

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как узнать скорость интернета на компьютере windows 7 в реальном времени
  • Как убрать цветовой профиль в windows 10
  • Как восстановить работу проводника в windows 10
  • Whatsapp portable для компьютера windows 10
  • Как удалить медиаджет с компьютера полностью с windows 10