La cartella WinSxS: lo spazio per i backup dei file di sistema
Su un computer appena acquistato o su cui è stato appena reinstallato il sistema operativo, lo spazio in memoria può apparire enorme. In quanto utenti, capita di chiedersi se davvero abbiamo bisogno di 500 gigabyte o 1 terabyte di memoria. Tuttavia, dopo svariati mesi di utilizzo e l’installazione di varie applicazioni più o meno ingombranti, la situazione si presenta molto diversa. La memoria libera diminuisce sempre di più e per ragioni apparentemente inspiegabili. Un motivo risiede nel fatto che, per l’aggiornamento e la gestione dei suoi file di sistema, il sistema operativo Windows necessita di una quantità non trascurabile di spazio in memoria.
Di norma gli aggiornamenti sono scaricati e installati in background. Se un aggiornamento fallisce, è possibile ricaricare la versione precedente di un’applicazione. Questa si trova infatti ancora in una cartella di sistema denominata WinSxS. Questa cartella ha anche altre importanti funzioni. Con il passare del tempo occupa un considerevole spazio in memoria. È quindi logico chiedersi in quali situazioni e in che modo è possibile ripulire la cartella WinSxS. In nessun caso, tuttavia, si dovrebbero cancellare manualmente i file dalla cartella WinSxS, perché potrebbe compromettere gravemente il funzionamento del sistema.
Qualche dettaglio sulla cartella WinSxS
La cartella fa parte delle cartelle standard delle installazioni Windows. Per questo è situata nella partizione del sistema. WinSxS è l’abbreviazione di “Windows-Side-by-Side". Tradotto letteralmente, “Side-by-Side” significa “fianco a fianco”. Lo scopo della cartella risulta quindi subito chiaro: le versioni dei file vengono salvate l’una accanto all’altra. La denominazione italiana della cartella WinSxS è “archivio componenti”. Essa contiene prevalentemente file di sistema e può raggiungere un volume di vari Gigabyte.
A cosa serve WinSxS?
La cartella WinSxS contiene i file necessari per il ripristino del sistema. In particolare viene utilizzata per le seguenti finalità:
- Salvataggio parallelo delle diverse versioni delle librerie dinamiche (DLL) e di altri file di sistema: può accadere che applicazioni ormai datate non siano compatibili con le modifiche delle DDL. Per questo, nella cartella WinSxS sono offerte diverse versioni contemporaneamente.
- Attivazione e disattivazione di funzioni durante l’esecuzione: alcune funzioni di Windows, come ad esempio la soluzione di virtualizzazione Hyper-V e il sistema Sandbox che si basa su di esso, possono essere attivate senza installazione successiva. Anche questi file si trovano in questo percorso.
- Aggiunta di ruoli sui sistemi operativi server: le funzioni sui sistemi operativi Windows Server vengono chiamate anche “ruoli”. Il server può, ad esempio, assumere il ruolo di server DHCP all’interno della rete. Anche per queste estensioni si utilizza la cartella WinSxS.
- Ripristino del sistema in caso di problemi di avvio: se il sistema operativo non si avvia, può essere riavviato in una modalità di ripristino. Questo permette di ricaricare versioni precedenti dei programmi di sistema.
- Disinstallazione di aggiornamenti problematici: quando Windows esegue un aggiornamento non cancella la versione precedente, ma la salva per poterla eventualmente ricaricare in caso di problemi.
Come gestire la cartella WinSxS
I sistemi operativi di Microsoft offrono diverse possibilità per fare pulizia nella cartella WinSxS. Per eseguire questa operazione non sono necessari programmi esterni. Esistono pochissime differenze tra le versioni Windows comunemente utilizzate 8, 8.1, 10 e le varianti Server. Per tutte le versioni accade che la dimensione della cartella di sistema visualizzata in “Esplora risorse” non corrisponde necessariamente allo spazio di memoria realmente occupato. Questo accade in ragione di un meccanismo chiamato hard linking, vale a dire i collegamenti fisici a file esistenti.
Con il termine collegamenti (chiamati anche “link”) si intendono elementi che fanno riferimento ad altri file. Si distingue tra i cosiddetti collegamenti fisici (hard link) e i collegamenti simbolici (soft link o symbolic link). Il contenuto di un file viene salvato nel file system separatamente rispetto ai metadati (nome, percorso di salvataggio). Quando si crea un hard link, si inserisce un nuovo nome che fa riferimento allo spazio in memoria di un file esistente. Il nuovo nome inserito coincide con il file originario. Nel caso dei soft link, invece, si crea solo un rimando al file originario. In Windows, i soft link hanno l’estensione .lnk.
È importante tenere a mente che le versioni dei programmi non più necessarie dovrebbero essere cancellate dalla cartella WinSxS solo se il sistema è stabile ormai da tempo. La cancellazione di file dalla cartella WinSxS potrebbe non permettere più di effettuare downgrade a una versione precedente o di eliminare aggiornamenti falliti.
Windows 8, 8.1, 10, Server 2012
Per ripulire la cartella WinSxS, Windows offre la funzione di pulizia del disco. Questa funzione permette di eseguire la pulizia anche di altre cartelle di Windows. La funzione può essere richiamata nel campo di ricerca oppure digitando cleanmgr.exe nel prompt dei comandi di Windows. Per prima cosa, all’utente viene richiesto di specificare quale unità deve essere pulita. Successivamente viene visualizzato un campo di selezione con gli elementi da pulire. Tra questi figurano, ad esempio:
- File di programmi scaricati
- File temporanei di Internet
- File di ottimizzazione recapito
- File temporanei
Inoltre viene indicato quanto spazio di memoria potrebbe essere liberato. Dopo avere selezionato le categorie desiderate, si conferma con il pulsante “OK”. Viene visualizzata una domanda di sicurezza, infine la pulizia viene eseguita automaticamente.
Ulteriori opzioni sono disponibili alla voce “Pulizia file di sistema”, a cui tuttavia si può accedere solo se si dispone dei diritti di amministratore. Il programma si riavvia chiedendo di specificare quale unità si desidera pulire. Successivamente vengono proposti altri campi di selezione:
- Pulizia di Windows Update
- Windows Defender Antivirus
- File di registro dell’aggiornamento di Windows
- Pacchetti driver di dispositivo
Una pratica alternativa per eseguire la pulizia della cartella WinSxS è costituita dal programma della riga di comando dism.exe. A questo scopo, il prompt dei comandi (cmd.exe) deve essere avviato con i diritti di amministratore. Il comando Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore analizza la cartella WinSxS per rilevare lo spazio in memoria realmente utilizzato. L’esito del comando fornisce inoltre informazioni utili, ad esempio la data dell’ultima pulizia, e rivela per quali componenti viene utilizzata la memoria. Il tool offre anche la funzione di cleanup di WinSXS: Dism.exe /Online /Cleanup-Image /StartComponentCleanup
Altre opzioni utili del programma sono:
- Dism.exe /Online /Cleanup-Image /ScanHealth per analizzare la cartella WinSxS
- Dism.exe /Online /Cleanup-Image /RestoreHealth per eliminare gli errori rilevati. Come per tutte le cartelle, anche in questo caso esiste la possibilità di ricorrere alla compressione per ridurre le dimensioni di WinSxS. Per prima cosa, dal menu a scelta rapida selezionate Proprietà, quindi “Avanzate”. Successivamente spuntate il campo di selezione “Comprimi contenuto per risparmiare spazio su disco”.
Windows 7
In generale, non è consigliabile utilizzare ancora sistemi con Windows 7. Dal 14 gennaio 2020, per questa versione del sistema operativo non sono più distribuiti aggiornamenti di sicurezza. Se però lo utilizzate ancora, ad esempio come sistema standalone per una determinata applicazione, vi spieghiamo brevemente come gestire la cartella WinSxS in Windows 7.
In questa versione, la funzione di pulizia del disco è già disponibile e non presenta differenze sostanziali rispetto ad altre versioni di Windows. Pertanto può essere utilizzata come descritto in precedenza. Il tool dism.exe è stato introdotto con la versione Windows 7. Tuttavia non ha le medesime funzioni, poiché ad esempio mancano le opzioni per la scansione della cartella e per l’eliminazione degli errori.
Alternative per risparmiare spazio in memoria
Se non fosse sufficiente ridurre le dimensioni della cartella WinSxS, esistono altri modi per ottenere più spazio su disco:
- Disattivazione dell’ibernazione del sistema: per l’ibernazione viene creato un file immagine denominato hiberfil.sys che può assumere dimensioni non irrilevanti.
- Trasferimento dei profili utente su un’altra unità: se si vuole evitare di reinstallare il sistema operativo, dalla voce “Proprietà” del menu di scelta rapida, nella scheda “Percorso” è possibile modificare il percorso delle sottocartelle del profilo utente. È anche possibile scegliere un’altra unità, ad esempio un nuovo disco rigido.
- Trasferimento delle cartelle dei programmi: i programmi particolarmente pesanti possono essere perlopiù installati su altre unità.
- Disinstallazione di programmi e funzioni non necessari attraverso la voce di menu “App e funzionalità” del pannello di controllo.
- Cancellazione di cartelle non necessarie come Windows.old.
- Disattivazione dei punti di ripristino.
In alcuni casi pulire le cartelle di Windows non è sufficiente ma è meglio ricorrere alla reinstallazione o al resett del sistema. A questo riguardo esistono anche delle varianti che non compromettono i programmi installati o i file personali. Esistono a questo proposito alcune differenze tra le versioni Windows 7, Windows 8 e Windows 10.
Perché non si può semplicemente cancellare il contenuto di WinSxS?
Nella cartella WinSxS, Windows salva informazioni rilevanti per il sistema. Se tali informazioni vengono cancellate o spostate, determinati processi potrebbero non funzionare più correttamente. Per quale motivo?
Unità di Windows
Windows viene generalmente installato nella prima partizione del disco rigido utilizzato. Le partizioni sono denominate anche unità o volumi. Insieme, costituiscono un unico dispositivo di memoria. Alla prima partizione di un disco rigido viene generalmente assegnata la lettera di unità “C”. Al percorso C:\Windows\ si trova la maggior parte dei file e delle cartelle rilevanti per il sistema operativo, tra cui anche la cartella WinSxS.
Questi contenuti non possono essere trasferiti liberamente su altre unità, poiché in questo caso non verrebbero più trovati dai componenti del sistema operativo. Per questo, in fase di installazione è importante prevedere uno spazio in memoria sufficiente per la partizione di sistema.
Lo spazio di memoria di un disco rigido deve essere gestito in strutture compatibili con il sistema operativo. A questo scopo vengono create una o più partizioni. Lo spazio di memoria viene suddiviso in modo logico. Ciascuna partizione viene formattata con un file system che gestisce le strutture delle cartelle e i file, compresi i metadati. Il disco rigido contiene una tabella delle partizioni in cui sono inserite tutte le partizioni.
Aggiornamenti, service pack e hotfix
Ormai da tempo i sistemi operativi e altre applicazioni non sono più prodotti statici che vengono installati un’unica volta per poi essere utilizzati per diversi anni. La loro complessità e l’emergere di requisiti sempre nuovi rendono necessari costanti miglioramenti o ampliamenti. A questo scopo esistono diverse possibilità: gli hotfix (correzioni rapide di singoli errori), gli update (aggiornamenti programmati) e i service pack (raccolte di aggiornamenti e hotfix) accedono alle informazioni in WinSxS per rilevare lo stato del sistema. Se nella cartella mancano i rimandi necessari, gli aggiornamenti del sistema operativo non vengono installati o vengono installati in modo errato.
La differenza tra i termini update e upgrade risiede nel contenuto funzionale dell’aggiornamento. Un update migliora un software generalmente solo nell’ambito delle funzioni esistenti. Un upgrade è un salto di livello del software a una versione superiore disponibile o a una nuova versione. Il downgrade indica il ripristino di una versione del software precedente o dotata di un minor numero di funzioni e viene eseguito nel caso in cui le versioni più recenti causino errori.
Struttura modulare dei software
L’esistenza di dipendenze tra i software e le librerie o le funzioni di sistema è dovuta alla struttura modulare dei software. Alcune funzioni, come ad esempio l’apertura dei file o il controllo dell’ora di sistema, sono utilizzate da diversi programmi. Il sistema operativo le mette a disposizione attraverso delle interfacce di programmazione, in modo tale che gli sviluppatori possano importarle nei propri software. Molte librerie di funzioni si trovano nella cartella WinSxS. Se questi file vengono cancellati inavvertitamente può accadere che diversi programmi non funzionino più correttamente.
In sintesi
In particolare nel caso di laptop o computer il cui sistema operativo è installato su una SSD, il problema della memoria disponibile si ripresenta ripetutamente. Eseguendo la pulizia della cartella WinSxS ci si può liberare dell’inutile ingombro di file non più necessari. L’importante è non cancellare manualmente i contenuti della cartella WinSxS. Qualunque cancellazione deve avvenire utilizzando gli strumenti di Windows. Se sono stati da poco installati aggiornamenti di grandi dimensioni, sarebbe bene rinunciare a quest’operazione. In caso contrario potrebbe non essere più possibile disinstallare eventuali aggiornamenti problematici.