Jak zainstalować Oczyszczanie dysku na serwerze Windows 2012 bez instalowania pulpitu?

14

Problem polega po prostu na tym, że chcę zrobić wszystko, co w mojej mocy, aby wyczyścić / skompresować dysk .vhdx maszyny wirtualnej przed uruchomieniem polecenia cmdlet Optimize-VHD. Miło jest korzystać z narzędzia Microsoft Disk Cleanup. Problem polega na tym, że nie jest domyślnie instalowany.

Oficjalnym sposobem uzyskania tego jest użycie „Dodaj role i funkcje” oraz dodanie funkcji „Desktop Experience”. Są to niepożądane skutki uboczne, wśród których ta funkcja wymaga dodatkowo funkcji „Media Foundation” oraz „Ink and Handwriting”. Chcę tylko „Oczyszczania dysku”.

Granger
źródło
Pamiętaj, że w przeciwieństwie do 2008 Desktop Desktop jest wymienny i możesz wrócić do Server Core.
Michael Hampton
To prawda: częściowo tak to rozgryzłem. :) Ale teraz nie muszę ponownie uruchamiać serwera, aby go „zainstalować”.
Granger
Usuń także wszystkie pliki dziennika w obszarze c:\windows\logs\cbs. Niektórzy użytkownicy zgłaszają, że dzienniki te zużywają ponad 20 GB. Te dzienniki są rozszerzane przy każdym uruchomieniu narzędzia Oczyszczanie dysku lub Aktualizacji systemu Windows (i kto wie, co jeszcze). Jeśli nie możesz ich usunąć, zatrzymaj TrustedInstallerusługę i spróbuj ponownie.
James L.

Odpowiedzi:

17

„Oczyszczanie dysku” wymaga tylko 2 plików do działania (łącznie mniej niż 260 KB)

„cleanmgr.exe” dla Twojej platformy i „cleanmgr.exe.mui” dla Twojej lokalizacji. Są już na twoim komputerze w podfolderach pod „% SystemRoot% \ WinSxS”.

Najpierw wyszukaj w folderze „% SystemRoot% \ WinSxS” „cleanmgr.exe”. Pliki prawdopodobnie znajdziesz w folderach „amd64”, „wow64” i „x86”. Wybrałem „amd64” dla obu plików w mojej instalacji Windows Server 2012 Standard x64.

Skopiuj te 2 pliki do następujących lokalizacji:

  • % SystemRoot% \ System32 \ cleanmgr.exe
  • % SystemRoot% \ System32 \ en-US \ cleanmgr.exe.mui

(Zakładam, że jeśli używasz innego ustawienia narodowego, WinSxS będzie miał więcej możliwości i będziesz musiał skopiować plik .mui do podfolderu dla tych ustawień regionalnych).

Technicznie rzecz biorąc, w tym momencie skończyłeś. Uruchom „cleanmgr.exe” jako Administrator, jeśli chcesz, aby pokazywał ci wszystko, co może wyczyścić (w tym nieaktualne Aktualizacje Windows przechowywane w WinSxS, które są teraz opcją w Win2012).

Jeśli chcesz uzyskać więcej „GUI-ness”, kontynuuj ...

Aby przenieść nowe „Oczyszczanie dysku” do menu Start, utwórz skrót do pliku „cleanmgr.exe”. Umieść nowy skrót w folderze „% ProgramData% \ Microsoft \ Windows \ Start Menu \ Programs \ Administrative Tools”; nazwij to „Oczyszczanie dysku”. Teraz, gdy jesteś w menu Start, możesz po prostu wpisać „Oczyszczanie dysku”, a na początku będziesz mieć możliwość uruchomienia go jako Administrator.

Aby „Oczyszczanie dysku” wyświetlało się jako przycisk w oknie dialogowym Właściwości napędu dyskowego, musisz zmienić rejestr, aby dodać nowy klucz i „Wartość ciągu rozwijanego”. Utwórz nowy plik tekstowy .reg i wklej w następujący sposób:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\cleanuppath]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6c,00,\
  65,00,61,00,6e,00,6d,00,67,00,72,00,2e,00,65,00,78,00,65,00,20,00,2f,00,44,\
  00,20,00,25,00,63,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\cleanuppath]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6c,00,\
  65,00,61,00,6e,00,6d,00,67,00,72,00,2e,00,65,00,78,00,65,00,20,00,2f,00,44,\
  00,20,00,25,00,63,00,00,00

Ciąg szesnastkowy to „% SystemRoot% \ System32 \ cleanmgr.exe / D% c”, na wypadek, gdybyś chciał dodać go ręcznie. Dla mnie potrzebowałem tylko pierwszego klucza do dodania. Drugi klucz był po prostu kolejnym miejscem, w którym znalazłem ustawienie. Do Twojej wiadomości, w rejestrze były 2 inne miejsca zajmujące się plikiem „cleanmgr.exe”, ale na szczęście nie miały one znaczenia, ponieważ korzystały z niektórych identyfikatorów GUID ClassID.

Granger
źródło
2
Jeśli korzystasz z 64-bitowego systemu operacyjnego, w winsxsfolderze znajdują się dwa zestawy plików . Te amd64pliki iść c:\windows\system32i c:\windows\system32\en-US, a x86pliki iść c:\windows\syswow64i c:\windows\syswow64\en-US.
James L.
Wygląda na to, że ta metoda nie jest kompletna. Nie wydaje mi się, aby to zrobiło, aby usunąć opcję „Poprzednie instalacje systemu Windows”. Instalowanie Desktop Experience na danym hoście nie. Sprawdzę kilka dodatkowych serwerów, aby to potwierdzić.
Michael Bisbjerg 21.04.16
1
Próbowałem tego na Win2012 R2, ale Windows mówi mi, że nie obsługuje uruchamiania starych 16-bitowych aplikacji (!). Patrząc na plik EXE, wydaje się być skompresowany, ale wydaje się, że nie ma oficjalnego narzędzia do jego wyodrębnienia. Znalazłem ten na GitHubie, działał dobrze w mojej instalacji i uruchomiłem kreatora oczyszczania: github.com/hfiref0x/SXSEXP
Ale
Wygląda na to, że nie działa to już od 2018 roku. Mam wiele podfolderów (amd64, x86, wow64) w katalogu WinSxS z wieloma kopiami cleanmgr.exe / cleanmgr.mui i żadna z tych kombinacji nie działa - plik EXE po prostu zamyka się jak najszybciej jak to działa. Musiałem także użyć narzędzia SXSEXP wspomnianego przez @Ale, aby plik cleanmgr.exe był nawet wykonywalny.
Ian Kemp,
działa tylko częściowo (brak opcji „wyczyść pliki systemowe”)
jitbit