FAQ Čistenie a kompresia priečinka WinSxS na Windows 10 a 8.1

V tomto článku budeme hovoriť o adresári WinSxS vo Windows 10 a Windows 8.1 sú dôvody ich neustáleho rastu a čistiacich metód. adresár C: \ windows\ WinSxS je úložisko komponentov systému Windows. Tento adresár obsahuje dll knižnice, binárne a xml súbory potrebné na inštaláciu a prevádzku roly Windows OS. Pri inštalácii aktualizácií systému Windows (to sa stáva mesačne) sa v systéme nainštaluje nová verzia aktualizovanej súčasti a stará sa uloží do úložiska WinSxS (pri odstraňovaní problematickej aktualizácie je potrebné zaistiť kompatibilitu a schopnosť vrátiť sa k starým verziám komponentov)..


obsah:

  • Ako zistiť skutočnú veľkosť priečinka WinSxX v systéme Windows 10 / 8.1
  • Vyčistenie úložiska komponentov (priečinky WinSxS) na Windows 10 / 8.1
  • Funkcie On Demand vo Windows 10 a 8.1
  • Povoliť kompresiu NTFS v priečinku WinSxS vo Windows 10 a 8.1

Ako asi viete, adresár WinSxS sa bude v priebehu času neustále zväčšovať a jeho veľkosť nie je ničím obmedzená (hoci v praxi je veľkosť priečinka WinSxS v systéme Windows 10 / 8.1 zriedka vyššia ako 15 - 20 GB.)

Najprirodzenejším spôsobom, ako zmenšiť veľkosť priečinka WinSxS v systéme Windows 10 a Windows 8, je odstránenie starých verzií komponentov zostávajúcich po aktualizácii systému zo systému. Na tento účel použite štandardného sprievodcu čistýmgrom disku alebo špeciálne možnosti príkazu DISM (pozri nižšie)..

rada. V systéme Windows 7 SP 1 je možnosť odstrániť staré súbory aktualizácie na vyčistenie disku k dispozícii až po inštalácii samostatnej aktualizácie - KB 2852386.

Ako zistiť skutočnú veľkosť priečinka WinSxX v systéme Windows 10 / 8.1

Ďalšou funkciou priečinka WinSxS je prítomnosť veľkého počtu tzv usilovne odkazy (pevné symbolické odkazy). Pevný odkaz je úplne rovnaký ako pôvodný ukazovateľ súboru. tj ukazovateľ a zdrojový súbor môžu mať rôzne názvy a môžu byť v rovnakej sekcii v rôznych adresároch, ale v skutočnosti budú ukazovať na rovnaký objekt. Správcovia súborov (vrátane Prieskumníka systému Windows) vykazujú trochu prehnanú veľkosť priečinka WinSxS z dôvodu prítomnosti pevných odkazov zahrnutých do výpočtu celkovej veľkosti adresára. Skutočnú veľkosť priečinka WinSxS (s výnimkou pevných odkazov) môžete zistiť pomocou pomocného programu SysInternal du:

 du -v c: \ windows \ winSXS

Veľkosť úložiska komponentov (priečinok WinSxS) môžete tiež analyzovať pomocou príkazu DISM:

Dism.exe / Online / Cleanup-Image / AnalyzeComponentStore

Poďme zistiť, čo tento príkaz vracia:

Veľkosť úložiska komponentov podľa prieskumníka: 5,70 GB (jedná sa o veľkosť úložiska bez pevných odkazov)
Skutočná veľkosť skladu komponentov: 5,49 GB (skutočná veľkosť skladu komponentov vrátane pevných odkazov)
Kompatibilné s Windows: 3,12 GB (požadované systémové súbory, nedajú sa odstrániť)
Zálohy a deaktivované komponenty: 2,12 GB (neaktuálne súbory komponentov, ktoré sú potrebné v prípade problémov s nainštalovanými aktualizáciami)
Vyrovnávacia pamäť a dočasné údaje: 245,87 MB (súbory sa používajú na urýchlenie systému údržby)
Dátum posledného vyčistenia: 2018-07-31 12:45:23
Počet vydaných balíkov: 10 (súbory, ktoré boli aktualizované po inštalácii aktualizácií systému Windows, sa po vyčistení úložiska odstránia)
Odporúča sa čistenie obchodu: Áno

Ako vidíte, v tomto prípade môžete zmenšiť veľkosť adresára WinSxS o 2,1 GB + 250 MB.

Pre mnohých používateľov je prirodzenou otázkou, či je možné manuálne odstrániť súbory z priečinka WinSxS. Odpoveď na túto otázku je kategorická NO! Je pravdepodobné, že takéto kroky narušia systém Windows. Aj keď niektoré pokusy o odstránenie súborov z priečinka WinSxS môžu byť úspešné, túto metódu nemôžete odporučiť z hľadiska možného nebezpečenstva pre systém..

Zoberme si zo systémového hľadiska najškodlivejšie metódy čistenia priečinka WinSxS vo Windows 10 a Windows 8.1. Toto je:

  • Odstránenie starších komponentov, zostávajúce po inštalácii aktualizácií;
  • Funkcie technológie na dopyt (funkcie na požiadanie), čo vám umožní odstrániť nepoužité súčasti systému Windows z disku;
  • Kompresia súborov v priečinku WinSxS - spôsob, ako zmenšiť veľkosť adresára WinSxS z dôvodu kompresie jeho obsahu NTFS.

Na dosiahnutie maximálnych výsledkov je možné všetky tri metódy použiť spolu..

Vyčistenie úložiska komponentov (priečinky WinSxS) na Windows 10 / 8.1

Podľa môjho názoru je najrýchlejším a najjednoduchším spôsobom, ako vyčistiť úložný priestor komponentov (t. J. Vyčistiť priečinok WinSxS) odstránením starých verzií komponentov, vykonanie príkazu:

Dism.exe / Online / Cleanup-Image / StartComponentCleanup


Možnosť / StartComponentCleanup má ďalšiu možnosť. / Resetbase, čo vám umožní odstrániť všetky predchádzajúce verzie komponentov (po tom nebudete môcť odstrániť nainštalované aktualizácie alebo aktualizácie Service Pack a na paneli aktualizácií appwiz.cpl zmizne tlačidlo „Odstrániť“). Celý príkaz vyzerá takto:

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

Z Sprievodcu čistením disku môžete odstrániť aj zastarané aktualizácie. Spustite príkaz cleanmgr s oprávneniami správcu.

V okne pomôcky vyberte jednotku av ďalšom okne kliknite na tlačidlo „Vymazať systémové súbory“.

Ďalej vyberte možnosť „Aktualizovať súbory denníka systému Windows“ a spustiť čistenie kliknutím na tlačidlo OK. Nástroj Čistenie disku vám ukáže, koľko miesta môžete uvoľniť odstránením protokolových súborov starých aktualizácií systému Windows. V mojom príklade je to 427 MB.

Po vyčistení úložiska pomocou DISM skontrolujte, koľko voľného miesta na disku je k dispozícii..

Plánovač systému Windows 10 má navyše špeciálnu úlohu automatickej údržby, ktorá vykonáva rovnakú operáciu ako odstránenie pomocou kľúča StartComponentCleanup a odstráni všetky zastarané aktualizácie staršie ako 30 dní. Táto úloha sa volá StartComponentCleanup nachádza sa pod \ Microsoft \ Windows \ Servicing.

Funkcie On Demand vo Windows 10 a 8.1

V článku „Bezpečné vymazanie priečinka WinSxS v systéme Windows Server 2012“ sme túto funkciu preskúmali rysy na dopyt (funkcie na požiadanie), čo umožňuje vymazať binárne súbory nepoužitých rolí z adresára WinSxS. Na odstránenie nepoužitých rolí z disku existuje špeciálny rutina Powershell. - Uninstall-WindowsFeature. Avšak v prípade Windows 10 a 8.1 nie je všetko také jednoduché. Faktom je, že cmdlet Uninstall-WindowsFeature v týchto verziách systému Windows chýba. Technológia Features on Demand je implementovaná iba pomocou DISM alebo cmdlet DISM PowerShell. Okrem toho je dôležité vedieť, že príkaz DISM na rozdiel od cmdlet Uninstall-WindowsFeature neanalyzuje vzájomné závislosti balíkov. Takže keď odstránite balík Windows pomocou DISM, odstránia sa iba komponenty špecifikované v príkaze a všetky balíky, ktoré sú na ňom závislé, zostanú v systéme. Z tohto dôvodu by ste nemali používať DISM na odstránenie rolí z disku v systéme Windows Server 2012, pretože existuje oveľa pohodlnejší a funkčnejší nástroj.

Úplný zoznam dostupných funkcií v obrázku Windows 10 / 8.1 je možné získať príkazom:
DISM.exe / Online / English / Get-Features / Format: Table

Predpokladajme napríklad, že komponent TelnetClient v budúcnosti to nepotrebujeme. Odstráňte tento komponent z disku (hlavne z adresára WinSxS) príkazom:
DISM.exe / Online / Disable-Feature / Featurename: TelnetClient / Remove

Ak znova uvediete všetky dostupné funkcie na požiadanie vo Windows, uvidíte, že sa stav komponentu zmenil na invalidný s payload odstránené.

Vo Windows teda môžete výrazne znížiť veľkosť priečinka WinSxS odstránením nepoužitých komponentov z disku. Jedinou výzvou je, že možnosť čistenia adresárov WinSxS je vhodná pre dostatočných pokročilých používateľov, ktorí rozumejú súčasti systému Windows 10 a ich účelu..

Povoliť kompresiu NTFS v priečinku WinSxS vo Windows 10 a 8.1

Ďalším spôsobom, ako zmenšiť veľkosť adresára WinSxS v systéme Windows 10 / 8.1, je skomprimovať obsah adresára na úrovni systému súborov NTFS..

poznámka. Rovnako ako pri akomkoľvek inom neštandardnom zásahu do konfigurácie systému sa dôrazne odporúča vykonať úplnú zálohu systému.
  1. Otvorte príkazový riadok s oprávneniami správcu;
  2. Zastavenie a zakázanie služieb Inštalátora systému Windows a Inštalátora modulu Windows:
    sc stop msiserver sc stop TrustedInstaller sc config msiserver start = disabled sc config TrustedInstaller start = disabled
  3. Zálohujte prístupové zoznamy (ACL) priradené k súborom a priečinkom v adresári WinSxS pomocou nástroja icacls. Záložná kópia ACL je bežný textový súbor, ktorý obsahuje zoznam všetkých súborov a adresárov a oprávnení, ktoré im pridelil NTFS (neskôr bude táto záloha potrebná na obnovenie pôvodných ACL):
    icacls "% WINDIR% \ WinSxS" / save "% WINDIR% \ WinSxS_NTFS.acl" / t

  4. Priradiť seba vlastníka priečinka WinSxS a všetkých podadresárov:
    takeown / f "% WINDIR% \ WinSxS" / r
  5. Udelte svojmu účtu plné práva do adresára WinSxS:
    icacls "% WINDIR% \ WinSxS" / grant "% USERDOMAIN% \% USERNAME%" :( F) / t
  6. Komprimujte adresár WinSxS a všetok jeho obsah pomocou príkazu kompaktné. Niektoré súbory môže systém použiť, takže ak spustíte príkaz bez voľby / i, kompresia sa zastaví na úplne prvom súbore, ktorý systém práve používa. Pomocou Process Explorer môžete nájsť názov procesu, ktorý otvoril súbor (CTRL + F) a ukončite ho. Tento kompresný prístup je časovo veľmi náročný. Obmedzíme sa len na komprimáciu nepoužívaných súborov (v systéme Windows 10 môžete použiť pokročilejšiu kompresiu LZX):
    compact / s: "% WINDIR% \ WinSxS" / c / a / i *

  7. Obnovte vlastníka adresára WinSxS vrátením TrustedInstaller:
    icacls "% WINDIR% \ WinSxS" / setowner "NT SERVICE \ TrustedInstaller" / t
  8. Obnovte pôvodné povolenia NTFS do adresára WinSxS zo zálohy ACL: icacls "% WINDIR%" / restore "% WINDIR% \ WinSxS_NTFS.acl"
  9. Obnovte typ spustenia služby Inštalátor systému Windows a Inštalátor modulu Windows:
    sc config msiserver start = dopyt sc config TrustedInstaller start = dopyt

Skontrolujte aktuálnu veľkosť adresára WinSxS:

Ako vidíte, v našom príklade sa veľkosť priečinka WinSxS z dôvodu kompresie znížila z 5.8 GB až 4 GB (približne tretina). To nie je zlé, najmä pre malý disk SSD, miesto, na ktorom je dosť drahé.

Čo môže ovplyvniť kompresia adresára WinSxS.

Windows pracuje s komprimovanými súbormi v priehľadnom režime, pri spracovaní takýchto súborov však môže byť potrebný ich dodatočný čas na dekompresiu / kompresiu, čo znamená určité spomalenie inštalácie komponentov alebo aktualizácií systému Windows. Avšak pre moderné procesory (CPU) sa kompresia / dekompresia súborov vykonáva takmer okamžite, takže si užívateľ nemusí ani všimnúť skutočné zníženie rýchlosti. Nielen to, ak je pevný disk pomalý a procesor je dosť rýchly - aj pri kompresii si môžete všimnúť zvýšenie rýchlosti práce s diskom! Všimnite si, že keď povolíte kompresiu celého obsahu priečinka WinSxS pomocou NTFS, bude množstvo súborov v iných systémových adresároch komprimovaných kvôli použitiu pevných odkazov..

Tieto príkazy môžu byť vykonávané samostatne (ľahšie sa riadi úspešnosť každého z nich), alebo môžete všetky operácie skombinovať do jedného súboru skriptu, keď sa spustí, začne sa kompresia údajov v priečinku WinSxS. Hotový dávkový súbor si môžete stiahnuť tu: compress_winsxs.bat

Tento skript je možné neustále používať počas prevádzky systému, pretože Po inštalácii nových aktualizácií a programov sa v priečinku WinSxS objavia nové nekomprimované súbory.

poznámka. Ďalší skript vedie po sieti a umožňuje vám zmenšiť veľkosť priečinka WinSxS -   WinSxSLite (od Christian Bering Boegh). Tento skript podľa informácií vývojára vyhľadáva najnovšie súbory knižnice na disku a vytvára na ne odkazy zo všetkých predchádzajúcich verzií a vymaže irelevantné verzie. Považujeme za potrebné odradiť našich čitateľov od používania skriptu WinSxSLite, pretože napriek dosť rozumnej myšlienke je výsledok jeho vykonania nepredvídateľný a napriek zmenšeniu veľkosti adresára WinSxS časť funkčnosti systému Windows prestane fungovať.