Optimaliseren van het register, de registereditor, registerbestanden, registertweaks en het achterhalen van registerwijzigingen

Deze pagina geeft uitleg over de opbouw van het register en over het optimaliseren van het register (door middel van defragmenteren en cleanen). Tevens wordt aandacht besteed aan het aanbrengen van wijzigingen met de registereditor en het traceren van registerwijzigingen met een tool als Process Monitor.

Het toepassen van registertweaks

In de vele computertijdschriften en op Windows-gerelateerde websites komt het begrip registertweaks (het aanbrengen van wijzigingen in het register) regelmatig aan de orde, zo ook op de website SchoonePC. Het kan goed van pas komen over enige kennis omtrent het register te beschikken, omdat sommige instellingen enkel door middel van een registertweak (en dus niet via de gebruikersinterface) gewijzigd kunnen worden.

Voor menig PC-gebruiker is 'het register' echter onbekend terrein en de vele waarschuwingen weerhouden hen om er wijzigingen in aan te brengen. De waarschuwingen zijn ook wel terecht: met het doorvoeren van verkeerde registerwijzigingen bestaat namelijk de kans dat bepaalde programma's niet meer naar behoren functioneren, of in het ergste geval dat Windows niet meer wil opstarten. Zolang de tweaks echter gecontroleerd worden uitgevoerd en er geen onbedoelde wijzigingen in het register worden aangebracht, valt het met de risico's gelukkig reuze mee.

Het realtime traceren van registertweaks

Elke aanpassing in de instellingen heeft een specifieke registerwijziging tot gevolg. Is bekend welke registerwaarden aangepast moeten worden voor het wijzigen van de instellingen, dan kunnen deze in een registerbestand worden vastgelegd. Met een dergelijk bestand kunnen verschillende computers en gebruikersaccounts vervolgens efficiënt met dezelfde instellingen worden afgesteld. Het is daarom interessant om te kunnen achterhalen welke registerwijzigingen worden doorgevoerd nadat een instelling via de gebruikersinterface is gewijzigd. Process Monitor is daar een ideaal hulpmiddel voor omdat deze tool realtime registerwijzigingen kan traceren.

De opbouw van het register: registersleutels en -waarden

Windows maakt gebruik van een register om de (meeste) instellingen van Windows zelf, die van de diverse hard- en software en die van de gebruikersaccounts (de persoonlijke instellingen) in op te slaan. Je kunt het zo gek niet verzinnen of het wordt wel in het register opgeslagen! Het register wordt ingelezen bij het opstarten van Windows en het gebruikersaccount en wordt bij bijna alle daaropvolgende handelingen geraadpleegd.

Een overzichtelijke indeling van het register
Het register is een volgens een overzichtelijke boomstructuur opgebouwde database en bevat een enorme hoeveelheid aan registersleutels en registerwaarden. De boomstructuur is vergelijkbaar met de opbouw van het bestandssysteem op de harde schijf zoals deze in de Windows Verkenner wordt getoond. De registersleutels zijn vergelijkbaar met de mapjes, de registerwaarden met de bestanden (deze bevatten de uiteindelijke gegevens over de instellingen). Zonder deze structuur zou het vinden van specifieke registerwaarden ondoenlijk zijn.

Deze boomstructuur wordt getoond bij het openen van de registereditor (de registereditor kan worden opgestart met het commando REGEDIT te typen in het startvenster of via de charm Zoeken van Windows 8 of het uitvoerveld van het menu Start van Windows 7/Vista/XP).

Register-editor REGEDIT

De volgende vijf registersleutels vormen de eerste vertakking van de boomstructuur:

Welbeschouwd zijn er in werkelijkheid dus eigenlijk maar twee registersleutels (HKLM en HKU) omdat de overige registersleutels feitelijk weer subsleutels zijn van deze twee.

Registerwaarden (tekenreeks-, DWORD- en binaire waarde)
Omdat de in de registerwaarden opgeslagen gegevens verschillend van aard kunnen zijn, worden er verschillende typen registerwaarden gehanteerd. De belangrijkste typen registerwaarden zijn:

TIP: Krijgt een DWORD-waarde de waarde 0 of 1 of toegewezen, dan wordt meestal bedoeld dat de betreffende optie met de waarde 0 'uit' staat, en met de waarde 1 'aan'.

Bits, bytes, binaire, decimale en hexadecimale getallen...

Elke bit kan de waarde nul óf een hebben, het betreft daarom een binair getal. Elke byte bestaat uit 8 bits (8 eentjes en/of nulletjes), en heeft dus 256 mogelijke waarden (28=2*2*2*2*2*2*2*2=256). Deze 256 mogelijkheden zijn voldoende voor de weergave van de verschillende tekens van een tekenreekswaarde.

Aangezien er met 4 bits 16 verschillende combinaties gemaakt kunnen worden (24=2*2*2*2=16), kunnen deze eenvoudig worden weergegeven met een hexadecimaal getal. Een hexadecimaal getal is een getal uit het zestientallige stelsel, weergegeven met de reeks: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A (=10), B (=11), C (=12), D (=13), E (=14), F (=15). Zo staat de hexadecimale waarde E voor de binaire waarde 1110, het equivalent van de decimale waarde 14 (1*23+1*22+1*21+0*20=1*8+1*4+1*2+0*1=14). Aangezien één byte uit 8 bits bestaat, kan deze worden weergegeven met 2 hexadecimale getallen. De bitreeks 11101111 kan zodoende eenvoudig worden weergegeven met de hexadecimale waarde EF (decimale waarde: 14*16+15=239).

Bij een tekenreekswaarde wordt elk teken dus opgeslagen in één byte (8 bits, met 256 mogelijkheden). Voor een DWORD-waarde wordt gebruik gemaakt van 4 bytes (aangezien er 8 bits in één byte zitten betreft het een 32-bits getal). De maximale decimale DWORD-waarde is 4.294.967.295=232-1 (oftewel de makkelijker leesbare hexadecimale weergave: FFFFFFFF). Windows Vista/7 kent overigens ook een 64-bits DWORD-waarde. Ook een binaire waarde wordt voor de leesbaarheid weergegeven in hexadecimale getallen, bijvoorbeeld "2F D7 0A 28 9C 00 2E 33".


De opslaglocatie van de registerwaarden
De registerwaarden worden weggeschreven naar bestanden die bij het opstarten van de computer worden ingelezen. De registerwaarden die systeemspecifieke gegevens bevatten (HKLM), worden weggeschreven naar bestanden in de map C:\WINDOWS\system32\config. Het gaat daarbij om bestanden met namen zoals DEFAULT, SAM, SECURITY, SOFTWARE en SYSTEM. De accountspecifieke instellingen (HKCU) worden weggeschreven naar het bestand NTUSER.DAT in de persoonlijke map (XP: C:\Documents and Settings\inlognaam, Vista: C:\Gebruikers\inlognaam).

Register optimalisatie: defragmenteren en cleanen

Tijdens het werken op de computer worden er continu wijzigingen in het register aangebracht. Het is een kwestie van tijd, maar uiteindelijk raakt het Windows-register vervuild. Niet alleen met onnodige registerwaarden maar ook met lege ruimtes (ontstaan door het constant toevoegen en weer verwijderen van registerwaarden). Volgens de theorie zorgt een vervuild register voor een afname van de performance omdat een vervuild register een groter beslag legt op de kostbare systeembronnen.

Defragmenteren van het register
Door het register te defragmenteren kunnen de lege ruimtes worden verwijderd, wat resulteert in een kleiner register én een besparing op de kostbare systeembronnen. In tegenstelling tot hetgeen wordt beweerd, ben ik van mening dat het (al dan niet regelmatig) defragmenteren van het Windows 8/7-register niet zinvol is. In de praktijk blijkt namelijk dat Windows dit heel goed zelf kan managen.

Cleanen van het register
Omdat het register op den duur vervuild raakt met onnodige registerwaarden, wordt vaak geadviseerd deze zo nu en dan eens op te schonen. Velen cleanen daarom met grote regelmaat het register, gemotiveerd door de hoeveelheid overbodige items die na elke schoonmaakbeurt weer worden gevonden. In de praktijk geeft het de gebruiker echter alleen een goed gevoel en is er van snelheidswinst maar weinig te bemerken. Sterker nog: omdat de vele cleanprogramma's elkaar beconcurreren op het aantal gevonden én opgeloste items, ontstaan er in de praktijk meer (veelal onverklaarbare) problemen dan dat er opgelost worden. U bent dus gewaarschuwd!

TIP: Is er een systeemback-up voor handen, dan kan Windows in zijn geheel worden hersteld (inclusief register) en zijn cleanprogramma’s eigenlijk overbodig.

Registertweaks: het register handmatig bewerken

Het register wordt zeer frequent benaderd voor het uitlezen en/of wijzigen van registerwaarden. Deze registerbewerkingen zijn essentieel voor het naar behoren functioneren van het besturingssysteem en andere programma's. Worden er onherstelbare wijzigingen doorgevoerd, dan kunnen er grote problemen ontstaan (waaronder het niet meer opstarten van Windows). Vandaar dat er regelmatig wordt gewaarschuwd dat het aanbrengen van wijzigingen in het register voor eigen risico is (zo ook op deze website).

Het kan namelijk erg lastig zijn een eenmaal verwijderde (of gewijzigde) registerwaarde te herstellen naar de oorspronkelijke waarde wanneer daar vooraf geen back-up van is gemaakt. Men heeft echter de neiging de risico's groter te doen laten voorkomen dan dat ze in werkelijkheid zijn. Zolang er geen onbedoelde wijzigingen in registersleutels en/of registerwaarden worden doorgevoerd, is er namelijk niet veel aan de hand (enkele uitzonderingen daargelaten...). Sterker nog: veel sleutels en waarden kunnen worden verwijderd zonder dat daarmee daadwerkelijk problemen ontstaan. Wees echter voorzichtig en ga altijd behoedzaam te werk!

Eerst een back-up van het register maken
Voor de zekerheid kan beter eerst een back-up worden gemaakt van de registersleutels waarin wijzigingen zullen worden aangebracht. Treden er onverhoopt problemen op, dan kan de back-up weer worden teruggezet waardoor de wijzigingen in het register teniet worden gedaan.

Het maken van de back-up gaat als volgt: selecteer een registersleutel in de registereditor en stel de onderliggende registerwaarden (via Bestand, Exporteren) veilig in een bestand met de extensie .REG. Dergelijke bestanden zijn uit te lezen met een simpele teksteditor zoals Kladblok. Het importeren van REG-bestanden in het register gaat op vergelijkbare wijze met de optie Importeren of door op het betreffende bestand te dubbelklikken in de Windows Verkenner.

TIP: Met het programma WinRescue (download: www.superwin.com) is het mogelijk het volledige register veilig te stellen (en terug te zetten). Een systeemback-up van een (probleemloze) Windows-installatie is overigens een beter alternatief.

Wijzigen en/of toevoegen van registerwaarden
Via de registersleutels (in het linker venster van de registereditor) kan naar een specifieke registerwaarde (in het rechter venster) worden genavigeerd. De registerwaarde kan worden gewijzigd door erop te dubbelklikken. Naar gelang het type (Tekenreeks, DWORD, Binair, etc.) wordt het bijbehorende venster geopend en kan de betreffende registerwaarde worden gewijzigd.

Het aanmaken van een nog niet bestaande registerwaarde is ook eenvoudig. Klik daarvoor met rechts in het rechter venster en kies voor Nieuw (of via de menubalk Bewerken, Nieuw), gevolgd door de gewenste waarde. Er kan direct een naam aan de nieuwe waarde worden gegeven (de naam kan ook in een later stadium nog worden gewijzigd via Bewerken, Naam wijzigen). Door op de nieuwe registerwaarde te dubbelklikken, kan deze van gegevens worden voorzien.

Zoeken in het register
Aangezien het register ontzettend veel registerwaarden bevat, is het ondoenlijk handmatig op zoek te gaan naar specifieke waarden (zoals alle vermeldingen van uw naam, adres, etc.). Met de zoekfunctie (Bewerken, Zoeken of met de toetscombinatie CTRL-F) kunnen de gezochte registerwaarden echter snel worden achterhaald. Met de toets F3 kan de zoektocht worden hervat nadat de eerste waarde is gevonden.

De functie van registersleutels en registerwaarden achterhalen
Blader gewoon eens door de registersleutels en ga op zoek naar de functionaliteit van de daarin aanwezige registerwaarden. Het is vaak niet eens zo lastig te achterhalen waar een specifieke registerwaarde voor wordt gebruikt. De belangrijkste registersleutels en registerwaarden zijn namelijk wel ergens op internet gedocumenteerd, zodat de functie ervan eenvoudig te achterhalen is. Zo blijkt bijvoorbeeld dat in de registersleutel HKCU\Software de instellingen van diverse software (voor het betreffende gebruikersaccount) zijn opgeslagen. Hier staan dus verwijzingen naar de fabrikanten van de diverse (ooit) geïnstalleerde software (waaronder ook een map voor de software van Microsoft).

Slechts een beperkt aantal registersleutels zijn interessant genoeg voor het toepassen van registertweaks. De interessantste registersleutels zijn:

TIP: Favorieten is een handige optie om de meest gebruikte registersleutels vast te leggen zodat deze op een later moment snel kunnen worden geopend (deze lijst met registeravorieten wordt in het register opgeslagen in de registersleutel HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Favorites). De registereditor onthoudt overigens de laatst gebruikte registersleutel, zodat deze direct wordt geopend bij het opnieuw opstarten van de registereditor.

TIP: Op de website SchoonePC staan een groot aantal registertweaks voor het aanbrengen van aanpassingen in de instellingen van Windows XP. Voor Windows Vista is zo'n pagina (nog) niet beschikbaar omdat nuttige registertweaks (die niet ook via de gebruikersinterface kunnen worden doorgevoerd) nog ontbreken.

Machtigingen
Het toewijzen van de machtigingen (volledig beheer, alleen lezen of speciale machtigingen) is eenvoudig en vergelijkbaar met de manier waarop dat in de Windows Verkenner wordt toegepast. Machtigingen kunnen in de registereditor worden aangebracht door met rechts op een sleutel te klikken en te kiezen voor Machtigingen. Specifieke registersleutels kunnen via de registereditor van speciale machtigingen worden voorzien waardoor onderliggende registerwaarden niet zomaar door een andere gebruiker kunnen worden gewijzigd.

Heeft een account met beperkte rechten geen toegangsrechten (lees- en/of schrijfrechten) tot een specifieke maar essentiële registersleutel, dan is het toekennen van machtigingen een praktische oplossing: het betreffende account hoeft hierdoor niet als volledige administratoraccount te worden ingesteld. Het gaat echter te ver om het gebruik van machtigingen uitgebreid te behandelen, mede omdat er doorgaans maar weinig gebruik van wordt gemaakt.

Werken met registerbestanden
Registerwaarden kunnen voor back-updoeleinden worden opgeslagen in een registerbestand met de extensie .REG. Het lezen van deze bestanden kan met een eenvoudige teksteditor zoals Kladblok. Het is met behulp van een teksteditor echter ook mogelijk wijzigingen door te voeren in een REG-bestand, met als doel (op een later tijdstip) wijzigingen door te voeren in het register.

TIP: Betreft het een back-upbestand, maak dan wel eerst een kopie!

Op het internet zijn zeer veel registertweaks gedocumenteerd die met behulp van een registerbestand kunnen worden doorgevoerd. Onderstaand voorbeeld toont de inhoud van een dergelijk registerbestand met de registeraanpassing voor het niet langer automatisch toevoegen van de tekst - Snelkoppeling aan een nieuw aangemaakte snelkoppeling.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
"link"=hex:00,00,00,00

De eerste regel geeft aan dat het om een registerbestand gaat. De registersleutels zijn te herkennen aan de rechthoekige haken ("[" en "]"). De daaronder vermelde regels bevatten de te wijzigen en/of toe te voegen registerwaarden onder de betreffende registersleutel (in dit voorbeeld betreft het een binaire waarde). Let er op dat de registersleutels en registerwaarden elk afzonderlijk slechts één regel in beslag nemen!

TIP: Het is ook mogelijk registersleutels en registerwaarden met behulp van een registerbestand te verwijderen. Door een minteken te plaatsen na de rechte haak (dus: [-HKEY...) wordt een gehele registersleutel (inclusief de onderliggende registerwaarden) verwijderd. Specifieke registerwaarden worden verwijderd door een minteken na het isgelijkteken te plaatsen (bijvoorbeeld: "link"=-).

Kopieer de regels naar Kladblok, sla het op in een bestand met de extensie .REG (bijvoorbeeld snelkoppeling.reg) en voeg de waarden toe aan het register door op het bestand te dubbelklikken in de Windows Verkenner. Bestaan de genoemde waarden al in het register, dan worden ze overschreven. De registerwaarde wordt met het uitvoeren van het registerbestand permanent gewijzigd. De aanpassing moet in dit geval voor elke gebruikersaccount afzonderlijk worden uitgevoerd omdat de registersleutels beginnen met HKEY_CURRENT_USER (de sleutel waarin de accountspecifieke instellingen worden opgeslagen). Wordt het registerbestand bewaard, dan kan het later nog eens voor een andere gebruikersaccount of PC worden gebruikt.

TIP: Een registerbestand wordt via de Windows Verkenner eenvoudig aan het register toegevoegd met een dubbelklik op het bestand in de Windows Verkenner. Deze methode heeft als nadeel dat er tweemaal moet worden geklikt om akkoord te gaan. Dit kan worden omzeild door een batchbestand (bijvoorbeeld snelkoppeling.bat) aan te maken waarmee deze vragen worden onderdrukt. Plaats daarvoor de volgende commandoregel via de teksteditor in een nieuw bestand met de extensie .BAT (snelkoppeling.reg verwijst in dit voorbeeld naar het eerder aangemaakte registerbestand):

REGEDIT.EXE /s snelkoppeling.reg

Het traceren van registerwijzigingen

Met het wijzigen van registerwaarden is het dus mogelijk aanpassingen aan te brengen in de instellingen van Windows, hardware en de geïnstalleerde software. Door deze wijzigingen eerst in een registerbestand op te slaan, kunnen ze met enkele klikken worden doorgevoerd in het register. Deze handelswijze is met name handig wanneer wijzigingen op meerdere computers moeten worden doorgevoerd, zodat veel herhaald zoek- en klikwerk wordt bespaard.

Het probleem is echter de juiste bij een specifieke wijziging van een instelling behorende registeraanpassing te traceren. Het is namelijk niet altijd even eenvoudig te achterhalen waar de verschillende waarden in het register zijn opgeslagen. Er zijn vier methoden (waarvan de eerste twee al zijn besproken):

Registerwijzigingen traceren op basis van snapshots van het register
De tool Advanced Registry Tracer (download: www.elcomsoft.com, 30 dagen-trialversie) maakt gebruik van de ‘snapshot’-methode voor het traceren van registerwijzigingen. Deze methode is wel vrij bewerkelijk: er moet tweemaal een volledig snapshot van het register worden gemaakt (een vóór en een ná de wijziging), vervolgens worden de snapshots met behulp van een tijdrovende berekening met elkaar vergeleken en tot slot kunnen de gevonden verschillen worden verwerkt. Op zich een slimme methode, maar niet echt praktisch voor het achterhalen van meerdere registerwijzigingen...

Realtime monitoren van registeraanpassingen
Het voordeel van realtime monitoren van het register is dat wijzigingen direct worden weergegeven, waardoor deze methode minder tijdrovend is. De handigste tool is Process Monitor van Sysinternals (download: http://technet.microsoft.com/nl-nl/sysinternals/bb896645(en-us).aspx). Process Monitor is een geavanceerde tool voor het realtime monitoren van wijzigingen in het register, het bestandssysteem en de lopende processen.

Het gebruik van Process Monitor

Nadat Process Monitor is opgestart, vliegen de op dat moment uitgevoerde registerbewerkingen al over het scherm (het is niet voor niets realtime). Wordt deze tool voor de eerste keer opgestart, dan is het veelal overweldigend om te zien wat er allemaal gaande is. Het programma monitort namelijk zowel wijzigingen in het register als in het bestandssysteem en de lopende processen. Door het toepassen van een filter kan de grote stroom aan informatie gelukkig snel worden gereduceerd tot enkel de nuttige informatie. Zo is in onderstaand voorbeeld het aantal gebeurtenissen van 19.000 (in enkele minuten!) teruggebracht tot 17.

Process Monitor voor het traceren van register wijzigingen

Door op de knop Capture Events (knop 1 of CTRL-E) te klikken, wordt het realtime monitoren gestart dan wel gestopt. Met de naastliggende knop Auto Scroll (knop 2 of CTRL-A) kan het automatisch scrollen van het scherm worden opgeheven of weer in gang gezet. De inmiddels getoonde events kunnen met de knop Clear Display (knop 3 of CTRL-X) worden verwijderd zodat met een schone lei kan worden begonnen. Volg onderstaand stappenplan om de gewenste registerwijzigingen snel te vinden:

Stap 1: Het monitoren beperken tot registerbewerkingen
Hoewel slechts een korte periode wordt gescand, worden er te veel waarnemingen getoond om een specifiek event gemakkelijk terug te kunnen vinden. Het is dus zaak een filter toe te passen. Deactiveer hiervoor de bestandswijzigingen en de procesactiviteiten met de knoppen Show File System Activity en Show Process and Thread Activity (knoppen 5 en 6). Hierdoor resteren de op het register toegepaste activiteiten (zoals het toekennen en verwijderen van registerwaarden en registersleutels maar ook het opvragen van registerwaarden en het openen, doorzoeken en sluiten van registersleutels).

Stap 2: Het filteren van irrelevante registerbewerkingen
Vervolgens kunnen een groot aantal irrelevante registerbewerkingen met behulp van de knop Filter (knop 4 of CTRL-L) uit de zoekresultaten worden weggefilterd. Voeg hiervoor de onderstaande filterregels toe (afzonderlijk bevestigd met de knoppen Add en Apply):

Operation is RegOpenKey then Exclude
Operation is RegCloseKey then Exclude
Operation is RegQueryKey then Exclude
Operation is RegQueryValue then Exclude
Operation is RegEnumKey then Exclude
Operation is RegEnumValue then Exclude

Deze filterregels hebben betrekking op het openen, doorzoeken, uitlezen en sluiten van registersleutels en registerwaarden. Het toevoegen van dergelijke filterregels is echter redelijk arbeidsintensief. Gelukkig kunnen deze filterregels ook op een praktische manier worden toegevoegd door met rechts op een van de betreffende events te klikken en achtereenvolgens te kiezen voor Exclude en de optie Operation (op basis van de kenmerken van één event worden hierdoor tevens de vergelijkbare events verborgen).

Stap 3: De gezochte registerwaarde tonen in de registereditor
De gezochte registerwaarde kan vervolgens eenvoudig in de registereditor worden weergegeven door in Process Monitor met rechts op een event te klikken en te kiezen voor Jump To, waarop de registereditor automatisch op deze locatie wordt geopend. Vanuit de registereditor kan de registersleutel weer heel gemakkelijk worden geëxporteerd naar een registerbestand.

TIP: Via Options, Enable Boot Logging kunnen de diverse bij het opstartproces van Windows gemaakte register- en bestandsbewerkingen worden getraceerd.

TIP: Klik met rechts op een event in de Process Monitor en kies voor Stack om te achterhalen welke processen en threads die specifieke registerwaarde aanpassen. De waarde in kolom PID staat voor Proces ID waarmee in Windows Taakbeheer (CTRL-SHIFT-ESC) of Process Explorer (eveneens van Sysinternals) het betreffende proces kan worden achterhaald.

 
 
 
HOME
Windows 8.1
Windows 7
Windows XP
BEVEILIGEN
AVG virusscanner
Comodo Internet Security
HOSTS-bestand
SOFTWARE
Dropbox
Bestandssynchronisatie
Gratis software
NETWERK/INTERNET
Draadloos netwerk
Bestanden delen
Outlook
HERINSTALLATIE
10 stappenplan
Back-up gegevens
Partitioneren
SYSTEEMBEHEER
Opstartproces
Windows register
Mijn docs verplaatsen
 

© 2001-2014 - - SchoonePC - Rotterdam - The Netherlands