Come posso installare Disk Cleanup sul server Windows 2012 senza installare Desktop Experience?


14

Il problema è semplicemente che voglio fare il meglio che posso per ripulire / compattare l'unità .vhdx di una VM prima di eseguire il cmdlet Optimize-VHD. È bello usare l'utility Pulizia disco di Microsoft. Il problema è che non è installato per impostazione predefinita.

Il modo ufficiale per ottenerlo è utilizzare "Aggiungi ruoli e funzionalità" e aggiungere la funzionalità "Esperienza desktop". Ci sono effetti collaterali indesiderati a questo, tra cui la funzione richiede inoltre le funzionalità "Media Foundation" e "Ink and Handwriting". Voglio solo "Pulizia disco".


Ricorda che, a differenza del 2008, Desktop Experience è rimovibile e puoi tornare a Server Core.
Michael Hampton

Vero: in parte è così che l'ho capito. :) Ma ora non devo riavviare il mio server per "installarlo".
Granger

Inoltre, elimina tutti i file di registro in c:\windows\logs\cbs. Alcuni utenti segnalano 20+ GB consumati da questi registri. Questi registri si espandono ogni volta che esegui Pulizia disco o Aggiornamenti di Windows (e chissà cos'altro). Se non riesci a eliminarli, interrompi il TrustedInstallerservizio e riprova.
James L.

Risposte:


17

"Pulizia disco" richiede solo 2 file per funzionare (insieme, meno di 260 KB)

"cleanmgr.exe" per la tua piattaforma e un "cleanmgr.exe.mui" per la tua locale. Sono già sul tuo computer in sottocartelle in "% SystemRoot% \ WinSxS".

Innanzitutto, cerca nella cartella "% SystemRoot% \ WinSxS" "cleanmgr.exe". Probabilmente troverai i file nelle cartelle "amd64", "wow64" e "x86". Ho scelto "amd64" per entrambi i file sulla mia installazione x64 di Windows Server 2012 Standard.

Copia quei 2 file in questi percorsi:

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

(Suppongo che, se si utilizza una locale diversa, WinSxS avrebbe più scelte e si dovrebbe copiare il file .mui nella sottocartella per quella locale.)

Tecnicamente, hai finito a questo punto. Esegui "cleanmgr.exe" come amministratore se vuoi che ti mostri tutto ciò che può pulire (inclusi gli aggiornamenti di Windows non aggiornati memorizzati in WinSxS, che ora sono un'opzione in Win2012).

Se vuoi più "GUI-ness", procedi ...

Per inserire il nuovo "Pulizia disco" nel menu Start, crea un collegamento al file "cleanmgr.exe". Inserisci il nuovo collegamento nella cartella "% ProgramData% \ Microsoft \ Windows \ Start \ Programmi \ Strumenti di amministrazione"; chiamalo "Pulizia disco". Ora, nel menu Start, puoi semplicemente digitare "Pulizia disco" e avrai la possibilità di avviarlo come amministratore all'inizio.

Per visualizzare "Pulizia disco" come pulsante nella finestra di dialogo Proprietà dell'unità disco, è necessario modificare il registro per aggiungere una nuova chiave e "Valore stringa espandibile". Creare un nuovo file di testo .reg e incollare quanto segue:

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

La stringa esadecimale è "% SystemRoot% \ System32 \ cleanmgr.exe / D% c", nel caso in cui desideri aggiungerlo manualmente. Per me, avevo solo bisogno di aggiungere la prima chiave. La seconda chiave era solo un altro posto in cui ho trovato l'impostazione. Cordiali saluti, c'erano altri 2 posti nel registro che si occupavano di "cleanmgr.exe", ma per fortuna non avevano importanza per questo, dato che usavano alcune cose GUID ClassID.


2
Se utilizzi un sistema operativo a 64 bit, nella winsxscartella sono presenti due set di file . I amd64file vanno in c:\windows\system32e c:\windows\system32\en-US, e i x86file vanno in c:\windows\syswow64e c:\windows\syswow64\en-US.
James L.

Sembra che questo metodo non sia completo. In questo modo non mi sembra la possibilità di rimuovere "Installazioni precedenti di Windows". L'installazione di Desktop Experience su un determinato host fa ... Controllerò qualche altro server per confermare.
Michael Bisbjerg,

1
Ho provato questo su Win2012 R2, ma Windows mi dice che non supporta l'esecuzione di vecchie applicazioni a 16 bit (!). Guardato in EXE, sembra essere compresso, ma non sembra esserci alcuna utilità ufficiale per estrarlo. Ho trovato questo su GitHub, ha funzionato bene sulla mia installazione e ho fatto funzionare la procedura guidata di pulizia: github.com/hfiref0x/SXSEXP
Ale

Sembra che questo non funzioni più nel 2018. Ho più sottocartelle (amd64, x86, wow64) nella directory WinSxS con più copie di cleanmgr.exe / cleanmgr.mui e nessuna delle combinazioni sembra funzionare: l'EXT esce appena come è gestito. Ho anche dovuto usare lo strumento SXSEXP menzionato da @Ale per rendere eseguibile il cleanmgr.exe.
Ian Kemp,

funziona solo parzialmente (nessuna opzione "ripulisci i file di sistema")
jitbit
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.