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


Запуск утилиты очистки диска (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.

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

ОС Архитектура   Расположение файла
Windows Server 2008 R2 64-bit C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exe
Windows Server 2008 R2 64-bit C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_en-us_b9cb6194b257cc63\cleanmgr.exe.mui
Windows Server 2008 64-bit C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.0.6001.18000_en-us_b9f50b71510436f2\cleanmgr.exe.mui
Windows Server 2008 64-bit C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.0.6001.18000_none_c962d1e515e94269\cleanmgr.exe.mui
Windows Server 2008 32-bit C:\Windows\winsxs\x86_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.0.6001.18000_en-us_5dd66fed98a6c5bc\cleanmgr.exe.mui
Windows Server 2008

 

32-bit

 

C:\Windows\winsxs\x86_microsoft-windows-cleanmgr_31bf3856ad364e35_6.0.6001.18000_none_6d4436615d8bd133\cleanmgr.exe

 

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

  • 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 сервере.