Winsxs можно ли удалить windows server 2012

Прежде чем говорить о безопасном способе очистки папки WinSxS в Windows Server 2012, попробуем понять, что же это за папка такая, что в ней хранится и почему со

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

Если вы помните, при установке дополнительных компонентов в Windows Server 2003 мастер установки требовал вставить в CD-Rom установочный диск , либо указать путь к каталогу с дистрибутивом Windows Server 2003. В Windows Server 2008 Microsoft решила изменить подход к установке дополнительных ролей и возможностей Windows. Теперь все бинарные файлы, необходимые для разворачивания любой роли, хранятся в каталоге C:WindowsWinSxS (WinSxS — Windows Side By Side). Это означает, что при установке любой дополнительной роли теперь нет необходимости искать и подключать к серверу диск с дистрибутивом. Естественно, при таком подходе для ОС требует гораздо большего места на диске. Нужно понимать, что в каталоге WinSXS содержаться ключевые компоненты системы, поэтому удалять из нее что-то вручную ни в коем случае нельзя. Почему же размер папки WinSXS постоянно растет? Ответ прост – обновления. При установке обновлений различных компонентов в каталоге WinSXS остаются и старая и новая версия обновленного компонента. Благодаря такой архитектуре, мы в любой момент можем безопасно удалить любое установленное обновление и откатиться на старую версию компонента.

Содержание:

  • Features on Demand в Windows Server 2012
  • Установка удаленных ролей и функций в Windows Server 2012
  • Автоматическая очистка WinSxS с помощью Cleanmgr

А что же делать, если система запущена и работает, разворачивать дополнительные роли не планируется, а места на диске не хватает? Ведь нелогично, что на системном диске несколько гигабайт занято дистрибутивами, которые никогда не потребуются! В Windows Server 2008, к сожалению, удалить данные файлы без вреда системе довольно сложно. Однако, в новой серверной ОС — Windows Server 2012, Microsft решила исправить этот недостаток и внедрила новую функцию под названием Features on Demand.

Features on Demand в Windows Server 2012

Функция Features on Demand (функции по запросу) позволяет уменьшить размер, занимаемый системой на диске, предоставляя возможность удалений бинарных файлов неиспользуемых ролей из папки WinSxS. В том случае, если в дальнейшем возникнет необходимость вернуть ранее удаленную роль, то все необходимые для работы ролей файлы можно извлечь из образа дистрибутива Windows Server 2012, службы Windows Update или сетевого ресурса с оригинальным содержимым WinSxS.

С помощью следующей команды Powershell можно получить информацию обо всех ролях системы:

Get-WindowsFeature

Вывод списка всех ролей и функций в Windows Server 2012

Как вы видите, в колонке Install State отображается состояние каждой роли. Возможные статусы:

  • Installed: роль или функция установлена и в настоящий момент используется системой
  • Available: роль на сервере не установлена, однако на диске присутствуют все необходимые файлы, позволяющие в любой момент установить/активировать эту роль.
  • Removed: — роль или функция на сервере не установлена, файлы, необходимые для ее установки удалены с диска

Соответственно, при установке любой роли через GUI или Powershell (команда Install-WindowsFeature) ее статус с Available меняется на Installed, а при удалении (команда Uninstall-WindowsFeature) наоборот.

Полностью удалить роль с диска (из папки WinSxS) можно только через Powershell. Для этого нужно использовать специальный аргумент команды Uninstall-WindowsFeatur — Remove.

Например, чтобы удалить бинарные файлы роли DHCP-сервера, выполните команду:

Uninstall-WindowsFeature –Name DHCP –Remove

А чтобы удалить файлы службы каталогов Active Directory Domain Services:

Uninstall-WindowsFeature AD-Domain-Services -Remove

Удалить с диска роль Active Directory

С помощью конвейеров Powershell можно написать более сложную команду, которая удалит с диска инсталляционные файлы всех неиспользуемых ролей и функций Windows Server:

Get-WindowsFeature | Where-Object {$_.InstallState -Eq “Available”} | Uninstall-WindowsFeature -Remove

Очищаем папку wisxs в windows server 2012, удалив неиспользуемые роли

В нашем примере, при условии, что была установлена только роль файл-сервера, размер папки WinSxS уменьшился с 8 до 5.2 Гб. Неплохо, правда? Тем более, что для очистки папки WinSxS нам потребовалась всего одна команда.

После очистки размер папки winsxs уменьшился на 3 Гб

Установка удаленных ролей и функций в Windows Server 2012

Рассмотрим еще один сценарий, предполагающий, что вам потребуется установить некую роль Windows Server 2012, дистрибутив которой был удален из каталога WinSxS. Восстановить роль можно несколькими способами: с помощью GUI Server Manager или с помощью Powershell.

Прежде, чем приступить к восстановлению файлов ролей, необходимо определить индекс установленной редакции Windows Server 2012. Нам понадобятся диск с дистрибутивом Windows Server 2012 (а точнее файл образа install.wim, находящийся в каталоге sources). Выполните следующую Powershell команду:

Get-windowsimage –imagepath <путь к файлу wim>sourcesinstall.wim

windows2012 index различных версий

Найдите версию установленного у вас Windows Server и запомните ее индекс (значение в строке Index). В нашем примере это Windows Server 2012 Datacenter с индексом 4. (Мы уже рассматривали особенности работы с различными редакциями Windows 2012 в одном дистрибутиве в статье «Интеграция драйверов в установочный диск Windows Server 2012»).

Ту же самую операцию можно выполнить с помощью утилиты Dism:

dism.exe /get-imageinfo /imagefile:d:sourcesinstall.wim

Вывод версий win2012 помощью dism

Устанавливаем удаленную роль с помощью Server Manager

Откройте консоль Server Manager и запустите мастер установки ролей (Add Roles and Features. Выберите роль или функцию, которую необходимо установить. Мастер предупредит, что некоторые файлы, необходимые для установки данной роли отсутствуют и нужно указать альтернативный путь к местоположению дистрибутива. Нажмите кнопку Specify an alternate source path.

specify alternative source path: восстанавливаем роль

В поле Path укажите полный путь к файлу intall.wim и индекс установленной редакции ОС в таком формате:

WIM:D:SourcesInstall.wim:4

Путь к wim файлу

В случае необходимости, в данной строке можно указать сетевой путь к каталогу с файлом WIM или сетевой путь к каталогу WinSxS. Кроме того путь к данному каталогу можно указать сразу для группы серверов с помощью групповой политики ( Computer Configuration -> Administrative Templates ->System ->Specify settings for optional component installation and component repair). Последний вариант удобен в случае большого количества инсталляций серверов с Windows Server 2012, ведь суммарный эффект от очистки папки WinSxS может достигать сотен Гб.

windows 2012: задаем путь к хранилищу компонентов с помощью групповой политики

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

Восстановление удаленной роли Windows 2012 с помощью Powershell

Ту же самую операцию можно выполнить с помощью всего одной команды Powershell. Допустим, нам нужно восстановить удаленные файлы роли ADDS. Выполним следующую команду:

Install-WindowsFeature AD-Domain-Services -Source WIM: WIM:D:SourcesInstall.wim:4

Восстановление удаленной роли с помощью powershell

Итак, в этой статье мы разобрались с новой функцией Windows Server 2012 под название Features on Demand, позволяющей удалить дистрибутивы бинарных файлов неиспользуемых серверных ролей из каталога WinSxS. В случае необходимости удаленную роль можно достаточно просто восстановить: все, что для этого понадобится – дистрибутив Windows Server 2012.

В Windows 8 функция Feautere on Demand работает немного по другому, дело в том, что используемый нами командлет Powershell просто напросто отсутствие. Его аналогом (не таким удобным) является команда DISM с параметром /Disable-Feature. Кроме того можно просто сжать содержимое каталога Winsxs. Подробности в статье Как уменьшить размер папки Winsxs в Windows 8

Автоматическая очистка WinSxS с помощью Cleanmgr

Для автоматической очистки файлов обновлений в WinSxs и временных файлов можно использовать стандартную утилиту Disk Cleanup (cleanmgr.exe). Используйте такой скрипт (thnks to Alex Kornev)

:: параметры очистки каталога winsxs
REG ADD "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerVolumeCachesUpdate Cleanup" /v StateFlags0088 /t REG_DWORD /d 2 /f
:: параметры очистки временных объектов
REG ADD "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerVolumeCachesTemporary Files" /v StateFlags0088 /t REG_DWORD /d 2 /f
:: создание запланированной задачи "CleanupWinSxS"
schtasks /Create /TN CleanupWinSxS /RL Highest /SC monthly /TR "cleanmgr /sagerun:88"

Данный скрипт создаст в планировщике задание ежемесячной очистки папки WinSxS с помощью утилиты cleanmgr. Задача будет выполняться автоматически 1 раз в месяц 1-го числа без непосредственного участия. Время запуска задачи будет соответствовать времени создания задачи.

Чтобы задать свое время запуска, добавьте в последнюю строку ключ:

/ST HH:mm
где
HH - часы в формате 24h
mm - минуты

WinSxS Dism.exe Windows Component CleanupТолько что установленная Windows Server 2012 R2 Standard EN после установки всех обновлений, доступных в службе Windows Update занимает почти 22GB. В случае, если система готовится в качестве шаблона, с которого в дальнейшем планируется выполнять клонирование серверов, или же мы стали испытывать нехватку свободного места на системном диске уже функционирующего сервера, нам потребуется найти пути оптимизации используемого дискового пространства. Одним из возможных вариантов штатной оптимизации, заложенной в Windows Server, является операция обслуживания так называемого хранилища компонент в каталоге %windir%WinSxS.

Перед нами показатель заполненности системного диска на только что установленном и обновлённом виртуальном сервере с ОС Windows Server 2012 R2 Standard.

Fresh installed Windows Server 2012 R2 System Disk

Анализ текущего состояния хранилища компонент Windows и его последующую очистку мы можем провести с помощью утилиты, входящей в состав ОС – Dism.exe (сокращение от Deployment Image Servicing and Management).

Запускается анализ следующей командой (требуются права Администратора):

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

WinSxS Dism.exe Windows Component Analyze

По окончании выполнения команды, изучим её вывод и обратим внимание на показатель «Number of Reclaimable Packages«, который определяет число пакетов, заменённых в процессе обновления системы через Windows Update. То есть, это те пакеты, которые могут быть безболезненно вычищены из хранилища.

Значение «Yes» в строке «Component Store Cleanup Recommended» говорит о том, что, по данным проведённого анализа, очистка возможна и рекомендуема.

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

Запуск процедуры очистки хранилища компонент Windows выполняется командой:

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

В нашем примере на только что установленной Windows Server 2012 R2 (с выполненной последующей доустановкой ~200 обновлений) время выполнения процедуры очистки заняло более двух часов.

WinSxS Dism.exe Windows Component Cleanup

Дождавшись успешного завершения, посмотрим, как изменилась ситуация на диске.

Fresh installed Windows Server 2012 R2 System Disk after Dism.exe Windows Component Cleanup

Как видим, вместо ранее имеющейся величины свободного места в 7,43 GB, теперь мы имеем 16,6 GB, то есть операция очистки высвободила в нашем случае 9,17 GB. Результат очень даже ощутимый.

Однако в системе по-прежнему остаются файлы, которые могут использоваться для отката установленных обновлений, поддерживающих процедуру деинсталляции. Это хорошо видно, если в оснастке управления установки/удаления программ appwiz.cpl перейти в режим отображения информации об обновлениях. Здесь на большинстве обновлений мы увидим возможность удаления, то есть фактического отката заменяемых обновлениями файлов на их ранние версии.

Uninstall Windows Update

Если мы считаем, что система работает стабильно и имеем уверенность в том, что нам не потребуется выполнять удаление каких-либо обновлений, то мы можем выполнить дополнительную процедуру удаления предыдущих версий для всех компонент, которые были изменены установленными обновлениями. Нужно понимать, что тем самым мы лишим себя возможности отката установленных обновлений. В таком случае, ранее используемую команду выполняем с дополнительной опцией /ResetBase:

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

Dism Online Cleanup-Image Start Component Cleanup ResetBase

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

Fresh installed Windows Server 2012 R2 System Disk after Dism.exe Windows Component Cleanup and ResetBase

Как видим, на этот раз мы смогли высвободить ещё 1 GB ёмкости дискового тома.

И теперь, если мы снова заглянем в оснастку управления установки/удаления программ appwiz.cpl в режиме отображения информации об обновлениях, то увидим, что при выборе любого из обновлений кнопка Uninstall более нам недоступна.

Unable to uninstall Windows Updates after Dism.exe Windows Component Cleanup and ResetBase

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

Дополнительные источники информации:

  • Вадим Стеркин — Как работает и сколько места экономит оптимизация папки WinSxS в Windows 10, 8.1 и 8
  • Вадим Стеркин — Как грамотно уменьшить размер папки WinSxS в Windows 10, 8.1 и 8
  • Remove From My Forums
  • Question

  • I have this WinSxS folder which is 14G.  I tried to clean it up , so I tried the following command:

    I have connected to «windows power shell» as an administrator and then ran the following command:

    Get-WindowsFeature | Where-Object -FilterScript {$_.Installed -Eq $FALSE} | Uninstall-WindowsFeature

    As per my understanding the below article , it should reduce the size of that folder.   However, the size was not reduced 

    and I got the following output:

    Success Restart Needed Exit Code      Feature Result
    ——- ————— ———      —————
    True    No             NoChangeNeeded {}

    http://www.oxfordsbsguy.com/2015/02/06/powershell-how-to-clean-up-the-winsxs-folder-in-windows-server-2012-r2/

    I have tried other method where I used task scheduler.  From there , I clicked on task scheduler libraries ,then expanded «Microsoft», then expanded «windows»  then clicked on «servicing».  Then I ran «StartComponentCleanup»
    task.  It’s status 

    is running since two hours and nothing was cleaned from WinSxS folder.

    What might go wrong in my case? Is there other methods to follow in order to reduce WinSxS since I have zero bytes available on my C drive.

    Thanks in advanced!

    • Moved by

      Monday, July 11, 2016 2:27 PM
      Not a development question.

Answers

  • Hi Mussa,

    Your original PowerShell statement is on the right track, however, you need to understand that disk space won’t be reclaimed unless you also use the «-Remove» parameter. See

    here for the TechNet help on Uninstall-WindowsFeature.

    As mentioned by Cartman above, DISM will also free up component files that have been superseded by more recent updates. The command you are looking for is (as discussed

    here):

    dism /online /cleanup-image /startcomponentcleanup /resetbase

    Cheers,
    Lain

    • Proposed as answer by
      Cartman ShenMicrosoft contingent staff
      Wednesday, July 20, 2016 7:45 AM
    • Marked as answer by
      Cartman ShenMicrosoft contingent staff
      Monday, August 1, 2016 5:22 AM

    • Proposed as answer by
      Cartman ShenMicrosoft contingent staff
      Wednesday, July 20, 2016 7:45 AM
    • Marked as answer by
      Cartman ShenMicrosoft contingent staff
      Monday, August 1, 2016 5:22 AM
  • Remove From My Forums
  • Question

  • I have this WinSxS folder which is 14G.  I tried to clean it up , so I tried the following command:

    I have connected to «windows power shell» as an administrator and then ran the following command:

    Get-WindowsFeature | Where-Object -FilterScript {$_.Installed -Eq $FALSE} | Uninstall-WindowsFeature

    As per my understanding the below article , it should reduce the size of that folder.   However, the size was not reduced 

    and I got the following output:

    Success Restart Needed Exit Code      Feature Result
    ——- ————— ———      —————
    True    No             NoChangeNeeded {}

    http://www.oxfordsbsguy.com/2015/02/06/powershell-how-to-clean-up-the-winsxs-folder-in-windows-server-2012-r2/

    I have tried other method where I used task scheduler.  From there , I clicked on task scheduler libraries ,then expanded «Microsoft», then expanded «windows»  then clicked on «servicing».  Then I ran «StartComponentCleanup»
    task.  It’s status 

    is running since two hours and nothing was cleaned from WinSxS folder.

    What might go wrong in my case? Is there other methods to follow in order to reduce WinSxS since I have zero bytes available on my C drive.

    Thanks in advanced!

    • Moved by

      Monday, July 11, 2016 2:27 PM
      Not a development question.

Answers

  • Hi Mussa,

    Your original PowerShell statement is on the right track, however, you need to understand that disk space won’t be reclaimed unless you also use the «-Remove» parameter. See

    here for the TechNet help on Uninstall-WindowsFeature.

    As mentioned by Cartman above, DISM will also free up component files that have been superseded by more recent updates. The command you are looking for is (as discussed

    here):

    dism /online /cleanup-image /startcomponentcleanup /resetbase

    Cheers,
    Lain

    • Proposed as answer by
      Cartman ShenMicrosoft contingent staff
      Wednesday, July 20, 2016 7:45 AM
    • Marked as answer by
      Cartman ShenMicrosoft contingent staff
      Monday, August 1, 2016 5:22 AM

    • Proposed as answer by
      Cartman ShenMicrosoft contingent staff
      Wednesday, July 20, 2016 7:45 AM
    • Marked as answer by
      Cartman ShenMicrosoft contingent staff
      Monday, August 1, 2016 5:22 AM

В Windows Server 2008 /R2 и 2012 / R2 по умолчанию не установлена утилита очистки диска — Disk Cleanup(cleanmgr.exe), позволяющая удалить ненужные файлы и очистить каталог WinSxS от файлов устаревших обновлений. Для ее запуска нужно  сначала установить отдельный компонент сервера Desktop Experience(Возможности рабочего стола) с помощью Server Manager  или с помощью PowerShell  (Install-WindowsFeature Desktop-Experience).

Совет. В Windows 2008 R2 для возможности использовать cleanmgr для удаления устаревших обновлений нужно установить обновление KB2852386.

Но вместе с Desktop Experience устанавливается множество других компонентов, которые абсолютно не нужны на сервере:

  • Windows Media Player
  • Темы рабочего стола
  • Поддержка AVI для Windows
  • Windows SideShow
  • Windows Defender
  • Disk Cleanup
  • Sync Center
  • Запись звука
  • Character Map
  • Snipping Tool

Для запуска мастера очистки дисков в Windows Server можно воспользоваться более простым методом: достаточно скопировать в системный каталог из каталога WinSxS два файла  Cleanmgr.exe и Cleanmgr.exe.mui. Ниже представлены команды для копирования файлов на разных версиях Windows (во всех случаях путь для английских редакций ОC)

Windows Server 2008 R2 x64

copy C:Windowswinsxsamd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7dacleanmgr.exe C:WindowsSystem32
copy C:Windowswinsxsamd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_en-us_b9cb6194b257cc63cleanmgr.exe.mui C:WindowsSystem32en-US

Windows Server 2008 x64

copy C:Windowswinsxsamd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.0.6001.18000_none_c962d1e515e94269cleanmgr.exe C:WindowsSystem32

copy C:Windowswinsxsamd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.0.6001.18000_en-us_b9f50b71510436f2cleanmgr.exe.mui C:WindowsSystem32en-US

Windows Server 2012 x64

copy C:WindowsWinSxSamd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.2.9200.16384_none_c60dddc5e750072acleanmgr.exe C:WindowsSystem32

copy C:WindowsWinSxSamd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.2.9200.16384_en-us_b6a01752226afbb3cleanmgr.exe.mui C:WindowsSystem32en-US

Для запуска утилиты очистки диска теперь достаточно выполнять с правами администратора команду cleanmgr.exe.

Windows Server 2012 R2 x64

Рассмотренный выше трюк не работает в Windows Server 2012 R2 из-за изменений, внесенных обновлением KB2821895. Дело в том, что после установки данного обновления для хранения бинарных файлов компонентов стала использоваться компрессия. При попытке запустить скопированный cleanmgr.exe появляется ошибка:

The Program or feature ??C:Windowssystem32cleanmgr.exe cannot start or run due to incompatibility with 64-bit version of windows

В качестве обходного решения можно воспользоваться такой методикой:

  1. Установить компонент Desktop Experience: Install-WindowsFeature Desktop-Experience
  2. Перезагрузить сервер
  3. Скопировать файлы %windir%system32cleanmgr.exe и %windir%system32en-UScleanmgr.exe.mui в произвольный каталог (c:temp)
  4. Удалить фичу: Uninstall-WindowsFeature Desktop-Experience
  5. Перезагрузка
  6. Скопировать файлы cleanmgr.exe и cleanmgr.exe.mui в описанные выше каталоги

В дальнейшем эти два файла можно скопировать и на все другие сервера или интегрировать в шаблоны виртуальных машин с Win 2012 R2.

Совет. Для удаления устаревших обновлений в Windows Server 2012 R2 гораздо проще воспользоваться такой командой DISM:

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

Join @AdmNtsRu on Telegram

Смотрите также:

  • Remove From My Forums
  • Question

  • Hello, my server2012 is 9 GB after the following command : dism /online /cleanup-image /spsuperseded /hidesp

    I want to clean this up.

    What is a full working procedure to clean this up, without messing up?

    Thx

Answers

  • It reports the size consumption on the disk which is approx 10,5G counting each hardlink as a different instance. If you execute the same command without the -u switch you may get a different, lower, size because the utility will not count each hardlink
    as a different instance and will report the real consumption on the HDD. 

    In my last answer I pointed you to use the -u switch to get the single the instance result. It was a fast typing mistake. You should use the command without the -u switch!

    ————————-

    Lefteris Karafilis
    MCSE, MCT, SEC+
    LinkedIn: http://www.linkedin.com/in/lkarafilis 
    Mail: lefteris@karafilis.net 
    Bloghttp://itbully.com/ideas/ekarafilis

    • Marked as answer by

      Monday, January 14, 2013 8:56 AM

Обновлено 09.10.2018

Очистка места на RDS ферме

Добрый день! Уважаемые читатели и гости, крупного 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, очень тривиальная, я не буду ее приводить. После инсталляции запускаем утилиту. На первом экране WinDirStat, попросит вас выбрать локальный диск или каталог для сканирования файлов. В моем примере на Remote Desktop Session Host хосте, один диск C:, его я и выбирая.

Очистка места на RDS ферме-02

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

Очистка места на RDS ферме-03

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

Очистка места на RDS ферме-04

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

Самые объемные профили на RDS

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

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

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

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

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

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

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

папка Windows Installer

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

папка Windows Installer-2

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

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

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

можно ли удалять папку Windows Installer

Простой пример из жизни, один из моих приятелей удалил содержимое 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».

Установка PatchCleaner-01

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

Установка PatchCleaner-02

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

Установка PatchCleaner-03

next.

Установка PatchCleaner-04

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

Установка PatchCleaner-05

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

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

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

Правильная очистка Windows Installer-01

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

Правильная очистка Windows Installer-02

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

Правильная очистка Windows Installer-03

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

Правильная очистка Windows Installer-04

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

Правильная очистка Windows Installer-05

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

Правильная очистка Windows Installer-06

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

Правильная очистка Windows Installer-07

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

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

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

перенос папки Windows Installer

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

перенос папки Windows Installer-2

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

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

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

Я нашел ответ от разработчика 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 является «жесткими ссылками», а Проводник и файловые менеджеры это не учитывают. Реальный вес этой папки гораздо меньше, чем пишется в ее свойствах.

Очистка WinSxS

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

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

очистка папки winsxs

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

Dism.exe /online /cleanup-image /AnalyzeComponentStore

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

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

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

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

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

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

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

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

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

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

Содержание

  1. Очистить папку winsxs windows server 2012
  2. Куда девается свободное место в службах удаленных рабочих столов
  3. Очистка папки Windows от мусора
  4. Что такое и как очистить папку Installer
  5. Можно ли удалить папку Windows Installer?
  6. Как правильно очистить папку windows installer
  7. Что такое и как очистить папку ServiceProfiles
  8. Что такое и как очистить папку WinSxS
  9. Очистка папки WinSxS в Windows 10, 8 и Windows 7
  10. Можно ли удалить папку winsxs
  11. Автоматическая очистка резервных копий обновлений в WinSxS

Очистить папку winsxs windows server 2012

Добрый день! Уважаемые читатели и гости, крупного 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, очень тривиальная, я не буду ее приводить. После инсталляции запускаем утилиту. На первом экране WinDirStat, попросит вас выбрать локальный диск или каталог для сканирования файлов. В моем примере на Remote Desktop Session Host хосте, один диск C:, его я и выбирая.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В свою очередь, вы можете сделать 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 является «жесткими ссылками», а Проводник и файловые менеджеры это не учитывают. Реальный вес этой папки гораздо меньше, чем пишется в ее свойствах.

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

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

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

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

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

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

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

One of my Windows Server 2012 R2 ran out of space. A quick folder analysis using the free portable tool TreeSize revealed that both Windows.old and WinSxS folders are the ones taking most of the spaces.

Folder Analysis Windows Server 2012 600x242 - How To Clean Up Windows.old and WinSxS Folders on Windows Server 2012 R2

On Windows desktop systems, both folders are easy to clean up with the built in tool Disk Cleanup Utility. But, it’s not the case in Windows Server, especially the more recent versions like 2012 R2. You probably could enable Desktop Experience feature to bring back the Disk Cleanup Utility but it won’t guarantee to clean up these two giant folders managed by the system upgrades and updates. If you are facing the same challenge as I do, here are the options you can take away.

WinSxS, aka Windows component store, contains all the files required for a Windows installation as well as any updates to those files within the component store. Therefore, the folder could become quite big over time. Because it’s associated with system installation it’s not a good idea just simply deleting the folder. Rather, utilizing a command-line tool called DISM, Deployment Image Servicing Management, is way more appropriate. It has a parameter /cleanup-imagethat provides a few more advanced options to reduce the size of the WinSxS folder.

First of all, you can run the following to analyze the component store to see what’s included in there.

dism /online /cleanup-image /AnalyzeComponentStore

Dism to analyze the component store 600x329 - How To Clean Up Windows.old and WinSxS Folders on Windows Server 2012 R2

Then, run the following to remove superseded and unused system files from the system and reset the base so all existing updates cannot be removed after the command is completed.

dism /online /cleanup-image /StartComponentCleanup /ResetBase

It didn’t clean up a whole lot in my case, only claimed back a little over 1 GB space.

Note: If you are somehow still using Windows Server 2008 R2, installing KB2852386 after enabling Desktop Experience feature makes things a lot easy to clean up right with the Disk Cleanup Utility tool.

How to clean up WinSxS folder on Windows 2008 R2

How to clean up Windows.old on Windows Server 2012 R2

With Disk Cleanup out of the equation, manual cleanup seems to be the option left. Thanks to this Q&A at ServerFault, here is what I did to bring back over 50 GB of storage space.

First of all, run Sysinternals junction.exe utility to get a list of all junctions in a text file, junc.txt on my desktop.

junction.exe -s -q c:windows.old > %UserProfile%desktopjunc.txt

Then, run the following script in PowerShell to remove all junction points and single symbolic links on the system.

foreach ($line in [System.IO.File]::ReadLines("$env:userprofiledesktopjunc.txt"))
 {
     if ($line -match "^\\")
     {
         $file = $line -replace "(: JUNCTION)|(: SYMBOLIC LINK)",""
         & $env:userprofiledesktoppstoolsjunction.exe -d "$file"
     }
 }

Replace with the correct path for junction.exe utility and the junc.txt files, if needed.

Once that’s done, run the following to take over ownership of the windows.old folder.

takeown /f c:windows.old /r /d y

And reassign the full control rights to everyone.

cacls c:windows.old /t /g everyone:F

Then, finally to remove the whole folder.

rmdir /s /q c:windows.old

It may take a little while for the command to complete but once it’s done you will be so delighted to see how much space you just brought it back to life. Enjoy.

Понравилась статья? Поделить с друзьями:
  • Winsxs как почистить windows server 2016
  • Winsxs как очистить windows 7 утилита
  • Winsxs как очистить windows 10 программа
  • Winsxs windows 7 очистка не срабатывает
  • Winsxs backup что за папка windows