Запуск утилиты очистки диска в 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
1 2 |
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
1 2 |
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
1 2 |
copy C:\Windows\WinSxS\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.2.9200.16384_none_c60dddc5e750072\acleanmgr.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:Windowssystem32cleanmgr.exe cannot start or run due to incompatibility with 64-bit version of windows
В качестве обходного решения можно воспользоваться такой методикой:
- Установить компонент Desktop Experience: Install-WindowsFeature Desktop-Experience
- Перезагрузить сервер
- Скопировать файлы %windir%system32cleanmgr.exe и %windir%system32en-UScleanmgr.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.
Для удаления устаревших обновлений в Windows Server 2012 R2 гораздо проще воспользоваться такой командой DISM:
dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase