Systeemherstel functies onder Windows activeren met zelfherstel script

Noud van Kruysbergen
0

We bieden het systeemherstel voor Windows zelfherstel script. Het goede nieuws: Windows heeft standaard mechanismen voor zelfherstel, het slechte nieuws: Microsoft heeft een van die twee erg nuttige functies gedeactiveerd en de andere verwaarloosd zodat ze onbruikbaar zijn. Het ontmantelde syteemherstel van Windows kun je met een  zelfherstel script reactiveren en daarmee bespaar je je het opnieuw moeten installeren in geval van nood.

Windows krijgt van tijd tot tijd pech onderweg. En omdat zoiets altijd op een ongelegen moment gebeurt, ontstaat al snel het verlangen naar een knop die het systeem eenvoudig repareert.

Dergelijke knoppen bestaan wel degelijk, en zijn ook ingebouwd in Windows: een simpele klik op ‘Opnieuw opstarten’ doet vaak al wonderen. Het installeren van de door Windows aangeboden updates lost ook menig probleem op – niet alleen met het besturingssysteem, maar ook met stuur­programma’s en andere Microsoft-software.

Uitgeschakeld zelfherstel en helpende script

Maar er zijn ook twee knoppen die Microsoft heeft uitgeschakeld of onbruikbaar heeft gemaakt omdat er geen onderhoud meer wordt gedaan aan de achterliggende technieken. Een van die twee opties is handmatig weer te activeren, maar Windows wil blijkbaar echt niet dat je ze nog gebruikt. Bij elke upgrade naar een volgende versie wordt dat namelijk weer ongedaan gemaakt. De hoogste tijd dus om beide permanent te reacti­veren en up-to-date te brengen. We hebben een paar scripts gemaakt die de moeite die je daarvoor moet doen beperken tot slechts een paar muisklikken.

Systeemherstel is geen complete back-up

De taak van Systeemherstel is het volledig auto­matisch maken van back-ups van het systeem. Windows maakt alleen een back-up van wat het nodig acht voor een goed werkend systeem. Je documenten, foto’s en alle andere persoonlijke bestanden zijn niet inbegrepen. Windows kan die dus niet herstellen in geval van nood. Systeemherstel is dus geen vervanging voor een complete back-up.

Herstelpunten

Windows noemt de afzonderlijke back-ups herstelpunten en maakt er daar automatisch een van voordat updates en stuurprogramma’s geïnstalleerd worden en wanneer een installatieprogramma uitgevoerd wordt. Het is een soort virtuele kopie van alle systeembestanden en het register.

Zo’n ‘schaduwkopie’ neemt aanvankelijk slechts enkele MB op de schijf in beslag voor administratieve informatie, omdat er pas echt een back-up wordt gemaakt wanneer een proces of gebruiker probeert een beschermd bestand te wijzigen, wissen of overschrijven. Maar zelfs dan wordt alleen van het gewijzigde bestand een back-up gemaakt, niet van het hele systeem – dat bespaart ruimte.

Opdracht tot systeemherstel

Wanneer je Windows opdracht geeft een bepaald punt te herstellen, herstelt Windows alle systeem­bestanden naar de exacte staat waarin ze zich bevonden toen dat punt gemaakt werd. Verwijderde bestanden worden dan teruggezet, bestanden worden teruggezet naar de oude versienummers, en recent toegevoegde systeembestanden zijn dan verdwenen. Om het risico op gegevensverlies te minimaliseren, maakt Windows voordat een ouder punt hersteld wordt meteen eerst een nieuwe schaduwkopie.

Ons script stelt een geplande taak in om ervoor te zorgen dat het opnieuw activeren van Systeemherstel de overstap naar een volgende versie van Windows 10 overleeft.

Het update versus upgrade nadeel

Systeemherstel was altijd actief in Windows 7 en 8.1, maar Microsoft heeft het uitgeschakeld in Windows 10. Je kunt het handmatig weer inschakelen, maar dat zal niet lang duren. Bij een nieuwe versie van Windows 10 voert Windows namelijk vaak geen update uit voor het upgraden – meestal tenminste, want bij versies 1909, 20H2 en 21H1 was een update wel voldoende als de directe voorganger al geïnstalleerd was. In alle andere gevallen echter voert Windows een upgrade-installatie uit.

Het verschil tussen update en upgrade: bij een update worden alleen de gewijzigde bestanden uitgewisseld. Bij een upgrade verplaatst het set-upprogramma je Windows-installatie  naar een nieuwe map met de naam Windows.old, installeert de nieuwe versie er vers naast en probeert dan je bestanden, toepassingen en instellingen van de oude installatie over te nemen. Vervelend genoeg horen de Systeemherstel-instellingen daar niet bij.

En niet alleen dat, alle herstelpunten die zijn gemaakt vóór de upgrade lijken daarna ook te zijn verdwenen. Dat is zoals het hoort, want Windows is vers geïnstalleerd als onderdeel van de upgrade, en er is nog niets veranderd. Je herstelpunten zijn er nog steeds, namelijk in de Windows.old map.

Het is alleen zo dat je er na een upgrade niets meer aan hebt – tenzij je teruggaat naar de oude versie, dan zou je ze weer kunnen gebruiken. Je vindt de optie om de boel terug te draaien, zolang de upgrade niet te lang geleden is, bij de instellingen onder ‘Bijwerken en beveiliging / Systeemherstel’.

Configuratie script en systeemherstel script

  1. We hebben twee scripts gemaakt die je daarbij helpen. Een daarvan is een configuratiescript dat je maar één keer hoeft uit te voeren. Het maakt een submap genaamd “ct” in je gebruikersprofiel aan (meer precies %userprofile%, in het geval van de auteur C:\user\axv), kopieert een ander script genaamd ctSystemRestore.cmd naar die map en start dat script.
  2. Dit tweede script reactiveert Systeemherstel als dat nodig is, stelt de maximale bruik­bare ruimte in op 20 procent en maakt een eerste herstelpunt aan. Bovendien stelt het configuratiescript een ‘geplande taak’ in die het aanroepen van het tweede script elke dag herhaalt wanneer je inlogt. Die geplande taak is de essentiële truc van onze oplossing, omdat zelf aangemaakte taken een upgrade-­installatie wel overleven, net als het script in je gebruikersprofiel.

Blijf op de hoogte van de nieuwste informatie en tips!
Schrijf je in voor de nieuwsbrief:

Ontvang elke week het laatste IT-nieuws, de handigste tips en speciale aanbiedingen.

Installeren

Het installeren is snel gedaan: download het bestand ctSystemRestore.zip en pak het uit. Er zitten twee bestanden in, een ervan heet ctSystemRestore­Config.cmd. Selecteer ‘Als administrator uitvoeren’ in het contextmenu en wacht tot het script ‘Klaar!’ zegt – dat is het.

De uit het ziparchief uitgepakte bestanden zijn dan niet meer nodig. Je kunt ze verwijderen of bewaren voor later, dat is verder aan jou.

windows zelfherstel systeemherstel

Ons script reactiveert Systeemherstel zodanig dat het blijft werken, zelfs na het upgraden naar een nieuwe versie van Windows.

Systeemherstel Windows- herstelpunt 1

Zodra het script klaar is, heb je een eerste herstelpunt beschikbaar in geval van nood. Als het nodig is, kun je dat herstellen. Het is echter raadzaam de desbetreffende dialoogvensters niet alleen in geval van nood te bekijken (dan is alles toch al spannend genoeg), maar ze van tevoren even te bekijken – bij voorkeur nu. Zolang je alleen kijkt zoals hieronder beschreven, zal er niets hersteld worden.

Verken de omgeving

Druk om te beginnen op de toetsencombinatie Windows+Pause voor het hersteldialoog­venster. Bij een actuele Windows 10-versie zie je dan de pagina Systeem van de instellingen, waar je klikt op Systeem­beveiliging. Dan wordt het dialoogvenster Systeemeigenschappen geopend, met het tabblad Systeembeveiliging. Daar is het enige dat geconfigureerd kan worden opnieuw Systeemherstel. Klik op de knop met die naam.

Overzicht herstelpunten

Windows zal dan eerst een herstelpunt aanbevelen. Je krijgt een overzicht van alle items als je eerst klikt op Volgende. Direct na het voor de eerste keer uitvoeren van ons script bevat de lijst die je dan ziet slechts één item. Als je een item selecteert, wordt de knop ‘Zoeken naar programma’s die worden beïnvloed’ actief. Klik daarop, wacht even, en dan zal Windows onthullen welke toepassingen het verwacht te veranderen door terug te keren naar dat herstelpunt. Kort nadat een herstelpunt is aangemaakt is die lijst echter meestal nog leeg.

Terugkeren naar een eerder gemaakt herstelpunt is met een paar muisklikken gebeurd.

Nadat je op Volgende klikt, verschijnt een laatste bevestigingsvraag. Als je alleen even wilde rondkijken, heb je nu het essentiële wel gezien en kun je het dialoogvenster sluiten door op Annuleren te klikken. In een echte noodsituatie klik je op Vol­tooien. Windows maakt dan eerst een nieuw herstelpunt aan van de toestand op dat moment, start vervolgens het besturingssysteem opnieuw op en zet ondertussen alles terug naar de oude toestand.

Nieuw herstelpunt maken

Op het tabblad Systeembeveiliging vind je niet alleen de knop Systeemherstel, maar ook een knop met de naam Maken. Die doet wat de naam belooft: een klik erop creëert een ander herstelpunt, waaraan je vrijelijk een naam kunt toekennen. Op die manier kun je altijd zelf extra herstelpunten creëren als je wilt.

Systeemherstel Windows – herstelpunt 2

Als het opstarten van Windows drie keer achter elkaar mislukt, doet de bootloader geen nieuwe poging, maar start de herstelomgeving Windows RE (Recovery Environment). Windows RE biedt aan om een automatische reparatie te proberen. Klik in plaats daarvan op ‘Geavanceerde opties’, waarna je in een keuzedialoog terechtkomt.

Je krijgt hetzelfde selectiedialoogvenster ook te zien zonder opstartproblemen als je de Shift-toets ingedrukt houdt als je op ‘Opnieuw opstarten’ klikt.

Klik in het keuzedialoogvenster bij de geavanceerde opties van ‘Problemen oplossen’ op de optie voor het herstellen van het systeem. Windows RE wil dan dat je inlogt met een account met administratorrechten (gewoonlijk is je eigen account daar standaard een van).  Je komt bij hetzelfde dialoogvenster terecht dat je reeds tegen­kwam bij het onderdeel Herstelpunt 1 – het installeren van een herstelpunt werkt verder op dezelfde manier.

Configureren van Systeemherstel

Er valt bijna niets te configureren aan Systeem­herstel. Je kunt opgeven welke schijven Systeemherstel moet beschermen en hoeveel ruimte het in beslag mag nemen. In de meeste gevallen is dat echter niet nodig omdat er gewoonlijk niets buiten C: is dat tot het systeem zelf behoort, en de 20 procent aan gereserveerde opslagruimte een praktische waarde is.

Je kunt zelfs kiezen uit herstelpunten die eerder zijn aangemaakt dan de laatste Windows-versie.

Als je toch iets anders wilt instellen, zit er wel een addertje onder het gras: als je dat doet via de dialoogvensters voor Systeembeveiliging, zal ons script je instellingen overschrijven wanneer je de volgende keer inlogt. Je zult dus het script moeten bewerken, maar dat is mogelijk zonder veel te hoeven weten van het programmeren van scripts. Zoals gezegd kun je het script vinden in je gebruikersprofiel in de ct-map – het heet ctSystemRestore.cmd. Dat is een eenvoudig tekstbestand dat je kunt openen met bijvoorbeeld Kladblok.

Om Systeemherstel een back-up te laten ­maken van meerdere schijven, wijzig je regel 8 van het script. Standaard staat daar:

$Schijf = $ENV:SystemDrive

Voeg meer schijven toe aan die regel, gescheiden door komma’s en tussen aanhalingstekens. Dat ziet er bijvoorbeeld als volgt uit:

$Schijf = $ENV:SystemDrive, “D:”

Kijk daarbij wel uit met parallelle installaties. Laat de ene installatie niet de systeemschijf van de andere controleren – en laat ze zeker niet beide elkaar controleren. De twee installaties zullen de door het andere systeem gecreëerde herstelpunten herkennen, maar ook doorhebben dat ze die niet zelf hebben gecreëerd en daarom verwijderen. Met andere woorden: de twee installaties zullen elkaar op die manier niet beschermen, maar juist elkaars herstelpunten wissen.

Je kunt ook de hoeveelheid ruimte configureren die door Systeemherstel wordt gebruikt. Je kunt de waarde naar beneden bijstellen, maar dat heeft meestal weinig nut. Windows verwijdert oudere herstelpunten automatisch als er ruimte nodig is voor nieuwe herstelpunten. Zodra de schijf geen ruimte meer heeft, verlaagt Windows het percentage al uit zichzelf. En als er niet genoeg ruimte is voor ook maar één herstelpunt, verwijdert Windows ook het laatste herstelpunt.

Ons script probeert dan een nieuw herstelpunt aan te maken bij de volgende herstart, en zodra er weer voldoende ruimte op de schijf is werkt dat ook. Bedenk bovendien dat hoe lager je het percentage instelt, des te groter het risico dat een heleboel veranderingen in zeer korte tijd leiden tot een enkel herstelpunt dat de limiet overschrijdt, en dan is er geen meer tot de volgende herstart.

Het argument voor een hogere waarde is dat Windows dan meer herstelpunten kan opslaan, wat de veiligheid verhoogt. Je hoeft je geen zorgen te maken over te veel schijfgebruik, want zodra de maximaal toegestane ruimte opgevuld is, schrijft Systeemherstel alleen het nieuwe herstelpunt weg en verwijdert het de oudste als er te weinig ruimte is. Het maakt niet uit hoeveel extra herstelpunten er op de schijf staan, want daar wordt op dat moment niets mee gedaan.

Om het percentage aan te passen, verander je regel 9 in het script:

$percentage = “20%”

Je kunt daar niet alleen procentuele waarden zoals hierboven invoeren, maar ook absolute waarden. Om dat te doen: vervang je het %-teken in de regel door MB, GB of TB, bijvoorbeeld:.

$percentage = “20MB”

Je hebt nu weer systeemherstelpunten, en het activeren daarvan overleeft zelfs upgrades van de ene Windows-versie naar de volgende. Na een up­grade wordt de nieuwe versie meteen beschermd door Systeemherstel. Omdat ons script direct na een upgrade een nieuw herstelpunt heeft aangemaakt, kun je die functie blijven gebruiken, ook al wil Micro­soft je die onthouden.


Axel Vahldiek en Noud van Kruysbergen
Dit is een verkorte versie van het artikel in c’t magazine 7, 2021, p72


 

c’t 12/2024

Deel dit artikel

Noud van Kruysbergen
Noud van KruysbergenNoud heeft de 'American Dream' doorlopen van jongste bediende tot hoofdredacteur van c't, waar hij zo veel mogelijk de diepgang, betrouwbaarheid en diversiteit wil bewaken.

Lees ook

Vijf goede Raspberry Pi alternatieven om zeker te overwegen

De constante populariteit van de Raspberry Pi heeft geleid tot een groeiende vraag naar alternatieven die meer prestaties bieden tegen een betaalbare ...

ChatGPT gebruiken: dit kun je doen met de chatbot van OpenAI

OpenAI heeft de ChatGPT-bot ontwikkeld als een taalmodel dat is getraind op een enorme hoeveelheid tekst op het internet. Je kunt ChatGPT gebruiken om...

0 Praat mee
avatar
  Abonneer  
Laat het mij weten wanneer er