Как очистить папку winsxs в Windows Server 2008 R2

winsxs-folder-clear-0.jpg

1.Мастер очистки диска

Нажимаем кнопку Пуск и вводим фразу «Очистка диска» — в найденных результатах будет только один значок с такой подписью:

Выбираем тот, на котором установлена Windows и нажимаем на ОК. Откроется вот такое окно:

winsxs-folder-clear-3.jpg

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

winsxs-folder-clear-4.jpg

2. Утилита Dism

Системная программа Dism служит для работы с пакетами, компонентами и обновлениями операционной системы Windows. Для работы с ней надо запустить командную строку Windows с правами администратора. Затем, пишем команды:

dism /online /cleanup-image /spsuperseded /startcomponentcleanup  dism /online /cleanup-image /spsuperseded /hidesp

Нажимаем клавишу Enter и ждём пока утилита отработает.

winsxs-folder-clear-5.jpg

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

1384187306_7-oboi.png

Размер современных жестких дисков персональных компьютеров может достигать несколько терабайтов, что не может не радовать, но как ни крути, растягиваться они не могут. И когда места на диске останется немного, мысль о том, что же делать дальше и куда девать контент начинает тревожить пользователя все сильнее.С пользовательским разделом все просто. В конце концов, часть файлов можно переместить на какой-нибудь съемный носитель. А вот как быть с системным разделом? Как вариант, можно удалить точки восстановления, что в общем то не рекомендуется делать, а также неиспользуемые программы. Последнее устраивает далеко не всех пользователей, а кроме того удаляемая программа должна занимать на диске много места.

В общем, логика такова – чем больше программа, тем она полезней .

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

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

1384187293_0.jpg

WinSxS что это за папка

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

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

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

Теперь нетрудно понять причины, по которым папка WinSxS занимает на жестком диске столь много места. Ее рост прямо пропорционален частоте обновлений. Старые системные компоненты архивируются и копируются в каталог WinSxS, что собственно и приводит к его увеличению. В реальности же ее размер редко превышает 15 Гб. К тому же файловые менеджеры, включая Проводник, вас обманывают, завышая размер папки WinSxS примерно на 40 процентов. Эти 40 процентов составляют файлы символьных ссылок, не содержащих в себе фактических данных, а лишь ссылающихся на них. «Настоящие» же файлы могут находиться в других системных каталогах, например, в Windows, ProgramData и т.д. Во-первых, удаление ссылок на размер WinSxS никак не повлияет, во-вторых, это опять же может привести к проблемам.

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

Очистка winsxs

Таким образом, смысл производить очистку папки WinSxS имеется только в двух случаях. Либо папка WinSxS действительно приняла «угрожающие» размеры, что более характерно для седьмой версии Windows, либо вы настолько дорожите каждым гигабайтом, что готовы рискнуть работоспособностью вашей системы. Существует несколько способов очистки каталога WinSxS. Самый простой, но не самый эффективный способ заключается в использовании системной утилиты cleanmgr, также известной как «Очистка диска». Чтобы запустить ее, в окошке «Выполнить» введите команду cleanmgr и нажмите ввод. Узнаете?

Программа для очистки winsxs – DISM

Другой способ куда более эффективен. На этот раз мы воспользуемся консольной утилитой DISM. Удалим все версии обновлений, не дожидаясь запланированной операции. Для этого в командной строке, запущенной от имени администратора выполните следующую команду:

1384187355_4.jpg

DISM.exe /online /Cleanup-Image /StartComponentCleanup

1384187375_5.jpg

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

DISM.exe /online /Cleanup-Image /SPSuperseded

1384187323_6.jpg

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

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

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

1384187310_7.jpg

Последствия будут точно такими же, как и в случае использования команды DISM.exe /online /Cleanup-Image /SPSuperseded.

1384187378_8.jpg

Что можно еще сделать для очистки папки WinSxS. В последних версиях Windows имеется такая полезная функция как включение/отключение компонентов системы по требованию. Если вы откроете панель управления, а затем перейдете в раздел «Программы и компоненты», то поймете, о чем идет речь. Некоторые из этих компонентов, даже будучи не отмечены галочкой, все же присутствуют на диске. Вам не нужно подключаться к Центру обновления для их загрузки, установить их можно прямо с диска. Так вот, находятся они как раз в папке WinSxS.

Если файлы компонентов занимают много места на диске, вы можете удалить их. Для этого опять воспользуемся уже знакомой утилитой DISM. Запускаем консоль и вводим следующую команду:

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

1384187355_9.jpg

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

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

Ключевое слово NAME здесь означает название компонента. Например, нам нужно удалить модуль Microsoft-Hyper-V-All.

1384187339_10.jpg

DISM.exe /Online /Disable-Feature /featurename:Microsoft-Hyper-V-All /Remove

Теперь если вы выполните команду Get-Features еще раз, то увидите, что статус компонента изменился на «Disabled with Payload Removed» что означает «отключено с удалением полезных файлов».

Итог:

Как видите, ничего сложного в этом нет. Мы протестировали все вышеописанные варианты, и нашли их вполне действенными и эффективными. Но самое главное, что наши действия не привели к каким-либо отрицательным последствиям для операционной системы.

Все что останется в папке WinSxS удалять не следует. И еще один момент. Не используйте случайные, найденные в Интернете утилиты для очистки этой папки.

Как показал опыт, применение таких «чистильщиков» нередко приводило к полной переустановке системы. А еще обратите внимание на тот факт, что ни в одном из известных оптимизаторов вы не найдете функции очистки каталога WinSxS.

Очистка места на RDS ферме (Installer, ServiceProfiles, WinSxS)

Ochistka-mesta-na-RDS-ferme.png

Добрый день! Уважаемые читатели и гости, крупного IT блога Pyatilistnik.org. В прошлый раз я вам рассказал, о решении ситуации, с процессом Print Filter Pipeline Host загружающим процессор на 100%, сегодня мы вернемся опять к терминальным службам и рассмотрим ситуацию, когда у вас заканчивается дисковое пространство на ваших узлах сеансов удаленных рабочих столов (RDSH — Remote Desktop Session Host). Я покажу, как производится очистка места на RDS ферме. Уверен, что данная ситуацию, рано или поздно случается со многими компаниями.

Куда девается свободное место в службах удаленных рабочих столов

Описываю классическую ситуацию. Есть RDS ферма, которая состоит из двух посредников (RD Connection Broker) и 15-20 хостов RDSH, к котором непосредственно подключаются удаленные пользователи. В большинстве случаев, пользователи имеют перемещаемые профили. Все хорошо, все работает, но случается момент, что появляется еще пара сотен юзеров, например, из-за расширения компании или поглощения другой, это не важно. На ваших узлах, становится катастрофически не хватать свободного места. Если у вас виртуальные машины, то тут проще можно расширить ресурсы, при наличии места на датасторах, в случае с физическими серверами сложнее, так как расширять существующие RAID массивы, очень геморройная вещь, да и места на СХД, может так же не хватать. Да и расширять до бесконечности вы не можете. Плюс за счет того, что профили перемещаемые, то вы должны умножить новое дисковое пространство на количество ваших узлов, вот такая математика.

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

Скачиваете утилиту WinDirStat https://windirstat.net/download.html или у меня из облака

Установка WinDirStat, очень тривиальная, я не буду ее приводить. После инсталляции запускаем утилиту. На первом экране WinDirStat, попросит вас выбрать локальный диск или каталог для сканирования файлов. В моем примере на Remote Desktop Session Host хосте, один диск C:, его я и выбирая.

Ochistka-mesta-na-RDS-ferme-02.png

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

Ochistka-mesta-na-RDS-ferme-03.jpg

Как видим, у меня самым объемным является папка Users, второй папка Windows 45 ГБ. С правой стороны вы увидите столбец по форматам, там сразу можно выделить MP4 или MSI, видно сколько они занимают. Ниже разноцветные квадраты, это так выглядят все типы файлов на жестком диске в этой утилите.

Ochistka-mesta-na-RDS-ferme-04.jpg

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

Очистка папки Windows от мусора

Далее мы посмотрим, почему папка Windows занимает 45 ГБ, что очень странно. Открыв более подробное описание, мы с вами видим, что 70% папки Windows на моем хосте RDS фермы, занимают три папки:

  • Installer
  • ServiceProfiles — в данной папке хранятся кэшированные шрифты для различных программ, для каждого пользователя
  • WinSxS — Это служебная папка операционной системы Windows служащая для хранения ранее установленных версий системных компонентов. Благодаря ее наличию существует возможность отката к более старой версии обновления в случае необходимости

Ochistka-papki-Windows-ot-musora.jpg

Что такое и как очистить папку Installer

Папка Windows Installer — это системная папка, где хранятся необходимые для удаления или обновления программ их инсталляторы, дистрибутивы различных программных компонентов, патчи, файлы не установившихся системных обновлений и прочие данные, которые необходимы системе и установленному софту для определенных процессов.

Как видите у меня папка Windows Installer занимает много места, это аж 15 ГБ. Если открыть ее содержимое, то вы увидите GUID номера, ваших программ.

papka-Windows-Installer.jpg

Если более детально капнуть в папку Windows Installer, то тут в основном лежат файлы msp, это пакеты обновления, MSI и MST файлы.

papka-Windows-Installer-2.jpg

Хочу отметить, что папка Installer, по умолчанию скрыта, и для ее отображения, вы должны включить скрытые файлы и папки в Windows.

Можно ли удалить папку Windows Installer?

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

mozhno-li-udalyat-papku-Windows-Installer.jpg

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

Полностью удалять содержимое папки Windows Installer НЕЛЬЗЯ!!!!

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

Как правильно очистить папку windows installer

Перед всеми нашими манипуляциями, вы должны обязательно выполнить вот что:

  • Создать точку восстановления системы Windows, чтобы легко можно было откатиться назад
  • в случае с RDS фермой в виде виртуальной машины, можно сделать простой снапшот, и не придется делать точку восстановления в Windows
  • Если первые два пункта не выполнимы, то хотя бы скопируйте ее содержимое в другое место, на случай восстановления

Для того, чтобы правильно очистить каталог C:WindowsInstaller, можно воспользоваться бесплатной утилитой PatchCleaner.

Скачать PatchCleaner  вы можете у меня по ссылке или же с официального сайта http://www.homedev.com.au/Free/PatchCleaner

Как работает PatchCleaner. Операционная система Windows содержит список текущих установщиков и патчей, к которым можно получить доступ через вызовы WMI ( Инструментарий управления Windows ). PatchCleaner получает этот список известных файлов msi/msp и сравнивает их со всеми файлами msi/msp, которые находятся в каталоге c:WindowsInstaller. Все, что находится в папке, но не в списке, представленном окнами, считается сиротскими файлами и помечено для перемещения или удаления.

Производим установку PatchCleaner , для очистки места на RDS ферме. На пермом экране мастера установки, нажмите «Next».

Ustanovka-PatchCleaner-01.jpg

Принимаем лицензионное соглашение «I Agree»

Ustanovka-PatchCleaner-02.jpg

Указываем для каких пользователей будет устанавливаться PatchCleaner.

Ustanovka-PatchCleaner-03.jpg

next.

Ustanovka-PatchCleaner-04.jpg

Установка PatchCleaner  завершена, запускаем ее.

Ustanovka-PatchCleaner-05.jpg

После запуска, утилита проведет сканирование. У вас будет два показателя:

  1. Общее количество пакетов в папке Installer
  2. Количество устарелых файлов

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

Pravilnaya-ochistka-Windows-Installer-01.jpg

Нажав на кнопку «details», вы увидите более подробный список, устаревших пакетов msp, прочитать к каким программам, они относились.

Pravilnaya-ochistka-Windows-Installer-02.jpg

Чтобы запустить процесс освобождения дискового пространства на ферме RDS и уменьшить размер папки C:WindowsInstaller, нажмите кнопку «Move».

Pravilnaya-ochistka-Windows-Installer-03.jpg

Вас спросят, хотите ли вы этого, нажимаем yes

Pravilnaya-ochistka-Windows-Installer-04.jpg

Все уменьшение папки Installer выполнено.

Pravilnaya-ochistka-Windows-Installer-05.jpg

Видим, что больше в системе нет устаревших файлов.

Pravilnaya-ochistka-Windows-Installer-06.jpg

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

Pravilnaya-ochistka-Windows-Installer-07.jpg

Если вы не хотите производить чистку Windows Installer, или просто боитесь это делать, но располагаете в системе другим, дополнительным диском, на котором есть свободное место, то можете перенести C:WindowsInstaller на него, для этого можно воспользоваться символическими ссылками, мы их уже использовали когда переносили OST файл в Outlook.

Предположим у меня есть еще диск E:, и на нем есть 100 гб свободного места и я бы хотел на него перенести системную папку, для этого открываем командную строку с правами администратора и вводим команду, но перед этим ОБЯЗАТЕЛЬНО, скопируйте C:WindowsInstaller в E:Installer.

mklink /j «c:windowsinstaller» «e:Installer»

perenos-papki-Windows-Installer.jpg

Теперь если вы зайдете в каталог C:WindowsInstaller, то увидите на папке стрелочку в левом углу, это означает, что это символическая ссылка, ведущая в другое место. Надеюсь с папкой Installer мы разобрались, и очистили часть места на RDS ферме.

perenos-papki-Windows-Installer-2.jpg

Что такое и как очистить папку ServiceProfiles

ServiceProfiles — в данной папке хранятся кэшированные шрифты для различных программ, для каждого пользователя. Когда таких пользователей много, то и размер папки может быть большим. Как видите по пути C:WindowsServiceProfilesLocalServiceAppDataLocal, лежит огромное количества FontCache файлов, по 8 МБ. Как я и говорил выше, это кэшированные шрифты, под каждую программу для каждого пользователя. В моем случае, данная папка занимает 10 ГБ, что очень много.

CHto-takoe-i-kak-ochistit-papku-ServiceProfiles.jpg

Я нашел ответ от разработчика Windows, что делал эту службу кэширования, его зовутNiklas Borson, вот что он отвечал, на вопрос, почему на RDS ферме, папка ServiceProfiles имеет большой размер.

Эти файлы FontCache-S — * .dat создаются службой Windows Font Cache. Я разработчик этой службы и могу подтвердить, что сказал Крис выше. Можно безопасно удалять эти файлы. Служба просто обновит их по мере необходимости. Просто чтобы подтвердить, проблему, которую вы наблюдаете, — с большим количеством файлов. Другими словами, упомянутый выше размер, должен быть общим размером для всех файлов. В Windows 8 и 8.1 каждый файл должен быть 8 МБ.

Как вы уже догадались, эти файлы предназначены для каждого пользователя, поэтому, если многие пользователи заходят на сервер, вы можете получить множество из этих файлов. К сожалению, служба Font Cache автоматически не удаляет старые файлы кэша для каждого пользователя, поэтому я боюсь, что вам придется обойти это самостоятельно. Например, вы можете создать запланированную задачу обслуживания, которая автоматически удалит все файлы FontCache-S — * .dat, если их общий размер превышает определенную сумму. Это безопасное обходное решение.

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

Вот тут есть обсуждение данной проблемы https://social.technet.microsoft.com/Forums/ie/en-US/3795364f-b66c-43ae-82d3-8ed5eb1aa2ce/local-service-system-profile-grown-to-extremely-large-size?forum=winserverTS

В свою очередь, вы можете сделать bat файл вот с таким содержимым, и удалять файлы старше 30 дней из папки ServiceProfiles. Скрипт останавливает две службы:

  • Служба кэша шрифтов Windows (Windows Font Cache Service) 
  • Кэш шрифтов Windows Presentation Foundation 3.0.0.0 (Windows Presentation Foundation Font Cache 3.0.0.0

net stop FontCache && net stop FontCache3.0.0.0

forfiles /P C:WindowsServiceProfilesLocalServiceAppDataLocal /M FontCache*/D -30 /C «cmd /c del @path»

net start FontCache && net start FontCache3.0.0.0

Что такое и как очистить папку WinSxS

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

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

Продолжаем с вами производить очистку в папке Windows, от всевозможного хлама, и на очереди у нас с вами папка WinSXS, выше я написал, что из себя представляет данная папка. Как видите утилита WinDirStat, показывает что WinSxS, занимает 7,2 гб, для этой папки, это размер в пределах нормы, но если вы у себя видите, здесь 10-15 гб и более, то это повод задуматься над ее очисткой.

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

Ochistka-WinSxS.jpg

Можно ли удалить папку winsxs

Саму папку удалять конечно же не стоит, а вот правильно ее почистить, это правильное решение. Ранее я вам рассказывал про встроенную утилиту в Windows, под названием cleanmgr (Очистка диска). Там запустив утилиту у вас появлялся мастер «Параметры чистки диска», в котором, чтобы была произведена очистка папки winsxs, нужно было выбрать пункт «Очистка обновлений Windows».

ochistka-papki-winsxs.jpg

Если вы любите все делать из консоли, то вот вам пример очистки папки WinSxS в Windows 10. Запускаем командную строку от имени администратора и вводим команду:

Dism.exe /online /cleanup-image /AnalyzeComponentStore

Папка хранилища компонентов будет проанализирована и вы увидите сообщение о необходимости ее очистки, вы увидите ее размер.

Ochistka-papki-WinSxS-v-Windows-10.jpg

Введите команду Dism.exe /online /cleanup-image /StartComponentCleanupи нажмите Enter для запуска автоматической очистки папки WinSxS.

Ochistka-papki-WinSxS-v-Windows-10-2.jpg

Для операционной системы Windows 8.1 или Windows Server 2012 R2, подойдет команда:

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

По умолчанию операционные системы Windows Server 2008 R2 или 2012 R2, не имеют установленного компонента «Очистка диска», как его доставить, читайте вот тут:

  • Cleanmgr в Windows Server 2008 R2
  • Cleanmgr в Windows Server 2012 R2

Автоматическая очистка резервных копий обновлений в WinSxS

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

Ochistka-papki-WinSxS-v-Windows-10-3.jpg

Для этого необходимо создать простую задачу StartComponentCleanup в MicrosoftWindowsServicing с нужной периодичностью выполнения. Как видите ваши RDSH хосты могут быть забиты большим количеством мусора и старых файлов, которые создает сама Windows, поэтому обязательно производите чистку папок Installer, ServiceProfiles, WinSxS. С вами был Иван Семин, автор и создатель IT блога Pyatilistnik.org.

Окт 6, 2018 17:52Используемые источники:

  • https://nastroisam.ru/folder-winsxs-windows/
  • https://www.softrew.ru/instructions/1065-papka-winsxs-i-ee-optimizaciya-v-windows-7-i-881.html
  • http://pyatilistnik.org/cleaning-rds-farm-space/

Рейтинг автора
5
Подборку подготовил
Андрей Ульянов
Наш эксперт
Написано статей
168
Ссылка на основную публикацию
Похожие публикации