Winsxs-mappen blev forklaret

Windows-brugere, der har kørt en diskpladsanalysator som TreeSize i de sidste dage, kan have snublet for første gang over Winsxs-mappen i Windows-biblioteket.

Mappen har normalt en størrelse på ca. 5 til 8 Gigabyte på Windows Vista og Windows 7, der er dog rapporter om større mapper, op til 16 Gigabyte.

Især Windows XP-brugere, der for nylig skiftede til Windows 7, har måske spurgt sig selv, hvorfor størrelsen på mappen steg fra et par Megabyte til Gigabyte.

Internetsøgemaskiner og opslagstavler er fyldt med spørgsmål om mappen, mange brugere vil gerne vide, om det er sikkert at slette Winsxs-mappen, hvis den skal inkluderes i sikkerhedskopier af operativsystemet, eller hvorfor den har en så enorm størrelse sammenlignet med andre Windows-mapper.

winsxs

Det er vigtigt at kigge tilbage i tiden. Tilbage i Windows 9x havde operativsystemet problemer med dynamiske linkbiblioteker, mere præcist med forskellige versioner af den samme dll. Der var simpelthen ingen måde at gemme flere versioner af en dll, hvilket førte til inkompatibiliteter og andre problemer.

Derefter i Windows ME begyndte Microsoft at inkludere muligheder for at gemme flere dll-versioner ved hjælp af det samme navn i operativsystemet. Det var først Windows Vista, at denne teknologi blev omdannet til det, Vista og Windows 7-brugerne oplever i dag.

Hvis du åbner mappen i Windows Stifinder, vil du bemærke en enorm mappeliste, hvor hver mappe indeholder mindst en fil, men ofte flere filer. Mapper, der begynder med samme navn, er vært for forskellige versioner af den samme dll, der er undertiden fem eller flere mapper, der er vært for forskellige versioner af det samme dynamiske linkbibliotek.

Winsxs-mappe

Winsxs, står for Windows Side by Side, og henviser til konceptet med at være vært for de samme filer i forskellige versioner i operativsystemet.

Backup-mappen vises som den største mappe i Winsxs-mappen, efterfulgt af mappen naturallanguage6 og Manifests.

Et Technet-blogindlæg af Jeff Hugh forklarer overgangen fra et INF-beskrevet OS til komponentisering i Windows Vista.

Alle komponenter i operativsystemet findes i WinSxS-mappen - vi kalder faktisk dette sted komponentlageret. Hver komponent har et unikt navn, der inkluderer den version, sprog og processorarkitektur, den blev bygget til. WinSxS-mappen er det eneste sted, hvor komponenten findes i systemet, alle andre forekomster af filerne, som du ser på systemet, "projiceres" ved en hard forbindelse fra komponentlageret. Lad mig gentage det sidste punkt - der er kun en forekomst (eller fuld datakopi) af hver version af hver fil i OS, og den forekomst er placeret i WinSxS-mappen. Så set fra dette perspektiv er WinSxS-mappen virkelig hele OS-systemet, kaldet en "flad" i operativsystemer på nedenunder. Dette gør også rede for, hvorfor du ikke længere bliver bedt om medier, når du kører operationer som f.eks. System File Checker (SFC), eller når du installerer yderligere funktioner og roller.

Jeffs indlæg giver et svar på spørgsmålet, om det er sikkert at slette filer i mappen winsxs, kort sagt: Det er det ikke.

Den eneste mulighed for at reducere filstørrelsen på den mappe sikkert er at fjerne software fra operativsystemet, der ikke er nødvendigt mere, men selv det vil ikke tabe filstørrelsen markant.

Den eneste måde at sikkert reducere størrelsen på WinSxS-mappen er at reducere det sæt mulige handlinger, som systemet kan udføre - den nemmeste måde at gøre det på er at fjerne de pakker, der installerede komponenterne i første omgang. Dette kan gøres ved at afinstallere erstattede versioner af pakker, der findes på dit system. Service Pack 1 indeholder en binær kaldet VSP1CLN.EXE, et værktøj, der gør Service Pack-pakken permanent (ikke aftagelig) på dit system, og fjerner RTM-versionerne af alle erstattede komponenter. Dette kan kun gøres, fordi vi ved at gøre Service Pack permanent, vi kan garantere, at vi aldrig behøver RTM-versionerne.

Det er bedst at forlade mappen alene. Windows Vista-brugere kan muligvis reducere størrelsen på Winsxs-mappen ved at køre et tredjepartsprogram WinsxsLite

WinsxsLite er ment som et værktøj til at reducere størrelsen på winsxs i Vista.

.

WinsxsLite er opdelt i to faser.

Den første fase søger efter programfiler og Windows-mapper efter filer,

der er nøjagtigt identiske med filer i mappen winsxs.

.

Den anden fase erstatter alle de gamle versioner af hver fil i winsxs,

med hardlinks til filen med den højeste version.

Så det vil stadig virke som om der er, siges, 16 forskellige versioner af en

bestemt fil, men i virkeligheden er der kun et dataobjekt, der peges på

med 16 telefonbogsposter.

Derudover kan ubrugte lokaliserede filer fjernes ved at udskifte dem

med hardlinks til de tilsvarende filer på andre sprog.

.

Bemærk: Begge faser er valgfri.

.

Bemærk: Hvis Vista SP1 er installeret, skal du sikre dig, at vsp1cln.exe er kørt.

Det anbefales stærkt at oprette en systemsikkerhedskopi, før du kører WinsxsLite, i betragtning af at softwaren foretager irreversible ændringer af Windows-systempartitionen, der kun kan fortrydes ved en sikkerhedskopi.

Den seneste version af programmet er altid tilgængelig på Google Code-projektets websted. Webstedet linker til et Rapidshare-downloadsted, vi har også taget den frihed at uploade den nyeste fil til vores servere. Du kan downloade 20K-værktøjet nedenfor: WinsxsLite1.86

Bemærk, at det kun er kompatibelt med Windows Vista og ikke Windows 7.

Windows Vista-brugere med installeret Service Pack kan desuden køre kommandolinjeværktøjet VSP1CLN for at fjerne filer, der ikke længere er behov for, efter at servicepakken er installeret. Bemærk, at disse filer er nødvendige for at afinstallere SP i Vista.

Har du yderligere tip til at reducere størrelsen på Winsxs-mappen? Fortæl os om dem i kommentarerne.

Opdatering : Nylige oplysninger viser, at Winsxs-mappen faktisk ikke er så stor, som den er rapporteret af systemet, og hovedårsagen hertil er, at mange af filerne i mappen er hårde links, der peger på filer andetsteds på systemet.

”Windows SxS-biblioteket repræsenterer“ installations- og servicetilstand ”for alle systemkomponenter. Men i virkeligheden forbruger det faktisk ikke så meget diskplads, som det ser ud, når man bruger de indbyggede værktøjer (DIR og Explorer) til at måle den anvendte diskplads. At vi gør det vanskeligt for dig at vide, hvor meget plads der faktisk forbruges i et bibliotek, er bestemt et rimeligt punkt!

I praksis er næsten hver fil i WinSxS-biblioteket et "hårdt link" til de fysiske filer andetsteds på systemet - hvilket betyder, at filerne faktisk ikke findes i dette bibliotek. For eksempel i WinSxS kan der være en fil kaldet advapi32.dll, der tager> 700K, men hvad der rapporteres, er et hårdt link til den faktiske fil, der bor i Windows \ System32, og det tælles to gange (eller mere), når blot at se på de individuelle mapper fra Windows Stifinder. ”

Mere information om dette findes på Engineering Windows 7-bloggen.