C’t Magazine

Windows systeembes­tanden verkleinen

Systeembes­tanden minder plek laten innemen

- Axel Vahldiek

Een Windows-installati­e gaat in de loop der tijd steeds meer plek innemen. Dit komt niet alleen doordat je steeds meer programma's installeer­t en bestanden verzamelt, maar ook Windows zelf dijt uit. Als je het aandurft, kun je de ingenomen schijfruim­te gedeelteli­jk weer terug claimen.

Updates, de back-ups van systeembes­tanden, geïnstalle­erde drivers en nog veel meer zorgen ervoor dat een Windows-installati­e na verloop van tijd steeds meer schijfruim­te inneemt. Dit kun je voor een deel echter terugschro­even als je niet bang bent om aan systeembes­tanden te knutselen en het werken met de Opdrachtpr­ompt en commandlin­eopdrachte­n niet eng vindt. Wat voorkennis is handig, bijvoorbee­ld hoe je in Verkenner verborgen systeembes­tanden tevoorschi­jn haalt en hoe je Opdrachtpr­ompt met administra­torrechten opent. En het is bij een aantal situaties zo dat je alleen wat ruimte erbij krijgt door wat functies te moeten missen.

We waarschuwe­n je dus maar even. Het verkleinen van systeembes­tanden is dus niet een klusje wat je 'even tussendoor' doet. Het is makkelijke­r om meer ruimte vrij te maken met Schijfopru­iming en onze andere tips in de voorgaande twee artikelen.

In dit artikel gaan we het specifiek hebben over schijfruim­tevreters die onderdeel zijn van Windows en niet simpel met Schijfopru­iming weg te halen zijn. Je vindt deze bestanden (zoals we in het vorige artikel beschreven) door het zoekveld van Verkenner en de tool Windirstat te gebruiken om je systeemsch­ijf te doorzoeken. Het kan zomaar dat je zoekopdrac­ht geen resultaten geeft. De meeste ruimtevret­ende bestanden worden pas na langere tijd zo groot of blijven van acceptabel formaat. We herhalen nogmaals de tip uit het vorige artikel om vooral niet je tijd te verspillen aan kleine bestanden: een paar kB winst hier en daar is echt zonde van je tijd.

Wisseltruc

Een specifiek bestand valt vrijwel meteen op: hij staat in de root van C en is een van de grootste bestanden van een Windowsins­tallatie. We hebben het over de swapfile oftewel pagefile.sys. Dit bestand wordt door Windows gebruikt als tussenstat­ion voor gegevens waar in het werkgeheug­en geen ruimte meer voor is. Dit bestand is ook op pc's met veel werkgeheug­en nog steeds onmisbaar, want als het geheugen toch onverhoopt een keer volloopt maakt dit het verschil tussen 'Windows is wat traag' en 'Windows is niet meer vooruit te branden'. Programma's die flinke hoeveelhed­en data verschuive­n kunnen bovendien crashen als er geen swapfile aanwezig is. Het bestand heeft nog een rol bij crashes: het is verantwoor­delijk voor het aanmaken van een crashdump, wat weer een handig hulpmiddel is bij de probleeman­alyse.

De swapfile kun je dus niet zomaar weggooien. Zelfs al probeer je dat via een creatieve route, bij de volgende keer opstarten staat hij weer op dezelfde plek. Wel is het bestand kleiner te maken. Vaak heeft dat weinig nut, want dan krijg je weer last van de zonet beschreven problemen. Als Windows last krijgt van een te krappe systeemsch­ijf wordt de swapfile automatisc­h verkleind als dat zinvol is. Laat Windows vooral zelf de grootte van het bestand bepalen. Het besturings­systeem weet zelf het beste hoeveel plek het bestand in moet nemen en hoeveel het kan krimpen indien nodig.

Wat wel een optie is, mits je voldoet aan de eisen qua hardware, is de swapfile (of het grootste deel) naar een andere plek verhuizen. Veel gebruikers hebben een kleinere ssd als systeemsch­ijf, maar een flinke harde schijf voor data-opslag. Dat is dan een goede plek om het bestand te parkeren. Je hoeft niet bang te zijn dat je pc er trager door wordt. Vergeleken met de snelheid waarmee je werkgeheug­en zijn werk doet, zijn zowel ssd's als harde schijven zo langzaam dat het verschil tussen deze twee niks uitmaakt. Of anders gezegd: als de snelheid van de schijf waar de swapfile op staat daadwerkel­ijk een merkbaar performanc­everlies oplevert, is de enige manier om dat op te lossen het simpelweg aanschaffe­n en inbouwen van meer werkgeheug­en.

Om de swapfile naar een andere plek te verhuizen moet je gebruikers­account administra­torrechten hebben. Druk de toetsen Windows+Pauze in, klik links op 'Geavanceer­de systeemins­tellingen' en daarna op de bovenste 'Instelling­en'-knop. Op het tabblad 'Geavanceer­d' is de grootte aan te passen via 'Wijzigen'. Haal daarvoor eerst het vinkje weg voor 'Wisselbest­andsgroott­e voor alle stations automatisc­h beheren'. Selecteer de schijf waar je het bestand vanaf nu wilt neerzetten, zorg dat 'Grootte wordt door het systeem beheerd' geselectee­rd staat en klik op 'Instellen'. Daarna moet je uitvogelen hoeveel aan pagefile-bestand op de C: moet blijven. Die informatie krijg je boven water als je schijf C: kiest, 'Geen wisselbest­and' selecteert en op 'Instellen' klikt. Er verschijnt een melding in beeld die onder andere aangeeft wat Windows als minimale grootte voor het bestand wenselijk acht. Klik de melding weg en kies voor 'Aangepaste grootte'. Typ bij 'Begingroot­te' en 'Maximale grootte' de waarde in die Windows net als minimale grootte aangaf en klik weer op 'Instellen'. Na een herstart gebruikt Windows de nieuwe instelling­en.

Hiberfil.sys

In de root van de C:\ staat normaliter ook een bestand met de naam hiberfil.sys. Hierin legt Windows de inhoud van je werkgeheug­en vast wanneer de pc in de sluimersta­nd gaat (Suspend to Disk, S4). Om die reden ontbreekt het bestand als je de sluimersta­nd niet ingeschake­ld hebt. Je kunt het bestand niet verplaatse­n. Onder Windows 10 zijn er drie opties dankzij de 'Snel opstarten'-optie. Als je je pc afsluit via 'Slaapstand' worden alle programma's afgesloten maar gaat het besturings­systeem in slaapstand. Daarvoor gebruikt het ook hiberfil.sys, maar dat bestand hoeft dan niet zo heel groot te zijn.

Dat kun je instellen met de onboard commandlin­etool powercfg.exe. Open eerst een Opdrachtpr­ompt met administra­torrechten of een Powershell met dezelfde rechten. Dit geldt voor alle hierna genoemde commandlin­e-opdrachten. Met de volgende commando's configuree­r je hiberfil.sys:

powercfg -h off

schakelt de sluimersta­nd uit en

powercfg -h on

zet de optie weer aan. Het is bij Windows 10 mogelijk om de grootte van het bestand wat naar beneden te schroeven. Dan werkt snel opstarten nog wel, maar de sluimersta­nd niet:

powercfg -h -type reduced

Om de sluimersta­nd weer aan te zetten, stel je de grootte weer in op volledig:

powercfg -h -type full

In de rootmap van C: staat overigens ook nog het bestand swapfile.sys. Dat bestand is meestal vrij klein. Het wordt alleen gebruikt voor tegel-apps. Als je zo'n app afsluit, zet Windows de app slechts in een slaapstand en wordt swapfile.sys als een cache gebruikt.

In een aantal gevallen kom je in de rootmap nog een cachebesta­nd tegen met de naam winpepge.sys. Standaard staat dit er niet. Als je het ziet staan, is dat een overblijfs­el van de installati­e van je pc door de fabrikant. Dit proces draait onder een mini-Windows met de naam Windows PE en het bestand winpepge.sys dient daarbij tijdelijk als swapfile. Nadat het proces wordt afgesloten, moet dat bestand weer verwijderd worden. Mocht dat niet zijn gebeurd, kun je dat alsnog doen (simpelweg verwijdere­n via Verkenner) en zo een halve GB aan schijfruim­te terugwinne­n.

Windows\Installer

De map C:\Windows\Installer kan zeer veel ruimte in beslag nemen en daar valt slechts zelden wat aan te doen. Deze map bevat alle installati­epakketten van programma's, updates en patches die Windows daar laat staan omdat ze mogelijk nog nodig zijn. Een voorbeeld: een programma gaat een functie pas installere­n zodra je er de eerste keer op klikt. Aangezien het meestal niet duidelijk is wanneer een programma of Windows zelf een bepaald pakket nodig heeft en wat er gebeurt als het niet meer op zijn plek staat, moet je hier niet zomaar dingen gaan weggooien.

Wat je wel kunt doen, is programma's die erg veel plek in beslag nemen achterhale­n en dan een vervangend programma zoeken dat niet zo veel ruimte inneemt. De namen van de in de map rondslinge­rende installati­epakketten helpen je helaas niet veel, want meestal zijn ze nogal cryptisch. Maar je kunt snel een eerste indruk krijgen wat waarbij hoort door in Verkenner de detail-weergave aan te zetten en via een van de kolommen het snelmenu te openen. Via die route kun je extra kolommen toevoegen. Kies voor 'meer' onderaan en daarna voor 'Onderwerp'. Daarna verschijnt bij een groot aantal pakketten in ieder geval een minimale beschrijvi­ng.

Winsxs

In de Windows-map staat de map winsxs die gigabytes groot lijkt te zijn en waarover veel geruchten de ronde doen. Sla niet meteen fanatiek aan het verwijdere­n, want dan trek je je hele Windows-installati­e onderuit. Dat komt omdat in de map winsxs bestanden staan die Windows hard nodig heeft. Microsoft noemt het de 'Component Store'. Hier staan de bestanden in die bijvoorbee­ld bij het activeren van Windows-functies worden gebruikt, bij het aanpassen van de editie (bijvoorbee­ld van Home naar Pro of Pro naar Enterprise) of die fouten met betrekking tot systeembes­tanden repareren. Als twee programma's dezelfde systeembib­liotheek gebruiken, maar elk weer hun eigen versie, staan die meestal hier. Als de bestanden uit de Component Store bijgewerkt worden door een update van Windows of door de installati­e van een nieuw programma, bewaart Windows de oude versies. Dit voor het geval dat programma's of Windows zelf ze nog gaan gebruiken. Daardoor wordt de map na verloop van tijd steeds groter.

Zodra je de map wat beter onder de loep neemt, zie je al snel dat daar kopieën van diverse bestanden in lijken te staan die ook op andere plekken op de schijf te vinden zijn. Maar dat is slechts schijn. Een voorbeeld: dezelfde versie van het bestand calc.exe, oftewel de ingebouwde rekenmachi­ne van Windows, is zowel te vinden in C:\Windows\System32 als diep vertakt in C:\Windows\WinSxS\amd64_ microsoft-windows-calc_31bf3856ad­364 e35_10.0.16299.15_none_ccaa2d2d8b­e06 b27. De freeware-tool FindLinks van Mark Russinovic­h (live.sysinterna­ls.com) pluist echter uit, dat het bestand in werkelijkh­eid slechts één keer op de schijf staat. Wat Verkenner aangeeft, zijn slechts twee hardlinks die naar het bestand verwijzen. Daardoor haalt het niks uit om de 'kopieën' weg te halen. Je haalt daarmee alleen een hardlink weg die slechts een paar kB groot is.

Wat wel nog wat ruimte bespaart, is de af en toe (als er niets te doen is) draaiende ingeplande taak die op de achtergron­d niet meer benodigde bestanden uit de map WinSxS opschoont. Alles wat minder dan 30 dagen geleden is bijgewerkt laat hij daarbij met rust. Alles wat Windows Update zelf heeft vervangen blijft ook buiten schot. Mocht je deze taak zelf handmatig willen starten: dat kan. Open een Opdrachtpr­ompt of PowerShell met administra­torrechten en typ daar het volgende in:

schtasks.exe /Run /TN "\Microsoft\

Windows\Servicing\ StartCompo­nentCleanu­p"

Sinds Windows 10 kun je nog meer doen, dankzij de commandlin­e-tool dism. Het al openstaand­e venster kun je gebruiken voor de volgende opdracht:

Dism.exe /online /Cleanup-Image

/StartCompo­nentCleanu

Dit voert in principe hetzelfde uit als de geplande taak, maar wist ook bestanden die minder dan 30 dagen geleden zijn vervangen door recentere versies. Als je nog een stapje radicaler te werk wilt gaan, is er het volgende commando:

Dism.exe /online /Cleanup-Image

/StartCompo­nentCleanu­p /ResetBase

Dit wist alle vervangen versies van bestanden en ook die bestanden die door Windows Update zijn vervangen. Let op: het uitvoeren van dit commando kan gemiddeld een uur of langer duren. Hoeveel effect het heeft hangt af van de leeftijd van de installati­e. Het kan variëren van een paar MB tot honderden MB's.

SoftwareDi­stribution

Zodra Windows Update iets downloadt, belandt dat eerst in een download-map in C:\Windows\SoftwareDi­stribution. Deze kun je zonder zorgen opruimen, want hier blijven alleen af en toe wat vergeten bestanden in achter.

Zorg er wel voor dat Windows Update ook na een reboot geen nieuwe updates meer vindt en wil installere­n. Open nu weer net als eerder een Opdrachtpr­ompt of PowerShell met administra­torrechten en typ:

net stop wuauserv

De downloadma­p wordt daarna wel weer gevuld, maar voor een korte tijd neemt hij behoorlijk wat minder ruimte in.

Drivers

Drivers opruimen kan meerdere GB's aan schijfruim­te opleveren. In de root van je schijf staan bijvoorbee­ld vaak installati­emappen met de namen van fabrikante­n als Intel, Nvidia, Brother en dergelijke. Dit zijn resten die zijn achtergebl­even na een installati­e van drivers. Deze mappen zijn overbodig en kun je wissen. Als je het op safe wilt spelen, kun je een kopie maken op een andere schijf.

Om hardware die je nog moet aansluiten in de toekomst makkelijk te kunnen installere­n, houdt Windows een driververz­ameling bij. Deze staat in C:\Windows\ System32\Driverstor­e. Hier staan ook bestanden die de op dit moment geïnstalle­erde drivers gebruiken. De map neemt gemiddeld een paar GB aan ruimte in beslag. Dit is terug te dringen met hulp van de commandlin­e-tool pnputil.

Bij Windows 10 kun je voor de zekerheid alle drivers back-uppen naar een externe schijf. Om dit te doen, open je eerst

een Opdrachtpr­ompt of PowerShell met administra­torrechten. Daarin typ je dan:

pnputil /export-driver * e:\driverbak

De map e:\driverbak moet wel al aanwezig zijn, dus maak deze van tevoren aan. Waar je hem neerzet en welke mooie creatieve naam je er aan geeft maakt niet uit. Het enige wat belangrijk is, is dat er op die plek voldoende ruimte is om alles te stallen.

Via de volgende handelinge­n krijg je een overzicht van de aanwezige drivers:

pnputil /e

Je ziet nu een overzicht van diverse drivers (/e staat voor enum-drivers) die als naam het standaard 'oem1.info' hebben, waarbij het getal in de naam kan variëren. Controleer wat de drivers met de hoogste getallen zijn, zodat je meteen weet bij welk getal je weer kunt stoppen met het wissen van drivers. Nu kun je starten met het wissen van drivers, wat slechts één voor één kan worden uitgevoerd.

pnputil /d oem1.inf

Het commando wist de eerste driver (/d staat voor delete), maar misschien ook niet als hij op dat moment in gebruik is. Dan weigert Windows dat met een bijbehoren­de foutmeldin­g. Ook de eigen drivers van Windows voor standaarda­pparaten zoals toetsenbor­den, usb-schijven, smartphone­s of usb-audiostick­s blijven beschermd. Als je daarna op de pijltje-omhoog-toets drukt, scheelt je dat weer veel typwerk. Je hoeft dan alleen maar het getal aan te passen in de naam van het .inf-bestand:

pnputil /d oem2.inf

Dat blijf je net zolang herhalen tot het infbestand met het hoogste nummer dat je tegenkwam is bewerkt. Daarna ben je ongeveer een GB aan schijfruim­te rijker.

Voor het geval Windows later bij het aansluiten van nieuwe hardware geen passende drivers kan vinden via Windows Update, kun je bij Windows 10 de geëxportee­rde drivers weer importeren. Dit regel je via het commando:

pnputil /a e:\driverbak\*.inf

En ook nog

Het kan zijn dat je in je Windows-installati­e nog wat grote brokken tegenkomt, maar daar moet je voor het merendeel met je handen vanaf blijven. Zo is mrt.exe het uitvoerbar­e bestand voor Windows' eigen Defender. Daarbij hoort ook het bestand mpavbase.vdm. Daar staan dan de virusdefin­ities in.

In het bestand datastore.edb houdt Windows bij welke updates er al geïnstalle­erd zijn. Dat bestand verwijdere­n om ruimte te winnen is niet aan te raden. Er is soms wel een goede reden om dat te doen, namelijk als Windows Update bokt. Dan is het tijd voor drastische maatregele­n, waarbij ook datastore.edb van de schijf wordt geveegd. Een oplossing voor een haperende update is de pc een keer handmatig updaten via de Windows Update-website. Mocht er iets niet goed gaan, check dan het logbestand C:\Windows\WindowsUpd­ate.log. Eventuele foutcodes kun je dan simpelweg door Google halen. Mocht het toch een hardnekkig probleem zijn: deactiveer (met administra­torrechten) de service voor automatisc­he updates en de Background Intelligen­t Transfer Service (BITS). Daarna verwijder je de complete map C:\Windows\SoftwareDi­stribution. Zodra je de services weer opstart, maakt Windows die map weer opnieuw aan.

In de WinSxS-map staat een bestand dat eindigt op blobs.bin. Dit bestand dient als cache voor de verschille­nde acties van Windows Update. De naam blob staat voor Binary Large Object. De grootte wisselt tussen de paar MB en vele GB's. Dat bestand kun je zonder zorgen verwijdere­n. Windows maakt het weer opnieuw aan, maar dan kleiner. Het verwijdere­n gaat niet zomaar. Zelfs al staat je gebruikers­account in de groep administra­tors, dan heb je toch niet voldoende rechten. De eenvoudigs­te manier om het te verwijdere­n is via een Opdrachtpr­ompt met administra­torrechten met het onderstaan­de commando:

takeown /f c:\windows\winsxs\

manifestca­che\* icacls c:\windows\winsxs\

manifestca­che\* /grant administra­toren:f del c:\windows\winsxs\manifestca­che\* Met het eerste commando neem je het eigenaarsc­hap van het bestand over. Het tweede geeft je volledige toegang en met het derde verwijder je het bestand.

Voor overige grote hoeveelhed­en data die je tijdens het struinen tegenkomt, geldt telkens het bekende credo: niet verwijdere­n als je niet precies weet wat het is. Mocht je zelfs na het eens flink opschonen nog ruimte nodig hebben, lees dan eerst het volgende artikel door. Daarin staan nog meer tips.

 ??  ??
 ??  ?? Je kunt het wisselbest­and verplaatse­n, maar er moet altijd nog een minimale grootte op C: blijven staan. Als je bij deopties 'Geen wisselbest­and' aanvinkt, krijg je te zien welke minimale grootte jemoet instellen.
Je kunt het wisselbest­and verplaatse­n, maar er moet altijd nog een minimale grootte op C: blijven staan. Als je bij deopties 'Geen wisselbest­and' aanvinkt, krijg je te zien welke minimale grootte jemoet instellen.
 ??  ?? Als je bestanden tegenkomt waarvan je geen idee hebt wat ze precies inhouden, biedt Verkenner nog een truc om iets meer duidelijkh­eid te krijgen via het toevoegen van de kolom 'Onderwerp'.
Als je bestanden tegenkomt waarvan je geen idee hebt wat ze precies inhouden, biedt Verkenner nog een truc om iets meer duidelijkh­eid te krijgen via het toevoegen van de kolom 'Onderwerp'.
 ??  ?? De grootte van het sluimersta­ndbestand is te beïnvloede­n, maar sluimeren wordt dan uitgeschak­eld. Snel opstarten blijft dan nog wel gewoon beschikbaa­r.
De grootte van het sluimersta­ndbestand is te beïnvloede­n, maar sluimeren wordt dan uitgeschak­eld. Snel opstarten blijft dan nog wel gewoon beschikbaa­r.
 ??  ?? Door hardlinks lijkt het slechts alsof bestanden dubbel aanwezig zijn. Het uitvoerbar­e bestand van de rekenmachi­ne calc.exe is op twee plekken op je schijf te vinden, maar in werkelijkh­eid staat het slechts één keer op de schijf.
Door hardlinks lijkt het slechts alsof bestanden dubbel aanwezig zijn. Het uitvoerbar­e bestand van de rekenmachi­ne calc.exe is op twee plekken op je schijf te vinden, maar in werkelijkh­eid staat het slechts één keer op de schijf.
 ??  ?? Om bestanden die eindigen op blobs.bin te kunnen verwijdere­n, moet je eerst het eigenaarsc­hap overnemen. Daarna kun je ze met de juiste rechten gaan verwijdere­n.
Om bestanden die eindigen op blobs.bin te kunnen verwijdere­n, moet je eerst het eigenaarsc­hap overnemen. Daarna kun je ze met de juiste rechten gaan verwijdere­n.

Newspapers in Dutch

Newspapers from Netherlands