Windows server 2008 R2, Windows 7, Windows server 2012 e Windows 8 ridurre lo spazio occupato dal Component Store (cartella WinSXS)

Ciao a tutti,

in un precedente post datato 2010, il mio collega Stefano Gagliardi ha brillantemente descritto cosa è il Component Store di Windows e come ridurre lo spazio occupato dalla cartella WinSXS.

Se non avete letto il vecchio articolo, vi consiglio di farlo adesso dato che nel mio post non ripeterò le informazioni già discusse per brevità.

Se avete letto l’articolo linkato sopra sapete già di cosa stiamo parlando: il Component Store e la cartella WinSXS che spesso può apparire con una dimensione (apparente) di decine di GB.

Per dare un esempio di dimensioni “apparenti” della cartella WinSxs, riporto sotto i valori visibili su alcune virtual machine del mio laboratorio (i valori sono puramente indicativi):

OS Dimensione apparente di WinSXS
Windows Server 2008 R2 6,5GB
Windows 7 6,2GB
Windows 2012 5,38GB
Windows 8 7,95GB

Prima di descrivere gli strumenti che abbiamo a disposizione nelle versioni più recenti dei sistemi operativi Microsoft per ridurre lo spazio occupato da WinSXS, una precisazione è d’obbligo:

Non eliminare o modificare manualmente il contenuto della cartella “C:\Windows\WinSXS” perchè questo non è supportato da Microsoft!

A differenza di Windows server 2008 e Windows Vista, le nuove versioni di sistema operativo effettuano lo scavenging automatico dei file non più utili al sistema; quindi non occorre avviare manualmente dello scavenging come era consigliato per Windows server 2008 e Vista.

Cleanmgr, ovvero Disk Cleanup tool

La riduzione dello spazio utilizzato dal Component Store può essere svolta facilmente dal tool Disk Cleanup Tool (cleanmgr.exe).

In realtà questo tool permette di eliminare file da varie fonti e non solo dal Component Store; quindi se il vostro obiettivo è “fare spazio”, questo è uno dei tool da usare.

Disk Cleanup può essere eseguito digitando nel menu start o in Run “cleanmgr.exe”; dopo qualche secondo di caricamento, verrà visualizzato un’intuitiva finestra come quelle di seguito illustrate:

imageimage

Se richiesto, selezionare il disco su cui cleanmgr dovrà effettuare le attività di pulizia:

image

Come potete notare, non c’è grande differenza tra i due aspetti se non lo stile grafico specifico del sistema operativo (Windows 7/Windows server 2008 r2 sulla sinistra e Windows 8/Windows server 2012 sulla destra).

La differenza tra i sistemi operativi client e server è che il tool è disponibile direttamente nei client Window 7/8; sulle versioni server occorre abilitare la feature Desktop-Experience oppure effettuare il passaggio di seguito descritto per Windows server 2008 R2.

Abilitare Disk Cleanup tool su Windows server 2008 R2

Come descritto nell’articolo http://technet.microsoft.com/en-us/library/ff630161(v=ws.10).aspx, cleanmgr può essere reso disponibile senza abilitare la feature Desktop-Experience, che aggiungerebbe ulteriori funzionalità non richieste.

Ciò che occorre fare è la copia di due file in altrettanti percorsi; in particolare, occorre copiare:

  • il file

    C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exe

    in

    %systemroot%\System32 

  • il file
    C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_en-us_b9cb6194b257cc63\cleanmgr.exe.mui
    in
    %systemroot%\System32\en-US

Una volta fatto ciò, basterà eseguire Cleanmgr.exe dalla command prompt o come suggerito sopra.

Abilitare la feature Desktop-Experience su Windows Server 2008 R2 e 2012

In Windows server 2012 attualmente non è presente l’eseguibile e il file mui di cleanmgr nel Component Store (questo dettaglio potrebbe cambiare in futuro).

Quindi per abilitare Cleanmgr.exe, occorre aggiungere la feature Desktop-Experience sul vostro server; ciò aggiungerà anche altri tool e funzionalità che, solitamente, non sono necessari in ambiente enterprise. Un elenco delle funzionalità aggiunte dal Desktop-Experience su WIndows server 2008 R2 è disponibile in questo articolo http://technet.microsoft.com/en-us/library/cc772567.aspx.

Su Windows Server 2008 R2 si può abilitare la feature Desktop-Epercience da server manager, sotto la sezione feature:

image

In Windows server 2012, si può abilitare la medesima feature tramite Powershell, eseguendo il comando:

Add-WindowsFeature Desktop-Experience

Rimozione dei file di installazione di un Service Pack su Windows Server 2008 R2 e Windows 7

Nel momento in cui scrivo questo post, non è stato rilasciato alcun service pack per Windows server 2012 o Windows 8, quindi questo paragrafo è dedicato esclusivamente a Windows 7 e Windows server 2008 R2 con Service Pack.

Esistono due possibilità per rimuovere permanentemente file relativi all’installazione di Service Pack:

  • Usare il tool Cleanmgr (discusso nelle sezioni precedenti)
  • Eseguire il comando:
    DISM /online /Cleanup-Image /SpSuperseded

 

Articoli consigliati

Di seguito un elenco di articoli che consiglio per approfondire l’argomento. Alcuni contenuti potrebber essere disponibili in sola lingua inglese:

 

Buon 2013 a tutti voi, augurando che il nuovo anno sia migliore dei precedenti.

Alessandro Caniglia
Support Engineer
Microsoft Enterprise Platform Support