Spiegazione della cartella Winsxs

Gli utenti Windows che hanno eseguito un analizzatore di spazio su disco come TreeSize negli ultimi giorni potrebbero essersi imbattuti per la prima volta nella cartella Winsxs nella directory di Windows.

La cartella di solito ha una dimensione compresa tra circa 5 e 8 Gigabyte su Windows Vista e Windows 7, tuttavia ci sono segnalazioni di cartelle più grandi, fino a 16 Gigabyte.

Soprattutto gli utenti di Windows XP che recentemente sono passati a Windows 7 potrebbero essersi chiesti perché la dimensione della cartella sia aumentata da pochi Megabyte a Gigabyte.

I motori di ricerca e le bacheche di messaggi Internet sono pieni di domande sulla cartella, molti utenti vogliono sapere se è sicuro eliminare la cartella Winsxs, se deve essere inclusa nei backup del sistema operativo o perché ha dimensioni così grandi rispetto ad altre Cartelle di Windows.

WinSxS

È importante dare un'occhiata indietro nel tempo. In Windows 9x, il sistema operativo presentava problemi con le librerie a collegamento dinamico, più precisamente con versioni diverse della stessa dll. Semplicemente non c'era modo di archiviare più versioni di una dll, il che causava incompatibilità e altri problemi.

Quindi in Windows ME, Microsoft ha iniziato a includere le opzioni per memorizzare più versioni di dll utilizzando lo stesso nome nel sistema operativo. Non è stato fino a Windows Vista che questa tecnologia è stata trasformata in ciò che gli utenti di Vista e Windows 7 stanno vivendo oggi.

Se apri la cartella in Esplora risorse, noterai un enorme elenco di cartelle, con ogni cartella contenente almeno un file, ma spesso più file. Le cartelle che iniziano con lo stesso nome ospitano versioni diverse della stessa dll, a volte ci sono cinque o più cartelle che ospitano versioni diverse della stessa libreria a collegamento dinamico.

cartella winsxs

Winsxs, sta per Windows Side by Side, riferendosi al concetto di ospitare gli stessi file in diverse versioni del sistema operativo.

La cartella di backup viene visualizzata come la cartella più grande nella cartella Winsxs, seguita dalla cartella naturallanguage6 e dai manifesti.

Un post sul blog Technet di Jeff Hugh spiega il passaggio da un sistema operativo descritto INF alla componentizzazione in Windows Vista.

Tutti i componenti nel sistema operativo si trovano nella cartella WinSxS - infatti chiamiamo questa posizione l'archivio componenti. Ogni componente ha un nome univoco che include la versione, la lingua e l'architettura del processore per cui è stato creato. La cartella WinSxS è l'unica posizione in cui è stato trovato il componente sul sistema, tutte le altre istanze dei file che vedi sul sistema sono "proiettate" tramite collegamenti diretti dall'archivio componenti. Consentitemi di ripetere l'ultimo punto: esiste solo un'istanza (o copia completa dei dati) di ciascuna versione di ciascun file nel sistema operativo e tale istanza si trova nella cartella WinSxS. Quindi, da quel punto di vista, la cartella WinSxS è in realtà l'intero sistema operativo, indicato come "piatto" nei sistemi operativi di livello inferiore. Ciò spiega anche perché non verranno più richiesti i supporti quando si eseguono operazioni come System File Checker (SFC) o quando si installano funzioni e ruoli aggiuntivi.

Il post di Jeff fornisce una risposta alla domanda se è sicuro eliminare i file nella cartella winsxs, in breve: non lo è.

L'unica opzione per ridurre la dimensione del file di quella cartella in modo sicuro è quella di rimuovere dal sistema operativo il software che non è più necessario, ma che non ridurrà notevolmente la dimensione del file.

L'unico modo per ridurre in modo sicuro le dimensioni della cartella WinSxS è ridurre l'insieme delle possibili azioni che il sistema può intraprendere: il modo più semplice per farlo è rimuovere innanzitutto i pacchetti che hanno installato i componenti. Questo può essere fatto disinstallando le versioni sostituite dei pacchetti che si trovano sul tuo sistema. Il Service Pack 1 contiene un file binario chiamato VSP1CLN.EXE, uno strumento che renderà il pacchetto del Service Pack permanente (non rimovibile) sul sistema e rimuoverà le versioni RTM di tutti i componenti sostituiti. Questo può essere fatto solo perché rendendo permanente il Service Pack possiamo garantire che non avremo mai bisogno delle versioni RTM.

È meglio lasciare la cartella da sola. Gli utenti di Windows Vista potrebbero essere in grado di ridurre le dimensioni della cartella Winsxs eseguendo un'applicazione di terze parti WinsxsLite

WinsxsLite è pensato come uno strumento per aiutare a ridurre le dimensioni di Winsxs in Vista.

.

WinsxsLite è diviso in due fasi.

La prima fase cerca i file di programma e le cartelle di Windows alla ricerca di file,

esattamente identici ai file nella cartella winsxs.

.

La seconda fase sostituisce tutte le vecchie versioni di ciascun file in winsxs,

con hardlink al file della versione più alta.

Quindi, sembrerà ancora che ci siano, diciamo, 16 diverse versioni di a

file particolare, ma in realtà è indicato solo un oggetto dati

da 16 voci di directory.

Inoltre, i file localizzati non utilizzati possono essere eliminati, sostituendoli

con hardlink ai file corrispondenti in altre lingue.

.

Nota: entrambe le fasi sono opzionali.

.

Nota: se è installato Vista SP1, assicurarsi che vsp1cln.exe sia stato eseguito.

Si consiglia vivamente di creare un backup del sistema prima di eseguire WinsxsLite, considerando che il software apporta modifiche irreversibili alla partizione di sistema di Windows che possono essere annullate solo da un backup.

L'ultima versione del programma è sempre disponibile sul sito Web del progetto Google Code. Il sito si collega a un percorso di download di Rapidshare, ci siamo presi la libertà di caricare anche l'ultimo file sui nostri server. È possibile scaricare lo strumento 20K di seguito: WinsxsLite1.86

Si noti che è compatibile solo con Windows Vista e non con Windows 7.

Gli utenti di Windows Vista con il Service Pack installato possono inoltre eseguire lo strumento da riga di comando VSP1CLN per rimuovere i file non più necessari dopo l'installazione del Service Pack. Si noti che questi file sono necessari per disinstallare SP in Vista.

Hai ulteriori suggerimenti su come ridurre le dimensioni della cartella Winsxs? Facci sapere nei loro commenti.

Aggiornamento : informazioni recenti indicano che la cartella Winsxs potrebbe in realtà non essere così grande come viene segnalata dal sistema, e la ragione principale di ciò è che molti dei file nella cartella sono collegamenti reali che puntano a file in altre parti del sistema.

"La directory Windows SxS rappresenta lo" stato di installazione e manutenzione "di tutti i componenti del sistema. Ma in realtà non consuma tanto spazio su disco come appare quando si utilizzano gli strumenti integrati (DIR ed Explorer) per misurare lo spazio su disco utilizzato. Il fatto che rendiamo difficile sapere quanto spazio viene effettivamente consumato in una directory è sicuramente un punto giusto!

In pratica, quasi tutti i file nella directory WinSxS rappresentano un "collegamento reale" ai file fisici in altre parti del sistema, il che significa che i file non si trovano effettivamente in questa directory. Ad esempio in WinSxS potrebbe esserci un file chiamato advapi32.dll che occupa> 700 KB, tuttavia ciò che viene segnalato è un collegamento reale al file effettivo che si trova in Windows \ System32 e verrà conteggiato due volte (o più) quando semplicemente guardando le singole directory da Windows Explorer. ”

Ulteriori informazioni al riguardo sono disponibili sul blog di Engineering Windows 7.