Запуск утиліти очищення диска в 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 can not start or run due to incompatibility with 64-bit version of windows

Як обхідного рішення можна скористатися такою методикою:

  1. Встановити компонент Windows 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