У Windows Server 2008 / R2 і 2012 / R2 за замовчуванням не встановлена утиліта очищення диска - Disk Cleanup (cleanmgr.exe), Що дозволяє видалити непотрібні файли і очистити каталог WinSxS від файлів застарілих оновлень. Для її запуску потрібно спочатку встановити окремий компонент сервера Desktop Experience (Можливості робочого столу) за допомогою Server Manager або за допомогою PowerShell (Install-WindowsFeature Desktop-Experience
).
Але разом з 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Як обхідного рішення можна скористатися такою методикою:
- Встановити компонент Windows Desktop Experience:
Install-WindowsFeature Desktop-Experience
- перезавантажити сервер
- Скопіювати файли%windir% \ system32 \ cleanmgr.exe і% windir% \ system32 \ en-US \ cleanmgr.exe.mui в довільний каталог (c: \ temp)
- Видалити фичу:
Uninstall-WindowsFeature Desktop-Experience
- перезавантаження
- Скопіювати файли 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