WinSxS: Frigör diskutrymme och reparera systemfiler i Windows 7

Som bekant för er som följt bloggen sedan i våras har jag kastats ut i exil. OpenBSD har inget stöd för grafikkortet i den dator jag ersatte min förra med, så jag har tvingats leva med Windows 7 i några månader. Det i sig är inget att klaga över, och har gett en del nya erfarenheter.

En erfarenhet jag dock kunde ha klarat mig utan är denna: Med Windows är jag tvungen att lägga mer tid på underhåll än tidigare, och nästan allt underhåll handlar enbart om att datorn ska fungera likadant som förra veckan. Windows efterlever inte principen att om jag inte gör något med datorn så förändras den inte.

Mest irriterande av allt är nog mappen WinSxS, som obevekligen växer. För varje uppdatering, installation och avinstallation växer den. Ta bort den får man inte göra, eftersom det är något slags backup som även används hela tiden. Just nu är min WinSxS-mapp 11,5GB. Den är följaktligen 11,5GB större än när jag installerade om Windows 7 för ett halvår sedan. Inom ytterligare ett år kommer den förmodligen vara så stor att partitionen inte längre räcker till.

Banta storleken på WinSxS

Men det går att minska omfånget på den litet! Detta sker till priset av att man inte kan ångra vissa installationer, uppgraderingar och dylikt. Om du inte tänker nedgradera kan du alltså göra så här:

  1. Öppna Start-menyn.
  2. Skriv "PowerShell".
  3. Tryck Ctrl+Shift+Retur för att starta PowerShell som administratör.
  4. Mata in följande trollformel:

    dism /online /cleanup-image /spsuperseded

Resultatet? På min maskin gick WinSxS från 11,5GB till 7,2GB. Inte så tokigt. Så här såg utmatningen ut:

PS C:\Windows\system32> dism /online /cleanup-image /spsuperseded

DISM-verktyget (Deployment Image Servicing and Management)
Version: 6.1.7600.16385

Avbildningsversion: 6.1.7600.16385

Säkerhetskopior som skapades under Service Pack-installationen tas bort.
Paketet Microsoft-Windows-UltimateEdition~31bf3856ad364e35~amd64~~6.1.7600.16385 tas bort
[==========================100.0%==========================]
Service Pack-rensningsåtgärden har slutförts.
Åtgärden har slutförts.

Reparera skadade systemfiler

Om din Windows-installation plötsligt beter sig märkligt kan det bero på att någon fil blivit skadad. Det finns faktiskt ett program som går igenom alla systemfiler och kollar om de är som de ska. Hittas någon skadad fil så ersätts den av en korrekt kopia – ur mappen WinSxS! Något ska den väl vara bra till också. :-)

Gör så här för att skanna igenom systemet och rätta till alla eventuella dumheter:

  1. Öppna Start-menyn.
  2. Skriv "PowerShell".
  3. Tryck Ctrl+Shift+Retur för att starta PowerShell som administratör.
  4. Mata in följande trollformel:

    sfc /scannow

Det var det hela.

Kommentarer till inlägget

  1. Hans Albertsson, 10 februari 2012, 11.59Gravatar

    på min maskin säger det bara
    The term 'dism' is not recognised as the name of a cmdlet, function, script file, or operable program. Check the ......

    Var hittar jag allt detta?

    Min maskin är en vista

  2. Hans Albertsson, 10 februari 2012, 12.07Gravatar

    Jo jag vet: DISM är tillagt i W7, och ersätter tre andra verktyg i vista.

    Vad jag undrar är hur man gör motsvarande som du gjort ovan, men i vista.

    Baföatt va tydli.

  3. Jesper, 10 februari 2012, 12.22Gravatar

    Hans Albertsson: Det verkar som att du ska ersätta steg fyra med att köra vsp1cln i stället.

    En (kanske onödig) varning bara: Jag har aldrig haft Vista, aldrig provat kommandot i fråga och inte sett någon officiell dokumentation som antyder att det är så här man ska göra, utan hittade länken ovan genom att googla. Så du gör det på egen risk. :-)

  4. Christian, 10 oktober 2012, 14.31Gravatar

    Fick blåskärm när jag testade detta :(

  5. Jesper, 10 oktober 2012, 15.23Gravatar

    Vilket är "detta"?

  6. jocke, 11 november 2012, 21.52Gravatar

    Hej

    Om du skulle titta på katalogen ifrån t.ex. linux så kommer du se att den bara är några 100mb stor.
    Anledningen är att filerna inte ligger där utan är länkade, men windows räknar länkade filers storlek.
    Eftersom program använder olika versioner av DLL:er kan de hämta "sin" version här och därigenom undviker man de konflikter som var vanliga i äldre windowsversioner. När du avinstallerar ett program tas (normalt) också dess kopia av DLL:en bort och då minskar storleken igen.
    Windows gamla hotfixar och uninstallfiler tar man däremot bort med kommandot som du beskrivit (fungerar dock bara på win7, för vista och server2008 är det ett annat)

  7. Kenneth, 10 augusti 2014, 00.06Gravatar

    Tack för hjälpen!

Lämna en kommentar