Winsxs-mappen förklarades

Windows-användare som har kört en hårddiskanalysator som TreeSize under de senaste dagarna kan ha snubblat för första gången på Winsxs-mappen i Windows-katalogen.

Mappen har vanligtvis en storlek på cirka 5 till 8 Gigabyte i Windows Vista och Windows 7, det finns dock rapporter om större mappar, upp till 16 Gigabyte.

Speciellt Windows XP-användare som nyligen bytte till Windows 7 kan ha frågat sig varför mappstorleken ökade från några megabyte till Gigabyte.

Internetsökmotorer och anslagstavlor är fulla med frågor om mappen, många användare vill veta om det är säkert att ta bort Winsxs-mappen, om den måste ingå i operativsystemets säkerhetskopior eller varför den har en så enorm storlek jämfört med andra Windows-mappar.

winsxs

Det är viktigt att titta tillbaka i tiden. Tillbaka i Windows 9x hade operativsystemet problem med dynamiska länkbibliotek, mer exakt med olika versioner av samma dll. Det fanns helt enkelt inget sätt att lagra flera versioner av en dll, vilket ledde till oförenlighet och andra problem.

Sedan i Windows ME började Microsoft inkludera alternativ för att lagra flera dll-versioner med samma namn i operativsystemet. Det var inte förrän Windows Vista som denna teknik förvandlades till vad Vista- och Windows 7-användare upplever idag.

Om du öppnar mappen i Windows Explorer kommer du att märka en enorm mapplista, där varje mapp innehåller minst en fil, men ofta flera filer. Mappar som börjar med samma namn är värd för olika versioner av samma dll, det finns ibland fem eller fler mappar som är värd för olika versioner av samma dynamiska länkbibliotek.

mappen winsxs

Winsxs, står för Windows Side by Side, med hänvisning till konceptet att vara värd för samma filer i olika versioner i operativsystemet.

Backup-mappen visas som den största mappen i Winsxs-mappen följt av mappen naturallanguage6 och Manifests.

Ett Technet-blogginlägg av Jeff Hugh förklarar övergången från ett INF-beskrivet OS till komponentisering i Windows Vista.

Alla komponenter i operativsystemet finns i mappen WinSxS - i själva verket kallar vi denna plats komponentlagret. Varje komponent har ett unikt namn som innehåller den version, språk och processorarkitektur som den byggdes för. WinSxS-mappen är den enda platsen där komponenten hittas i systemet, alla andra instanser av filerna som du ser på systemet "projiceras" genom hårdlänkning från komponentlagret. Låt mig upprepa den sista punkten - det finns bara en instans (eller full datakopia) av varje version av varje fil i OS, och den förekomsten finns i WinSxS-mappen. Så såg från det perspektivet, WinSxS-mappen är verkligen hela hela OS, som kallas en "platt" i nedre nivå operativsystem. Detta redogör också för varför du inte längre kommer att uppmanas till media när du kör operationer som SFC (System File Checker) eller när du installerar ytterligare funktioner och roller.

Jeff's post ger ett svar på frågan om det är säkert att ta bort filer i mappen winsxs, kort sagt: Det är det inte.

Det enda alternativet att säkert minska filstorleken på den mappen är att ta bort programvara från operativsystemet som inte behövs längre, men även det kommer inte att tappa filstorleken avsevärt.

Det enda sättet att säkert minska storleken på WinSxS-mappen är att minska uppsättningen möjliga åtgärder som systemet kan vidta - det enklaste sättet att göra det är att ta bort paketen som installerade komponenterna i första hand. Detta kan göras genom att avinstallera ersatta versioner av paket som finns på ditt system. Service Pack 1 innehåller en binär som heter VSP1CLN.EXE, ett verktyg som kommer att göra Service Pack-paketet permanent (inte borttagbart) på ditt system och ta bort RTM-versionerna av alla ersatta komponenter. Detta kan bara göras, genom att göra Service Pack permanent, kan vi garantera att vi aldrig behöver RTM-versionerna.

Det är bäst att lämna mappen ensam. Windows Vista-användare kan kanske minska storleken på Winsxs-mappen genom att köra ett tredjepartsprogram WinsxsLite

WinsxsLite är tänkt som ett verktyg för att minska storleken på winsxs i Vista.

.

WinsxsLite är uppdelat i två faser.

Den första fasen söker efter filer i programfilerna och Windows-mapparna,

som är exakt identiska med filer i mappen winsxs.

.

Den andra fasen ersätter alla gamla versioner av varje fil i winsxs,

med hårddiskar till filen med den högsta versionen.

Så det verkar fortfarande som det finns, säger, 16 olika versioner av a

en viss fil, men i verkligheten finns det bara ett dataobjekt som pekas på

med 16 katalogposter.

Dessutom kan oanvända lokaliserade filer elimineras genom att ersätta dem

med hårddiskar till motsvarande filer på andra språk.

.

Obs: Båda faserna är valfria.

.

Obs: Om Vista SP1 är installerat, se till att vsp1cln.exe har körts.

Det rekommenderas starkt att skapa en säkerhetskopia innan du kör WinsxsLite, med tanke på att programvaran gör irreversibla ändringar av Windows-systempartitionen som bara kan ångras med en säkerhetskopia.

Den senaste versionen av programmet är alltid tillgänglig på projektets webbplats för Google Code. Webbplatsen länkar till en Rapidshare-nedladdningsplats, vi har tagit oss friheten att ladda upp den senaste filen till våra servrar också. Du kan ladda ner 20K-verktyget nedan: WinsxsLite1.86

Observera att det bara är kompatibelt med Windows Vista och inte Windows 7.

Windows Vista-användare med Service Pack installerat kan dessutom köra kommandoradsverktyget VSP1CLN för att ta bort filer som inte längre behövs efter att servicepaketet har installerats. Observera att dessa filer behövs för att avinstallera SP i Vista.

Har du ytterligare tips för att minska storleken på Winsxs-mappen? Låt oss veta om dem i kommentarerna.

Uppdatering : Ny information visar att Winsxs-mappen faktiskt inte kan vara så stor som den rapporteras av systemet, och det främsta skälet till detta är att många av filerna i mappen är hårda länkar som pekar på filer på andra håll i systemet.

"Windows SxS-katalogen representerar" installation och service-tillstånd "för alla systemkomponenter. Men i verkligheten förbrukar det inte så mycket diskutrymme som det verkar när man använder de inbyggda verktygen (DIR och Explorer) för att mäta det använda hårddiskutrymmet. Det faktum att vi gör det svårt för dig att veta hur mycket utrymme som faktiskt förbrukas i en katalog är definitivt en rättvis poäng!

I praktiken är nästan varje fil i WinSxS-katalogen en "hård länk" till de fysiska filerna någon annanstans på systemet - vilket innebär att filerna inte finns i den här katalogen. Till exempel i WinSxS kan det finnas en fil som heter advapi32.dll som tar upp> 700K men det som rapporteras är en hård länk till den faktiska filen som lever i Windows \ System32, och den kommer att räknas två gånger (eller mer) när helt enkelt titta på de enskilda katalogerna från Windows Explorer. ”

Mer information om detta finns på bloggen Engineering Windows 7.