Registerbestanden maken en bewerken

Wanneer u regelmatig registertweaks uitvoert, is het handig om deze voor later gebruik in één of meerdere registerbestanden op te slaan. Na een herinstallatie van uw besturingssysteem brengt u al uw tweaks dan met slechts enkele muisklikken opnieuw aan, en hoeft u ze niet handmatig en één voor één uit te voeren. Hoe u registerbestanden maakt en bewerkt, leest u in deze Expertcursus.

Een waarschuwing vooraf

Het werken in het register is niet zonder risico's. Fouten die u hierbij maakt kunnen ertoe leiden dat het besturingssysteem onbruikbaar wordt. Staan uw gegevensbestanden op de systeemschijf, dan kunt u in dat geval ook deze data kwijtraken. In het kader 'Veilig werken in het register' leest u welke voorzorgsmaatregelen u dient te treffen om uw pc bij dergelijke calamiteiten te kunnen herstellen. Wanneer u zich aan deze richtlijnen houdt, kan er weinig mis gaan!

Hoewel het Windows-register een van de belangrijkste onderdelen van het besturingssysteem is, is het in wezen een eenvoudige tabel, al gaat het hier dan wel om een zeer grote tabel. In deze tabel staan honderdduizenden gegevens opgeslagen over uw systeem en de daarop geïnstalleerde software, en deze gegevens worden voortdurend bijgewerkt. Om zelf gegevens in het register te kunnen wijzigen, om bijvoorbeeld het gedrag van de pc aan te passen, hebt u onder meer de beschikking over de Register-editor. U krijgt deze te zien door op de Windows-toets + R te drukken, regedit te typen, en op OK te klikken.

© PXimport

Via het venster Uitvoeren opent u de Register-editor.

In het linkerdeelvenster van de Register-editor, die enigszins op Verkenner lijkt, ziet u een vijftal mappen. In het register worden deze mappen sleutels genoemd, en in dit geval gaat het om de vijf hoofdsleutels (Engels: root keys) van het register.

Een hoofdsleutel wordt soms ook wel een 'hive' genoemd. Het begrip hive wordt ook in ruimere zin gebruikt om een min of meer zelfstandig deel van een hoofdsleutel aan te geven. Zo kan de sleutel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer, waarin nagenoeg alle instellingen voor IE worden bijgehouden, aangeduid worden als hive voor Internet Explorer. Om de zaken niet nodeloos ingewikkeld te maken (en omdat hives altijd sleutels zijn, terwijl het omgekeerde meestal niet opgaat), zullen we in deze Expertcursus verder alleen over sleutels en hoofdsleutels spreken.

© PXimport

De vijf hoofdsleutels van het register.

Opbouw van het register

De hoofdsleutel HKEY_CLASSES_ROOT bevat onder meer gegevens over bestandskoppelingen. Op basis hiervan wordt een bestand met het juiste programma geopend wanneer u erop klikt. Ook zorgt dit deel van het register ervoor dat de juiste items in het contextmenu verschijnen bij een rechtermuisklik op een bestand. Deze sleutel ontleent zijn gegevens aan de twee volgende hoofdsleutels. In HKEY_CURRENT_USER zijn specifieke programma- en systeeminstellingen van de huidige gebruiker opgeslagen. Dit in tegenstelling tot de hoofdsleutel HKEY_LOCAL_MACHINE die configuratie-informatie bevat over de gehele computer, en die dus voor alle gebruikers geldt. De sleutel HKEY_USERS herbergt gegevens van alle gebruikers, en voor elke gebruiker is HKEY_CURRENT_USER hier een subsleutel van. De hoofdsleutel HKEY_CURRENT_CONFIG tenslotte bevat data over het hardwareprofiel dat tijdens het opstarten van het systeem wordt gebruikt. De hoofdsleutels worden vaak afgekort, respectievelijk tot HKCR, HKCU, HKLM, HKU, en HKCC.

Wanneer u in de Register-editor dubbelklikt op een van de hoofdsleutels, worden de subsleutels zichtbaar. Merk op dat u deze sleutels alleen in het linkerdeelvenster ziet. De Register-editor verschilt op dit punt van Verkenner, waarin zowel mappen als bestanden in het rechterdeelvenster kunnen verschijnen. In het rechterdeelvenster van de Register-editor zult u altijd alleen de inhoud van sleutels zien, in de vorm van zogenoemde registerwaarden, terwijl de sleutels zelf altijd uitsluitend in het linkerdeelvenster zichtbaar zullen zijn. Een plusje (Windows XP) of pijltje (Vista en Windows 7) vóór een sleutel geeft aan dat deze een of meerdere subsleutels bevat.

© PXimport

Hoofdsleutels, sleutels en registerwaarden.

Veilig werken in het register

Zoals we in het begin van dit artikel al opmerkten, is het werken in het register niet geheel zonder risico's. Het is dus van groot belang dat u naast een goede back-up van uw data voldoende mogelijkheden hebt om het systeem bij eventuele onverwachte resultaten te kunnen herstellen.

Een systeemimage is wat dit betreft het veiligst; zelfs bij de ergst denkbare problemen herstelt u het systeem hiermee in korte tijd volledig. In Windows 7 en Windows Vista Business, Ultimate, en Enterprise kunt u zo'n image maken met het ingebouwde back-upprogramma. Voor overige besturingssystemen zult u imagesoftware van derden moeten gebruiken, zoals Acronis of Norton Ghost.

Met het programma ERUNT kunt u een registerkopie maken, die u ook terug kunt zetten wanneer u onverhoopt niet meer in veilige modus kunt komen. Tenslotte kunt u met Windows Systeemherstel een herstelpunt aanmaken, voordat u in het register gaat werken. Dit zal bijna altijd voldoende zijn om het systeem bij eventuele problemen te herstellen. Het nadeel ten opzichte van de genoemde methoden is dat u systeemherstel niet kunt gebruiken wanneer de pc ook niet meer in veilige modus opstart.

Registerwaarden

Waar u in Verkenner bestanden aantreft, vindt u in de Register-editor de registerwaarden. Op de afbeelding rechts ziet u er een aantal. Er bestaan zes verschillende typen van deze waarden, maar we beperken ons hier tot de tekenreekswaarde en de DWORD-waarde, die u nagenoeg altijd zult gebruiken. Een tekenreekswaarde kan, zoals de naam al aangeeft, een reeks tekens bevatten. Dat kan bijvoorbeeld het pad naar een bestand zijn, een eigenschap van een programma-onderdeel, zoals Disabled of Enabled, of een internetadres. Een DWORD-waarde is altijd een numerieke waarde, genoteerd in het zestientallig stelsel (hexadecimaal). In een DWORD-waarde kan bijvoorbeeld de laatste schermpositie van een venster zijn vastgelegd.

Sleutels en registerwaarden maken

Nieuwe sleutels en registerwaarden maakt u op nagenoeg dezelfde manier als waarop u in Verkenner nieuwe mappen en bestanden aanmaakt. U opent de sleutel waarin u een nieuwe sleutel of registerwaarde wilt maken, klikt met de rechtermuisknop in het rechterdeelvenster, en kiest Nieuw, waarna u de gewenste optie kiest. Vervolgens geeft u de nieuwe sleutel of waarde de juiste naam. Een nieuwe sleutel zal in het linkerdeelvenster verschijnen, terwijl een nieuwe registerwaarde in het rechterdeelvenster terechtkomt.

Een registerwaarde moet hierna nog van de juiste waardegegevens worden voorzien. Daartoe dubbelklikt u op de betreffende waarde en voert u de juiste data in, waarna u op OK klikt. Bij een DWORD-waarde moet u erop letten dat u het juiste grondtal (decimaal of hexadecimaal) kiest bij de invoer. Een decimaal getal zal automatisch in een hexadecimaal getal worden omgezet. Veel wijzigingen die u in registerwaarden aanbrengt zullen direct effect hebben, maar soms dient u de pc hiervoor opnieuw op te starten.

Sleutels en registerwaarden verwijdert u, evenals mappen en bestanden in Verkenner, via een rechtermuisklik. Een groot verschil met Verkenner is in dit geval dat verwijderde items niet in een prullenbak terechtkomen, waaruit u ze eventueel terug kunt halen. De gegevens zijn direct weg, dus u dient hier extra voorzichtig mee om te gaan!

© PXimport

Een nieuwe sleutel of registerwaarde maken.

© PXimport

Kies bij DWORD-waarden het juiste grondtal.

Sleutels exporteren en importeren

Wanneer u registerwaarden in een bepaalde sleutel wilt wijzigen, is het raadzaam deze sleutel eerst te exporteren. Op deze manier maakt u een back-up van de betreffende sleutel. Gaat er onverhoopt iets mis, dan kunt u dit eenvoudig herstellen door deze sleutel weer te importeren. U exporteert een sleutel door hem in het linkerdeelvenster van de Register-editor te selecteren. Via een rechtermuisklik of via het menu Bestand kiest u vervolgens Exporteren, en tenslotte slaat u het bestand op - bijvoorbeeld als backup.reg.

Een registerbestand kan op meerdere manieren weer geïmporteerd worden: u kunt bijvoorbeeld eenvoudigweg dubbelklikken op het bestand, waarna u gevraagd wordt of u zeker weet dat u deze actie wilt uitvoeren. Na bevestiging klikt u dan op OK. U kunt ook via het menu Bestand / Importeren naar het betreffende registerbestand navigeren. Een derde mogelijkheid is het bestand uit te voeren via een command line. Hoe u dit doet, leggen we verderop in deze cursus uit.

Wees u ervan bewust dat een sleutel die geïmporteerd wordt niet altijd de oude situatie geheel herstelt. Bij het importeren worden de gegevens samengevoegd. Dat wil zeggen dat sleutels en waarden die in het registerbestand voorkomen diezelfde sleutels en waarden in het register zullen vervangen. Waarden en sleutels die u later aan het betreffende registerdeel hebt toegevoegd, zullen niet in het registerbestand zijn opgenomen, en blijven daarom onveranderd. Met het programma reg.exe, dat we verderop behandelen, is het wel mogelijk een sleutel geheel door een back-up ervan te laten vervangen.

© PXimport

Een sleutel kunt u onder meer via een rechtermuisklik exporteren.

Syntaxis van registerbestanden

Als u met uw rechtermuisknop op een registerbestand klikt en Bewerken kiest, opent het bestand in Kladblok. Het kan er dan bijvoorbeeld zo uitzien:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters]

"BootMaxNumSections"=dword:00000ff0

"EnablePrefetcher"=dword:00000003

"HostingAppList"="DLLHOST.EXE,MMC.EXE,RUNDLL32.EXE"

"RootDirPath"="Prefetch"

En registerbestand (kortweg: regbestand) begint altijd met de regel Windows Registry Editor Version 5.00. Wanneer u registerbestanden van internet downloadt, komt u in plaats hiervan een heel enkele keer nog wel eens REGEDIT 4 tegen. Dit is de register-editor uit oudere Windows-versies. Deze kan niet met registerbestanden voor versie 5.00 overweg, maar elke versie van Regedit kan registerbestanden verwerken die voor REGEDIT 4 bedoeld zijn.

Hierna volgt dan het pad naar de betreffende sleutel. In het voorbeeld is dat de sleutel PrefetchParameters. Het gehele pad moet altijd tussen rechte haken staan, en voorafgegaan worden door een lege regel. Zou deze sleutel nog niet bestaan, en zou er niet meer dan dit in het registerbestand staan, dan zou uitvoering van het bestand de lege sleutel PrefetchParameters aanmaken in de sleutel HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management.

In dit geval staan er echter ook nog enkele registerwaarden in het bestand. Het zal duidelijk zijn welke de DWORD-waarden zijn, en welke de tekenreekswaarden.

Uitvoering van dit bestand doet het volgende: wanneer de sleutel PrefetchParameters niet bestaat, zal deze aangemaakt worden, met de registerwaarden die tevens in het bestand staan. Dat geldt overigens ook voor hogere sleutels: wanneer in dit geval de sleutel Memory Management ook zou ontbreken, zou deze eveneens aangemaakt worden. Bestaat de sleutel PrefetchParameters al, dan zullen de registerwaarden uit het bestand eraan toegevoegd worden, waarbij de huidige waarden worden vervangen. Andere sleutels en waarden in PrefetchParameters blijven daarbij onveranderd. Op deze wijze voegt u dus sleutels en waarden toe aan het register.

© PXimport

Een waarschuwing voorkomt onbedoeld importeren van een registerbestand.

Het verwijderen van sleutels en registerwaarden via een registerbestand is eveneens mogelijk, en dit is te realiseren door het bestand in Kladblok te bewerken, en het vervolgens onder een andere naam op te slaan. Om de sleutel PrefetchParameters uit ons voorbeeld in zijn geheel te verwijderen, voegt u een min-teken vóór het pad toe. In dat geval zou u dus het volgende registerbestand moeten uitvoeren om de gehele sleutel te verwijderen:

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters]

Uiteraard is het niet nodig hier de registerwaarden aan toe te voegen, aangezien die tegelijk met de sleutel verwijderd zullen worden.

Om een enkele registerwaarde uit een sleutel te verwijderen, vervangt u de gegevens na het is-gelijkteken door een min-teken. De waarde BootMaxNumSections zou u dus op deze manier moeten verwijderen:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters]

"BootMaxNumSections"=-

Een praktijkvoorbeeld

Hieronder treft u vier kleine registerbestandjes aan, waarmee u het bovenstaande in de praktijk kunt uitvoeren, en waarbij u in de Register-editor kunt zien wat er gebeurt. Neem de tekst over in Kladblok, en sla de bestandjes bijvoorbeeld op als test1.reg tot en met test4.reg.

 

Windows Registry Editor Version 5.00

 

[HKEY_CURRENT_USER\Mijn Registersleutel\Mijn Subsleutel]

"Mijn DWORD-waarde"=dword:00000000

"Mijn Tekenreekswaarde"="Tekenreeks"

 

Windows Registry Editor Version 5.00

 

[HKEY_CURRENT_USER\Mijn Registersleutel\Mijn Subsleutel]

"Mijn DWORD-waarde"=-

 

Windows Registry Editor Version 5.00

 

[-HKEY_CURRENT_USER\Mijn Registersleutel\Mijn Subsleutel]

 

Windows Registry Editor Version 5.00

 

[-HKEY_CURRENT_USER\Mijn Registersleutel]

 

Voert u het eerste registerbestand uit met de Register-editor geopend, dan zult u in het linkerdeelvenster onder de root key HKEY_CURRENT_USER direct een nieuwe sleutel met de naam Mijn Registersleutel zien verschijnen. Hierin bevindt zich een subsleutel, waarin zich weer twee registerwaarden bevinden.

Als u het tweede bestandje uitvoert, wordt Mijn DWORD-waarde uit de subsleutel verwijderd, terwijl het derde bestandje de subsleutel zelf zal verwijderen. Met het vierde bestandje verwijdert u de overgebleven hoofdsleutel.

 

© PXimport

De nieuwe sleutel met subsleutel en twee registerwaarden.

 

© PXimport

Achtereenvolgens worden een registerwaarde en de subsleutel verwijderd.

Command line of batchfile

Wilt u een registerbestand zonder tussenkomst van een gebruiker laten uitvoeren, of zonder dat er via verschillende venstertjes toestemming voor de wijzigingen gevraagd wordt, dan gebruikt u de command line-optie van de Register-editor. Om bijvoorbeeld het bestandje C:\backup.reg uit te voeren geeft u dan de opdracht regedit.exe /s C:\backup.reg. De switch /s zorgt er in dit geval voor dat de wijzigingen zonder meer worden doorgevoerd. Een dergelijke opdracht kunt u direct geven via Start / Uitvoeren, maar u kunt deze natuurlijk ook in een batchfile opnemen.

De Register-editor heeft slechts beperkte mogelijk­heden als u registerbewerkingen via een opdrachtprompt, batchfiles of scripts wilt laten uitvoeren. Windows bevat echter naast de Register-editor het programma reg.exe, waarmee u veel meer mogelijkheden hebt.

Reg.exe

Het programma reg.exe is voornamelijk bedoeld is voor ict-professionals. Veel van de mogelijkheden die het biedt zult u waarschijnlijk nooit gebruiken, maar het kan soms van pas komen. Bijvoorbeeld wanneer u een registerbestand in zijn geheel door een back-up wilt vervangen, iets wat met de Register-editor niet altijd mogelijk is. Zoals we hiervoor al schreven, blijven later aan het register toegevoegde waarden en sleutels bestaan, wanneer u een registerbestand op de gebruikelijke wijze importeert. Als u echter een back-up van een sleutel maakt met reg.exe, wordt bij het terugzetten hiervan de sleutel geheel vervangen.

U gebruikt hiervoor de commando's reg save en reg restore. Om bijvoorbeeld een back-up van de gehele root key HKEY_CURRENT_USER te maken, geeft u via Start / Uitvoeren of via een opdrachtprompt het commando reg save HKEY_CURRENT_USER C:\backup.hiv. Wilt u HKEY_CURRENT_USER weer in de originele staat herstellen, dan zet u het bestand backup.hiv terug met de opdracht reg restore HKEY_CURRENT_USER C:\backup.hiv. Wanneer het pad naar de betreffende sleutel langer is, en zeker als er zich spaties in dat pad bevinden, dient u het in zijn geheel tussen aanhalingstekens te zetten.

Reg.exe biedt heel veel mogelijkheden, die echter buiten het bestek van dit artikel vallen. Wilt u zich verder in dit programma verdiepen, voert u dan eens de zoekterm reg.exe in op Microsoft. Het programma zelf biedt overigens ook veel informatie.

© PXimport

Binnen enkele seconden herstelt reg.exe de hoofdsleutel HKCU.

© PXimport

Reg.exe biedt uitgebreide hulp.

Een laatste waarschuwing

Wanneer u de elders in deze cursus genoemde voorzorgsmaatregelen treft, hebt u voldoende herstelmogelijkheden bij de hand mocht er bij uw werkzaamheden in het register onverhoopt iets mis gaan. Bij registerbestanden die u voor anderen maakt, dient u er rekening mee te houden dat deze anderen die mogelijkheden wellicht niet hebben.

Dergelijke bestanden moet u dus grondig testen, voordat u ze aan derden beschikbaar stelt. Doet u dit dus alleen als u zeker weet dat de uitvoering van het betreffende bestand geen schade kan aanrichten.

ERUNT

Met de Registereditor van Windows kunt u geen volledige back-up van het register maken en terugzetten. Een programma waarmee dit wel kan, is ERUNT.

Wanneer u een back-up van het register maakt via de exportfunctie van de Registereditor, worden niet alle registerbestanden geëxporteerd. Dat is echter niet de belangrijkste reden waarom het gebruik van een op deze wijze gemaakte back-up niet aan te raden is. Die reden ligt in de manier waarop de back-up wordt teruggezet wanneer u deze weer importeert. Daarbij wordt het huidige register niet vervangen door de back-up, maar wordt de back-up aan het register toegevoegd. Dat betekent dat nieuwe sleutels en waarden die in de tussentijd zijn aangemaakt, niet verwijderd zullen worden. Het resultaat is dus een mengsel van de back-up en het huidige register, en u zult begrijpen dat dit niet de meest ideale situatie is.

Het programma ERUNT (Emergency Rescue Unit NT) is in staat het volledige register op te slaan. Het kan deze back-up vervolgens op een zodanige manier terugzetten, dat de huidige registerbestanden daarbij volledig vervangen worden. Dit is mogelijk doordat het terugzetten gebeurt tijdens een herstart van de pc, op het moment dat Windows nog niet geladen is.

Alvorens u met het register aan de slag gaat, kunt u met ERUNT handmatig even een registerback-up maken. Het proces neemt niet meer dan een tiental seconden in beslag. Het gebruik van ERUNT wijst zich vanzelf, en u kunt overal de default instellingen handhaven. Standaard plaatst ERUNT de back-up in de map C:\WINDOWS\ERDNT\{datum}. In deze map treft u naderhand het bestand ERDNT.exe aan. Door dit bestand uit te voeren, wordt de back-up weer teruggezet.

Met ERUNT kunt u zelfs een registerback-up terugzetten, wanneer u niet meer in veilige modus kunt komen, waardoor u Systeemherstel niet kunt gebruiken. U kunt dan via de recovery console nog wel een door ERUNT gemaakte registerback-up terugzetten. U start de recovery console door de pc op te starten met de originele installatie-cd-rom in de drive. In het Setup-scherm kiest u optie R (Windows XP) of Repair your computer (Windows Vista en 7). Vervolgens typt u het nummer van de Windows-installatie waarbij u zich wilt aanmelden, waarna u het administratorwachtwoord invoert.

In de recovery console typt u nu achtereenvolgens cd windows en cd erdnt, beide gevolgd door Enter, om naar de map met back-ups te navigeren. Om de namen van de hierin opgeslagen afzonderlijke back-ups te zien, typt u dir en drukt u op Enter. Typ dan cd gevolgd door naam van back-up die u wilt terugzetten en druk weer op Enter. Nu typt u de opdracht batch erdnt.con waardoor de registerback-up zal worden teruggezet. Als dit gebeurd is, verwijdert u de cd-rom en tenslotte typt u exit gevolgd door Enter, waarna de pc opnieuw zal opstarten.

 

© PXimport

Het gebruik van ERUNT wijst zich vanzelf.

Deel dit artikel
Voeg toe aan favorieten