Kako počistiti in stisniti mapo WinSxS v sistemu Windows 10/Windows Server?

Admin

V tem članku bomo govorili o WinSxS mapo v sistemu Windows, razloge za njeno stalno rast in načine za njeno čiščenje. The C:\Windows\WinSxS imenik je skladišče komponent sistema Windows. Ta imenik vsebuje datoteke DLL, binarne datoteke in datoteke XML, potrebne za namestitev in delovanje različnih vlog ali funkcij sistema Windows. Pri nameščanju posodobitev sistema Windows (običajno se to zgodi vsak mesec) se v sistem namesti nova različica posodobljene komponente, stara ena se shrani v mapo WinSxS (potrebno je zagotoviti združljivost in omogočiti povrnitev na prejšnje različice komponent, ko ti odstranite posodobitev sistema Windows).

Imenik WinSxS se je sčasoma povečal. Poleg tega njegova velikost ni omejena z ničemer (čeprav v praksi velikost mape WinSxS v sistemu Windows 10 redko presega 15-20 GB).

seznam datotek v winsxs v sistemu Windows 10

Vsebina:

  • Kako preveriti dejansko velikost mape WinSxS v sistemu Windows 10?
  • Kako počistiti shrambo komponent (mapa WinSxS) v sistemu Windows?
  • Odstranite neuporabljene vloge in funkcije iz sistema Windows 10/Windows Server
  • Kako omogočiti stiskanje NTFS v mapi WinSxS v sistemu Windows 10?

V tem članku bomo preučili najvarnejše načine za čiščenje mape WinSxS v sistemih Windows 10 in Windows Server 2016/2019:

  • Optimizirajte skladišče komponent in odstranite stare različice komponentnih datotek sistema Windows, ki so ostale po namestitvi posodobitev sistema Windows;
  • Funkcije na zahtevo – omogoča odstranitev neuporabljenih komponent sistema Windows z diska;
  • Omogoči stiskanje NTFS v mapi WinSxS – način za zmanjšanje velikosti imenika WinSxS z uporabo vgrajenega stiskanja datotečnega sistema NTFS.

Mnogi uporabniki se pogosto sprašujejo: ali je mogoče ročno izbrisati datoteke iz mape WinSxS? Odgovor je kategoričen št! Ta dejanja lahko poškodujejo sliko sistema Windows. Čeprav so lahko nekateri poskusi odstranitve datotek iz mape WinSxS uspešni, te metode ni mogoče priporočiti.

Kako preveriti dejansko velikost mape WinSxS v sistemu Windows 10?

Najlažji način za pridobitev trenutne velikosti mape WinSxS v sistemu Windows je, da odprete lastnosti %windir%\WinSxS mapo v File Explorerju (ali uporabite a Skript PowerShell). Vendar ne pozabite, da večina upraviteljev datotek (vključno z raziskovalcem datotek) prikazuje nekoliko večjo velikost mape WinSxS, kot je na disku.

Dejstvo je, da imenik WinSxS vsebuje veliko število trde povezave (simbolične povezave) do sistemskih datotek v drugih mapah. Upravitelji datotek pri izračunu velikosti mape WinSxS upoštevajo velikost datotek, na katere se sklicujejo trde povezave, vendar to ni pravilno.

Dejansko velikost mape WinSxS na disku lahko ugotovite z uporabo du orodje podjetja Sysinternals:
du -v c:\windows\winSXS
kako preveriti pravo velikost mape winsxs z orodjem du

Z ukazom DISM lahko analizirate tudi velikost shrambe komponent (mapa WinSxS):

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

dism analizira shrambo komponent - poroča o dejanski velikosti mape winsxs
Deployment Image Servicing and Management tool. [100.0%]
Component Store (WinSxS) information: Windows Explorer Reported Size of Component Store: 8.44 GB. Actual Size of Component Store: 8.15 GB. Shared with Windows: 5. 74GB. Backups and Disabled Features: 1.97 GB. Cache and Temporary Data: 438.31 MB. Date of Last Cleanup: 2021-02-22 20:37:29. Number of Reclaimable Packages: 1. Component Store Cleanup Recommended: Yes. The operation completed successfully.

Kot lahko vidite, lahko v tem primeru zmanjšam velikost mape WinSxS za (1,97 + 0,44) Gb.

Ukaz DISM vam tudi omogoča preverite in popravite sliko sistema Windows:

DISM /Online /Cleanup-Image /RestoreHealth

Kako počistiti shrambo komponent (mapa WinSxS) v sistemu Windows?

Najhitrejši in najlažji način za brisanje Windows Component Store (mape WinSxS) je optimizacija pomnilnika z ukazom:

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

shramba komponent clenup winsxs z Dism StartComponentCleanup

The StartComponentCleanup Možnost DISM je podprta v vseh različicah sistema Windows od Windows 8 do Windows Server 2012.

Ko je čiščenje končano, preverite trenutno velikost shrambe komponent:

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

V mojem primeru je to zmanjšalo velikost mape WinSxS za 2,4 GB.

The /StartComponentCleanup možnost ima dodatno /ResetBase možnost, ki vam omogoča, da odstranite vse prejšnje različice komponent, ki so ostale po namestitvi posodobitev sistema Windows. Po tem ne boste več mogli odstraniti nameščenih posodobitev ali servisnih paketov in Odstrani gumb bo izginil iz Odstranite posodobitev element nadzorne plošče). Če želite počistiti stare različice komponent, zaženite:

Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase

V sistemih Windows 7 in Windows Server 2008 R2 je bila uporabljena dodatna možnost DISM za čiščenje starih različic komponent, ki so ostale po namestitvi servisnih paketov.

DISM /online /Cleanup-Image /spsuperseded

Stare posodobitvene datoteke lahko odstranite tudi z uporabo »Čiščenje diska” čarovnik:

  1. Zaženite cleanmgr ukaz kot skrbnik;
  2. Izberite disk in v naslednjem oknu kliknite »Očistite sistemske datoteke” gumb;Očistite sistemske datoteke
  3. Nato izberite »Čiščenje posodobitve sistema Windows” možnost. Orodje za čiščenje diska bo pokazalo, koliko prostora lahko sprostite z brisanjem starih posodobitvenih datotek sistema Windows. V mojem primeru je to 324 MB. Za začetek čiščenja kliknite V redu.Čiščenje posodobitve sistema Windows z orodjem cleanmgr

Ko končate s čiščenjem shrambe komponent z DISM, preverite, koliko prostora na disku je bilo sproščenega.
Poleg tega ima razporejevalnik opravil Windows 10/Windows Server 2016 posebno nalogo samodejnega vzdrževanja, ki redno optimizira in čisti mapo WinSxS (enaka operacija kot DISM z StartComponentCleanup parameter). to StartComponentCleanup opravilo se nahaja v razdelku \Microsoft\Windows\Servicing v taskschd.msc. Ta naloga se izvaja v ozadju in samodejno odstrani različice komponent, starejše od 30 dni, ki so jih nadomestile novejše datoteke.

To nalogo lahko začnete ročno takole:

schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"

Naloga StartComponentCleanup

Odstranite neuporabljene vloge in funkcije iz sistema Windows 10/Windows Server

Funkcije na zahtevo v sistemu Windows omogoča odstranitev binarnih datotek neuporabljenih vlog iz mape WinSxS. Binarne datoteke vlog in funkcij v sistemu Windows Server lahko odstranite z uporabo Uninstall-WindowsFeature PoweShell cmdlet.

Windows 10 nima cmdleta Uninstall-WindowsFeature in morate uporabiti DISM.exe, da odstranite funkcije iz slike sistema Windows.

Upoštevajte, da DISM za razliko od Uninstall-WindowsFeature PowerShell cmdlet, ne odstrani odvisnih funkcij.

Celoten seznam razpoložljivih funkcij v sliki sistema Windows 10 lahko dobite z ukazom:
DISM.exe /Online /English /Get-Features /Format: Table
Seznam funkcij DISM Get-Features

Če želite na primer odstraniti TelnetClient funkcijo iz slike Windows (iz mape WinSxS), zaženite ukaz:
DISM.exe /Online /Disable-Feature /Featurename: TelnetClient /Remove
DISM Onemogoči funkcijo Odstrani

Če prikažete seznam vseh funkcij na zahtevo, ki so na voljo v sistemu Windows, boste videli, da se je stanje komponente spremenilo v Onemogočeno z odstranjenim tovorom.

Tako Windows omogoča znatno zmanjšanje velikosti mape WinSxS z odstranitvijo neuporabljenih komponent z diska. Edina stvar je, da je ta način čiščenja primeren le za napredne uporabnike, ki poznajo funkcije sistema Windows 10 in njihov namen.

Kako omogočiti stiskanje NTFS v mapi WinSxS v sistemu Windows 10?

Drug način za zmanjšanje velikosti imenika WinSxS v sistemu Windows 10 je stiskanje vsebine imenika na ravni datotečnega sistema NTFS.

Opomba. Kot v primeru kakršnih koli nestandardnih posegov v sistemsko konfiguracijo vam toplo priporočamo, da ustvarite a popolno varnostno kopijo vaše slike sistema Windows 10.
  1. Odprite ukazni poziv kot skrbnik;
  2. Ustavi in ​​onemogoči Windows Installer in Windows Module Installer storitve:
    sc stop msiserver
    sc stop TrustedInstaller
    sc config msiserver start= disabled
    sc config TrustedInstaller start= disabled
  3. Varnostno kopirajmo sezname za nadzor dostopa (ACL), dodeljene datotekam in mapam v imeniku WinSxS, z uporabo vgrajenega icacls orodje. Varnostna kopija ACL je datoteka z navadnim besedilom, ki navaja vse datoteke in imenike ter dovoljenja NTFS, ki so jim dodeljena (kasneje bo ta datoteka potrebna za obnovitev izvirnih ACL):
    icacls "%WINDIR%\WinSxS" /save "%WINDIR%\WinSxS_NTFS.acl" /t
    varnostno kopirajte dovoljenja ntfs datotek mape winsxs z uporabo icacls
  4. Določite se za lastnika mape WinSxS in vseh njenih podmap:
    takeown /f "%WINDIR%\WinSxS" /r
  5. Dodelite svojemu računu dovoljenja za popoln nadzor nad imenikom WinSxS:
    icacls "%WINDIR%\WinSxS" /grant "%USERDOMAIN%\%USERNAME%":(F) /t
  6. Zdaj lahko stisnete datoteke v imeniku WinSxS z uporabo kompakten ukaz. Ker lahko nekatere datoteke uporablja Windows, morate določiti /i možnost. V nasprotnem primeru se bo stiskanje ustavilo pri prvi zaklenjeni datoteki (v sistemu Windows 10 lahko uporabite naprednejše stiskanje LZX):
    compact /s:"%WINDIR%\WinSxS" /c /a /i *
    stiskanje datotek v mapi winsxs z orodjem compact.exe
  7. Obnovite lastnika imenika WinSxS nazaj v TrustedInstaller:
    icacls "%WINDIR%\WinSxS" /setowner "NT SERVICE\TrustedInstaller" /t
  8. Obnovite izvirne ACL-je za elemente mape WinSxS z varnostno kopijo ACL, ki ste jo ustvarili prej:
    icacls "%WINDIR%" /restore "%WINDIR%\WinSxS_NTFS.acl"
  9. Obnovite privzeto vrsto zagona za storitve Windows Installer in Windows Module Installer:
    sc config msiserver start= demand
    sc config TrustedInstaller start= demand

Zdaj preverite trenutno velikost mape WinSxS:

kako prihraniti hitrost v mapi winsxs v sistemu Windows 10?

Kot lahko vidite, se je v našem primeru velikost mape WinSxS po stiskanju zmanjšala 9,4 GB do 6,5 GB (približno tretjina). Ni slabo, še posebej za SSD disk majhne velikosti.

Te ukaze je mogoče zagnati ločeno (takrat je veliko lažje slediti rezultatom vsakega od njih) ali uporabiti v eni datoteki skripta. Če ga zaženete, se bo začel opisan postopek stiskanja elementov v mapi WinSxS. Tukaj lahko prenesete paketno datoteko, pripravljeno za uporabo, da omogočite stiskanje NTFS v WinSxS: winsxs_ntfs_compress.bat

Ta skript lahko uporabljate redno, ker se nove nestisnjene datoteke prikažejo v mapi WinSxS, ko namestite nove posodobitve ali aplikacije za Windows.

Na kaj lahko vpliva stiskanje mape WinSxS? Windows deluje pregledno s stisnjenimi datotekami. Vendar pa lahko pri obdelavi takšnih datotek potrebuje dodaten čas procesorja, da jih razpakira/stisne. To lahko povzroči rahlo upočasnitev pri nameščanju komponent ali posodobitev sistema Windows. Vendar se na sodobnih procesorjih stiskanje/dekompresija datotek izvede skoraj v trenutku, tako da uporabnik morda sploh ne opazi dejanskega vpliva na zmogljivost.

Upravljanje sistemsko rezervirane particije v sistemu Windows 10
Upravljanje sistemsko rezervirane particije v sistemu Windows 10

Med čisto namestitvijo operacijskega sistema Windows Installer ustvari poseben Sistemsko rezervir...

Kako blokirati domeno ali spletno mesto na požarnem zidu Windows Defender z lupino PowerShell?
Kako blokirati domeno ali spletno mesto na požarnem zidu Windows Defender z lupino PowerShell?

Oglejmo si nekaj načinov za blokiranje dostopa do določenih spletnih mest, imen domen, URL-jev al...

Konfiguriranje povezave L2TP/IPSec VPN za NAT, koda napake VPN 809
Konfiguriranje povezave L2TP/IPSec VPN za NAT, koda napake VPN 809

Windows OS Hub / Windows 10 / Konfiguriranje povezave L2TP/IPSec VPN za NAT, koda napake VPN 809Z...