Очистка хранилища компонент Windows в каталоге WinSxS. Очистка диска windows server 2018 r2


Очистка папки Windows от мусора (Installer, ServiceProfiles, WinSxS) на 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:\, его я и выбирая.

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

Как видим, у меня самым объемным является папка 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:\Windows\Installer лежат инсталляторы программ, которые используются для их правильного удаления, восстановления. Простой пример, когда вы заходите в панель управления Windows, то на большинстве программ вы видите эти статусы.

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

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

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

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

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

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

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

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

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

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

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

next.

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

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

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

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

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

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

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

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

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

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

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

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

mklink /j "c:\windows\installer" "e:\Installer"

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

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

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

Я нашел ответ от разработчика 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:\Windows\ServiceProfiles\LocalService\AppData\Local /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. Запускаем командную строку от имени администратора и вводим команду:

Dism.exe /online /cleanup-image /AnalyzeComponentStore

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

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

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

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

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

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

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

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

pyatilistnik.org

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

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

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

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

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

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

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

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

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

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

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

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

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

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

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

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

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

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

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

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

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

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

Поделиться ссылкой на эту запись:

Похожее

blog.it-kb.ru

Запуск утилиты Disk Cleanup в Windows Server 2012 и 2008 без Desktop Experience |

В 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.

Ниже показаны пути расположения файлов в зависимости от архитектуры и версии сервера.

Папки назначения у файлов:

  • Cleanmgr.exe в %systemroot%\System32.
  • Cleanmgr.exe.mui в %systemroot%\System32\en-US.

И команды, что б скопировать

Windows Server 2008 R2 x64

 

copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exe C:\Windows\System32\ copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_en-us_b9cb6194b257cc63\cleanmgr.exe.mui C:\Windows\System32\en-US\

Windows Server 2008 x64

copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.0.6001.18000_none_c962d1e515e94269\cleanmgr.exe C:\Windows\System32\ copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.0.6001.18000_en-us_b9f50b71510436f2\cleanmgr.exe.mui C:\Windows\System32\en-US\

Для Windows Server 2012 x64 не всё так просто. После обновления KB2821895 пропала возможность копировать файлы из winsxs, так как стала использоваться компрессия.

Просто скопировать файлы не удастся, так как система будет ругаться на несоответствие архитектуры. Если установить Desktop Experience, то видно, что файлы бóльшего размера чем те, что из папки winsxs.

Но их можно скопировать отдельно и развернуть на другом сервере простым копированием.

 

Архив с файлами, взятыми из Windows Server 2012 R2 ENU можно скачать отсюда.

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

Далее же утилиту очистки можно запустить командой cleanmgr из-под администратора.

 

Так же, для удаления старых обновлений в Windows Server 2012 R2 можно воспользоваться командой DISM:

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

Но я встречался, что и dism может отсутствовать в 2012 сервере.

ithelp.bakabuka.com

Запуск утилиты очистки диска (в т.ч. winsxs) в Windows Server 2012 и 2008 без Desktop Experience | IT блоги

Совет. В 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

adminotes.ru

Запуск утилиты очистки диска в Windows Server 2012 R2 и 2008 без Desktop Experience

В 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:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exe C:\Windows\System32\

copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_en-us_b9cb6194b257cc63\cleanmgr.exe.mui C:\Windows\System32\en-US\

Windows Server 2008 x64

copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.0.6001.18000_none_c962d1e515e94269\cleanmgr.exe C:\Windows\System32\

copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.0.6001.18000_en-us_b9f50b71510436f2\cleanmgr.exe.mui C:\Windows\System32\en-US\

Windows Server 2012 x64

copy C:\Windows\WinSxS\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.2.9200.16384_none_c60dddc5e750072a\cleanmgr.exe C:\Windows\System32\

copy C:\Windows\WinSxS\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.2.9200.16384_en-us_b6a01752226afbb3\cleanmgr.exe.mui C:\Windows\System32\en-US\

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

Windows Server 2012 R2 x64

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

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

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

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

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

Ссылка на скачивание готового комплекта файлов cleanmgr.exe.mui + cleanmgr.exe для Windows Server 2012 R2 на ЯндексДиске (thks Alex Kornev)

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

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

winitpro.ru

Как добавить утилиту очистка диска в Windows Server 2008 R2

Как добавить утилиту очистка диска в Windows Server 2008 R2

Как добавить утилиту очистка диска в Windows Server 2008 R2

Как добавить утилиту очистка диска в Windows Server 2008 R2-01

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

Утилита cleanmgr

Утилита cleanmgr или очистка диска, появилась после первого сервис пака Windows 7 и Windows Server 2008 R2, так как на тот момент большинство людей не имели большого объема жестких дисков, да и по старинке оставляли под системный диск до 15 ГБ пространства, некий такой пережиток прошлого от XP. Но так как далее операционные системы стали более прожорливые, да и поменяли механизм обновления, скачивая их себе локально, для последующей установки, все бы хорошо, но они потом не удалялись, тем самым захламляя и без того забитый системный диск. Так продолжаться не могло, и компания Microsoft выпустила утилиту очистка диска (cleanmgr), призванную как раз и бороться со старыми хвостами от обновлений.

Добавляем cleanmgr в систему

необходимо скопировать уже имеющийся на диске cleanmgr.exe в %systemroot%\System32 и cleanmgr.exe.mui в %systemroot%\System32\Ru-Ru. В различных редакциях, эти файлы лежат в разных местах.

В 2008 32bit:

  • C:\Windows\winsxs\x86_microsoft-windows-cleanmgr_31bf3856ad364e35_6.0.6001.18000_none_6d4436615d8bd133\cleanmgr.exe
  • C:\Windows\winsxs\x86_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.0.6001.18000_en-us_5dd66fed98a6c5bc\cleanmgr.exe.mui 

Для 2008 64bit:

  • C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.0.6001.18000_en-us_b9f50b71510436f2\cleanmgr.exe.mui 
  • C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.0.6001.18000_none_c962d1e515e94269\cleanmgr.exe.mui 

Для 2008r2:

  • C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exe 

Как добавить утилиту очистка диска в Windows Server 2008 R2-02

  • C:\Windows\winsxs\x86_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_ru-ru_a6cdddc54aff56d4\cleanmgr.exe.mui 

Как добавить утилиту очистка диска в Windows Server 2008 R2-03

После того, как cleanmgr.exe оказался в %systemroot%\System32, а cleanmgr.exe.mui — в %systemroot%\System32\RU-RU,

Как добавить утилиту очистка диска в Windows Server 2008 R2-04

запустить «Очистку диска» можно либо из %systemroot%\System32, либо набрав в командной строке «cleanmgr».

Апр 27, 2015 10:53 Иван Семин

pyatilistnik.org

Как добавить утилиту Очистка диска в Windows Server 2008 R2 и 2012 R2

Как добавить утилиту Очистка диска в Windows Server 2008 R2 ?

Можно пойти легким путем, и добавить компонент "Возможности рабочего стола" в Server Manager:Но вместе с мастером очистки диска поставятся ненужные компоненты. Поэтому правильнее будет сделать так, как советует Microsoft. Для Windows Server 2008 R2:1. Cleanmgr.exe копируем в %systemroot%\System32.2. Cleanmgr.exe.mui копируем в %systemroot%\System32\en-US.Эти файлы изначально находятся тут:

C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exeC:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_en-us_b9cb6194b257cc63\cleanmgr.exe.mui

Теперь можно запускать очистку диска (cleanmgr), обязательно от имени администратора.

В Windows Server 2012 R2 придется добавлять вышеупомянутые возможности рабочего стола:или с помощью PowerShell:

Install-WindowsFeature Desktop-Experience Запись опубликована автором MishLen в рубрике Server 2008 R2, Server 2012 R2 с метками cleanmgr. Добавьте в закладки постоянную ссылку.

linux-freebsd.ru