De structuur en indeling van de Registry

Technische bespreking over het Windows Register

In dit artikel zullen we uitgebreid de indeling en structuur van het Windows register bespreken. Maar laten we eerst beginnen met een woord vooraf.

1. Gebruikers en het Windows register

De meeste gebruikers hoeven nooit het register te zien of te wijzigen. Het is alleen in zeldzame gevallen nodig om een register wijziging aan te brengen om het Windows besturingssysteem te veranderen. We raden een gebruiker in eerste instantie niet aan om met het register te spelen.

2. De indeling van het register.

Het Windows besturingssysteem en andere applicaties gebruiken het register om informatie op te slaan over gebruikers en de huidige systeemconfiguratie. Aangezien het Windows register beschikbaar is elke keer wanneer uw systeem draait, kunnen programma’s die opstarten en afsluiten blijvende informatie in het register bijschrijven. Het Windows register is een goed georganiseerde database die informatie bevat die kritisch voor de werking van Windows is en de programma en diensten die onder Windows draaien. Deze informatie is in een boomstructuur georganiseerd. Elke node in deze boomstructuur wordt een sleutel genoemd en elke sleutel (key) bevat weer subsleutels die daaronder vallen. Elke sleutel kan beide een subsleutel bevatten of informatiegegevens die waarden (values) genoemd worden. Soms is het zo dat de aanwezigheid van een register sleutel alle informatie bevat  dat een programma nodig heeft om te werken. Op andere gelegenheden kan een programma een sleutel openen en kan het deze waarden gebruiken die geassocieerd zijn met de betreffende register sleutel. Een sleutel kan elke willekeurige aantal van waarden bevatten en de waarden kunnen in elke vorm zijn opgeslagen. De actuele informatie wordt opgeslagen in register entries die zich presenteren als bestanden en ook de laagste niveau zijn in het Windows register. Elke serie van sleutels en subsleutels maakt een uniek pad dat leidt naar de betreffende register entry. Aangezien deze entry namen uniek zijn volgens een uniek pad, wordt er naar een register entry gerefereerd door de complete register pad en naam.

Elke sleutel heft een naam die bestaat uit een of meer karakters. De sleutels in het Windows register zijn niet casesensitive. De sleutelnamen kunnen geen backslash character (\) bevatten, maar elke andere printbare karakter kan gebruikt worden. De namen van waarden en informatie kunnen aracter backslash karakters bevatten. De naam van elke subsleutel is geheel uniek. De sleutelnamen zijn niet gelokaliseerd in verschillende talen, maar de waarden kunnen dat wel zijn.

2.1. Het Windows register gezien door Registry Editor / REGEDIT.

De volgende afbeelding laat zien een voorbeeld van een register sleutel structuur. Deze kunt  bekijken met behulp van de Register Editor.

Elke boom die u ziet onder MY Computer is een sleutel. De HKEY_LOCAL_MACHINE sleutel heft de volgende subsleutels: HARDWARESAMSECURITYSOFTWARE, and SYSTEM. Elke van deze sleutels heeft vervolgens weer subsleutels onder zich. Bijvoorbeeld, de HARDWARE sleutel heeft de registry subsleutels  DESCRIPTIONDEVICEMAP, en RESOURCEMAP; de DEVICEMAP sleutel heeft een aantal subsleutels waaronder  VIDEO. Elke waarde bestaat uit de naam van de waarde en de bijbehorende informatie wanneer dat het geval is.  MaxObjectNumber en VgaCompatible zijn warden die informative bevatten onder de VIDEO subsleutel. Een register boom kan wel 512 niveaus diep zijn. Men kan zelf 32 niveaus per keer aanmaken door middel van een register API call. Elke register boom kan weer subbomen  ofwel subtrees bevatten. Deze zijn de primarie indelingen van het Windows register.  Bijvoorbeeld Windows Server 2003 is onderverdeeld in 5 subbomen. De subbomen bevatten zelf geen informatie, ze bevatten de sleutels, subsleutels en register entries waarin de informatie is opgeslagen.  Hieronder kunt u zien hoe deze subtrees naamgeving eruit ziet:

  • HKEY_CLASSES_ROOT
  • HKEY_CURRENT_USER
  • HKEY_LOCAL_MACHINE
  • HKEY_USERS
  • HKEY_CURRENT_CONFIG

2.2.Hive Bestanden

De permanente onderdelen van het Windows register zijn opgeslagen al seen set van bestanden die HIVES worden genoemd. U kunt een lijst vinden van de locaties van deze bestanden in de hivelijst subsleutel HKLM\SYSTEM\CurrentControlSet\Control. Deze bestanden zijn opgeslagen in systemroot\System32\Config en bij elke login worden ze opgewaardeerd. Ze bestaan uit de volgende bestanden die vier van de vijf sleutels in HKEY_LOCAL_MACHINE en een sleutel in HKEY_USERS:

  • SAM Bevat informati opgeslagen in de sleutel HKLM\SAM over de Security Accounts Manager (SAM) dienst.
  • SECURITY bevat veiligheidsinformatie opgelsagen in de sleutel HKLM\SECURITY.
  • SOFTWARE bevat informatie opgeslagen in de sleutel HKLM\SOFTWARE over de computer software configuraties.
  • SYSTEM bevat informative opgeslagen in de sleutel HKLM\SYSTEM over de configuratie van uw computer systeem .
  • DEFAULT bevat de default systeem informatie dat is opgeslagen in de sleutel HKEY_USERS\.DEFAULT.

HKEY_LOCAL_MACHINE\HARDWARE is niet opgeslagen als een bestand aangezien het iedere keer opnieuw wordt aangemaakt bij het opstarten van het systeem. Hieronder in de afbeelding staan alle belangrijkste onderdelen die we hier hebben besproken met rode pijlen aangegeven.

 

Overzicht Register in Regedit

3. 3. De verscheidenheid van het Windows register.

Geen twee Windows registers zijn hetzelfde aangezien het de informatie bevat van alle hardware en software die geinstalleerd is en beschikbaar is voor uw computer. De waarden van de registry entries zijn specifiek voor de computer en haar actuele configuratie. Bovendien gedeeltes van het register wordt iedere keer weer opnieuw aangemaakt bij het starten van Windows. Hierdoor kunnen ook veel veranderingen in het register verloren gaan wanneer u de computer herstart. De locatie van de register entries kan veranderen. Register entries kunnen verplaatst worden door een respectieve software update. Sommige programma’s verhuizen complete secties van het Windows register naar een nieuwe locatie wanneer een dienst of feature is aangezet.

Door de veranderlijkheid en verscheidenheid van het Windows register is het nier voorzichtig om direct naar een register entry te verwijzen in een programma of script. Wanneer u niet voorzichtig bent kan het programma of script niet goed kunnen werken met toekomstige versies van Windows. Om registry entries te herstellen, toe te voegen, te veranderen of te verwijderen moet u de standaard Win32 API gebruiken.

Hiermee beeindigt deze technische doorgang van het Windows register. Voor meer informatie zie de volgende Microsoft website: Technet

 

[footer]