Etter denne delen av kompendiet bør du være i stand til å:
Fortelle om registerets formål (hva det er til).
Fortelle om den hierarkiske strukturen i registeret og hvordan det er organisert.
Registerets formål:
Registeret inneholder en mengde forskjellige typer data, inkludert følgende:
Maskinvare som er installert på computeren, inkludert CPU, busstyper, pekeredskap eller mus og tastatur.
Installerte drivere for maskinvare.
Installerte applikasjoner.
Installerte nettverksprotokoller.
Nettverkskortets innstillinger, som for eksempel IRQ, I/O port adresse, I/O kanal, trancievertype et cetera.
Registerets struktur tilsier at det er en relativt stabil og sikker lagerplass for disse essensielle dataene. Data leses og skrives av en lang rekke Windows 2000 applikasjoner og services. Noen av disse kan du se listet opp i tabell 1.1. I denne tabellen ser vi også hvordan register editoren virker. (Det er to editorer å velge mellom, disse kommer vi tilbake til senere).

Tabell 1.1
|
Komponent |
Beskrivelse |
|
Windows NT kernel |
Under oppstarten vil Windows 2000 kjernen (Ntoskrnl.exe) lese informasjon fra registeret blant annet drivere og i hvilken rekkefølge de skal lastes til minne. Kjernen skriver til registeret også, blandt annet sitt versjonsnummer. |
|
Maskinvare drivere |
Maskinvaredrivere (device drivers) får sine konfigurasjonsdata fra registeret. De skriver også til registeret, for eksempel hvilke IRQ de skal bruke eller hvilke DMA kanaler de bruker. Drivere vil også ofte kunne scanne maskinvare og oppdage forskjeller i konfigurasjonen. Slik informasjon skrives også til registeret. |
|
Brukerprofiler |
Windows 2000 oppretter og vedlikeholder et brukermiljø (for eksempel desktop bakgrunnsbilde og startmeny +++) i en ”brukerprofil”. Når en bruker logger på vil systemet cache brukerprofilen i registeret. Windows 2000 skriver først endringer i brukerprofilen til registeret, deretter til brukerprofilen lokalt på maskinen. Dersom du logger på i et nettverk, som på skolen, vil denne profilen ligge på serveren og endringer vil skrives til brukerprofilen på serveren når du logger av, ikke før! |
|
Setup programmer |
Under installasjon av en ny maskinvaredel, eller en ny applikasjon vil et setup program også skrive endringer til registeret. Det kan også sjekke med registeret om nødvendige komponenter allerede er installert. |
|
Hardware profiler |
Windows 2000 maskiner med mer enn en maskinvarekonfigurasjoner bruker også maskinvareprofiler slik brukere har brukerprofiler. Dette er mest aktuelt på laptopmaskiner. Når Windows 2000 starter vil brukeren bli bedt om å velge en maskinvareprofil, og registeret vil konfigurere Windows 2000 tilsvarende. |
|
Ntdetect.com |
Under oppstart av systemet, på Intel-baserte computere, vil Ntdetect.com foreta den såkalte maskinvaredeteksjonen. Denne dynamiske maskinvarekonfigurasjonen lagres i registeret. En annen type computere, såkalte RISC (reduced instruction set computers) gjør ikke dette. De har all maskinvareinformasjon liggende lagret i en eeprom. Dermed kan du ikke endre på maskinvarekonfigurasjonen, uten å lage et nytt eeprom image. |
Registerets hierarkiske struktur
Registeret er organisert i en hierarkisk struktur som ligner meget på den strukturen vi er vant til fra mapper og filer på en harddisk. Figur 1.2 viser denne strukturen (utdrag av den i alle fall) slik det ser ut i en av de to registereditorene som ligger i Windows 2000. Vi ser her: HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\COMMANDPROSESSOR

Figur
1.2
Table 1.2 Komponentene i registeret.
|
Komponent |
Beskrivelse |
|
Subtree |
Et
subtree (eller subtree key) er analogt til en rotpartisjon
på en harddisk HKEY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_USER HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG |
|
Keys (nøkler) |
Nøkler kan sammenlignes med mapper og undermapper. Nøklene korresponderer med maskinvare og programvare objekter, eller grupper av slike objekter. Subkeys (undernøkler) er nøkler som ligger inne i hoved (eller overordnede) nøkler. |
|
Entries
|
Nøkler inneholder en eller flere ”entries”. Et entry har tre deler; navn, datatype, og en verdi (eller en konfigurasjonsparameter.) |
|
Hive
|
En hive er en gruppering av nøkler, undernøkler og entries. Hver HIVE har en tilsvarende registerfil og en .LOG fil som ligger i %systemroot%\System32\Config. Windows 2000 bruker denne .LOG filen til å sikre registerets integritet og for å lagre endringer. |
|
Data typer |
Alle entries har en verdi som kan vises på forskjellige måter, avhengig av hvilken type nøkkel det er.
|
Register Subtrees
Det
å forstå formålet med de forskjellige subtrees kan
hjelpe deg til å finne frem til bestemte nøkler og /
eller verdier i registeret. De følgende 5 subtrees vises i
Registry Editoren REGEDT32:
( se fig. 1.2)
HKEY LOCAL MACHINE Inneholder all konfigurasjonsdata for den lokale maskinen, inkludert maskinvare og operativsystemdata slik som for eksempel busstype, systemets tilgjengelige minne, drivere og kontrolldata for oppstart av maskinen. Både applikasjoner, drivere og operativsystemet selv bruker disse dataene for å konfigurere maskinen for oppstart. Innholdet i denne nøkkelen forblir konstante (altså blir ikke endret) av noe brukeren foretar seg. (Unntatt hvis bruker for eksempel setter inn et nytt nettverkskort).
HKEY_USERS. Inneholder systemets grunnkonfigurasjon, altså ”default” verdier for hvordan maskinen kontrollerer brukernes individuelle identiteter, som for eksempel skrivebord, startmeny, hvordan enkelte applikasjoner skal oppføre seg et cetera.
HKEY_CURRENT_USER. Som forrige nøkkel holder en grunnkonfigurasjon for alle brukere inneholder denne konfigurasjoner som er spesifikke for hver enkelt bruker (som har rettigheter til å logge på). Denne nøkkelen henter brukerdata fra mappen: systemroot\Documents and Settings\username.
HKEY_CLASSES_ROOT.
Inneholder konfigurasjonsdata for programmer. Dette innebærer
både ”Object Linking and Embedding (OLE)” og data
for å assosiere filtyper med programmer. Dette subtreet peker
til et annet subtree, nemlig undernøkkelen ”Classes”
under nøkkelen:
HKEY_LOCAL_MACHINE\ SOFTWARE.
HKEY_CURRENT_CONFIG. Inneholder data om den aktive maskinvareprofilen som den henter fra SOFTWARE og SYSTEM ”HIVES”. Denne vil blant annet inneholde informasjon om hvilke drivere som skal lastes og hvilken oppløsning det skal være på skjermen.

Figur 1.3 Registry subtrees
HKEY_LOCAL_MACHINE Subtreet:
HKEY_LOCAL_MACHINE nøkkelen gir et godt eksempel på undernøklene og bruk av subtre av to årsaker:
Alle subtrærne har lik struktur.
HKEY_LOCAL_MACHINE inneholder informasjon om maskinkonfigurasjonen og vil være lik, uansett hvilken bruker som er logget på.
HKEY_LOCAL_MACHINE root nøkkelen har fem undernøkler som blir forklart i tabell 1.4
Tabell 1.4 HKEY_LOCAL_MACHINE Subkeys
|
Undernøkkel (subkey) |
Beskrivelse |
|
HARDWARE |
Type og status for fysiske maskinvarekomponenter som sitter i PC-en. Denne undernøkkelen er ”volatile” (norsk: flyktig), noe som betyr at Windows 2000 bygger den med informasjon som samles inn under oppstarten. Fordi denne nøkkelen er flyktig vil den ikke peke til en fil på harddisken. Applikasjoner vil søke informasjon i denne nøkkelen angående hvilke maskinvarer som er installert og deres status. |
|
SAM |
”The Directory” databasen på computeren (den som har med Explorer å gjøre). SAM hive peker til SAM og Sam.log filene i systemroot\System32\Config mappen. Applikasjoner som henvender seg til SAM må bruke helt bestemte API-er. (Application program interface). |
|
SECURITY |
Sikkerhetsinformasjon for den lokale computeren. SECURITY hive peker til SECURITY og SECURITY.LOG i systemroot\system32\config. Applikasjoner får ikke lov til å endre verdier i SECURITY. De må isteden endre dette via bestemte API, ”SECURITY APIs”. |
|
SOFTWARE |
Informasjon om programvare på den lokale computeren som IKKE er avhengig av ”pr bruker” konfigurasjonsdata. Denne hive peker til Software, Software.log og Sofware.sav filene i systemroot\Sytem32\Config mappen. Den inneholder også informasjon om filassosiasjoner og OLE-informajon. |
|
SYSTEM |
Informasjon om systemets maskinvaredeler og services. Når du installerer eller endrer (oppgraderer) drivere vil de endre (modifisere) data i denne hiven. SYSTEM peker til systemroot\System32\Config mappen. Registeret har back-up av disse dataene i filen SYSTEM.ALT som også ligger i systemroot\Sytem32\Config mappen |
Konklusjon:
I denne delen av dette kompendiet har du fått en innføring i hvorledes Windows 2000 operativsystemet lagrer informasjon om både maskinvare og programvare i registeret. Registeret er en hierarkisk database hvor Microsoft Windows 2000 lagrer maskinvarespesifikke og programvarespesifikke innstillinger sentralt. Registeret i Windows 2000 erstatter mange av .INI, .SYS og .COM konfigurasjonsfilene i tidligere versjoner av Windows. Registeret inneholder en lang rekke typer data / verdier også om maskinvare og drivere, samt applikasjoner og protokoller som er installert på maskinen. Registeret gir også informasjon under oppstarten av maskinen om hvordan applikasjoner et cetera skal settes opp.
Du har også sett at registerstrukturen gir et sikret (ikke alle kan endres) sett med filer og backup-filer som kan leses, skrives til og dermed endres av applikasjoner, av systemet eller av brukeren. Dette er forskjellig i de forskjellige nøklene. Det er mange enkeltkomponenter som til sammen utgjør den hierarkiske strukturen i registeret. Først og fremst subtrees eller subtreekeys som tilsvarer rotpartisjoner på en disk. Windows 2000 inneholder egentlig bare to subtrees, (HKEY_LOCAL_MACHINE og HKEY_USERS) men av menneskelige hensyn er det slik at fem slike vil fremstå som egne subtrees i en registereditor. De fem er: HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT, and HKEY_CURRENT_CONFIG. De andre komponentene registeret består av er keys (nøkler), entries, datatyper og hives.
De fleste brukere klarer seg godt i mange år uten å gå inn i registeret, det er nok til og med mange som ikke vet at det er der i det hele tatt. Andre har hørt ordet, men har ingen forståelse for hva registeret er, hvorfor det er der eller hva det gjør. Atter andre har en liten innsikt i dette, men vet ikke hva man kan gjøre, hvor store endringer man kan få til, eller hvordan dette kan gjøres. Imidlertid er det å ha en innsikt i registeret og hvordan det virker, meget nødvendig for administratorer. Det er administrators jobb å ta back-up av registeret, endrer det for å sette begrensninger overfor brukere, eller endre enkelte parametere i nettverket eller hvordan applikasjoner virker. For å se innholdet og gjøre endringer, enten det er å fjerne, legge til eller redigere registernøkler så bruker man en registereditor. I Windows (når vi snakker om registeret, er det Windowsmaskiner vi snakker om).
Etter denne delen av kompendiet bør du være i stand til å endre registeret ved hjelp av en editor.
Det er to editorer å velge mellom, ”regedit” og ”regedt32”. Vi kikker på dem, men konsentrerer oss om regedt32.
Under installasjonen av Windows 2000 blir det installert to editorer. Regedt32 og Regedit. Begge ligger i systemmappen, men på forskjellig sted. Regedit ligger i Winnt mappen, regedt32 ligger i winnt\system32. Bruker du Windows 9x eller XP heter systemmappen Windows, begge disse systemmappene ligger normalt på C:\.
NB! Under Windows XP
finnes ikke lenger regedt32, regedit versjon 5.1 har fått alle
de egenskapene som manglet i regedit tidligere, blandt annet evnen
til å endre ”permission settings” for
registernøkler. Read only modus finnes ikke under Windows
XP.
Microsoft anbefaler ikke at vanlige brukere benytter disse
programmene, derfor ligger de ikke i startmenyen. Begge programmene
startes ved å klikke start og velge ”kjør”
eller ”run” og derefter skrive inn navnet på den
editoren du vil bruke.
Det anbefales, fra
Microsofts side at man ikke bruker regedit, men heller velger
regedt32. Grunnen er at regedt32 har en sikkerhetsmeny, eller om du
vil, en read-only modus og dertil støtter den REG_EXPAND_SZ og
REG_MULTI_SZ nøkkeltyper. Det gjør ikke regedit. Der er
det, som sagt, heller ingen read-only modus, det betyr at sjansen for
å gjøre feil er større.
Selv om det er mulig å
endre registeret på en massevis av måter med
registereditoren er det sterk å anbefale at du bruker
kontrollpanelet til å gjøre endringer, editoren benytter
du bare dersom du ikke kan gjøre de endringene du vil i
kontrollpanel. Det er en del registerendringer som ikke kan gjøres
i kontrollpanel, men slike endringer er det slett ikke meningen at
vanlige brukere skal gjøre.
Dersom du bruker
registereditoren feil er det mulighet for å gjøre
alvorlig skade. Det kan hende systemet ikke vil starte, eller du kan
gjøre endringer som er så fatale at Windows må
reinstalleres.
Du bør alltid ta en back-up av registeret
før du gjør endringer, og det anbefales at du først
ser gjennom det du vil gjøre i read-only modus. Da er sjansen
for feil mindre.
Registereditoren lagrer endringer du gjør umiddelbart og det er ingen angrefunksjon, selv ikke Ctrl+Z. Gjør du en fatal feil, er det uopprettelig, uten at det innebærer mye arbeid og kanskje bruk av tredjeparts softwarebaserte verktøy.
|
Kommando |
Meny |
Beskrivelse |
|
Save Key |
Registry |
Lagrer en del av registeret i binært format. Den lagrer den nøkkelen som er valgt og alle undernøkler. Du kan senere bruke denne filen sammen med kommandoen RESTORE for å legge de originale verdiene tilbake i registeret dersom du gjør en feil. |
|
Restore |
Registry |
Legger de valgte dataene fra en ekstern fil tilbake i registeret. Denne kommandoen vil overskrive de data eller verdier som er i nøkkelen nå, med verdier fra en ekstern fil. |
|
Save Subtree As |
Registry |
Lagrer valgt nøkkel og alle tilhørende undernøkler i en tekstfil. Du kan derefter bruke en teksteditor (notisblikk for eksempel) for å søke efter endringer. NB! Du kan ikke konvertere denne tekstfilen tilbake til registerdata. |
|
Select Computer |
Registry |
Åpner
registeret på en annen datamaskin (remote). Windows 2000
server begrenser tilgangen her til administratorgruppen, men 2000
pro gir tilgang til alle autentiserte brukere. Hvis du trenger å
endre tilgangsrettighetene (begge systemer) må du opprette
en ny registernøkkel av typen REG_DWORD som en undernøkkel
i treet
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\
winreg og sette verdien til 1. |
|
Find Key |
View |
Søker gjennom registeret for en spesifikk nøkkel. Nøklenes navn dukker opp til venstre i bildet. Søket starter i den nøkkelen som er valgt og går gjennom alle undernøkler til denne. For eksempel vil et søk i HKEY_LOCAL_MACHINE ikke inkludere nøkler som ligger under HKEY_CURRENT_USER. Hvis du vil søke hele registeret må dy begynne helt på toppen av treet. |
Du finner de fleste nyttige kommandoer i menyene i registereditoren, eller du kan se på tabellen under for en oversikt og kort beskrivelse av hva de gjør og hvor du finner dem. Mange er også tilgjengelige ved å høyreklikke i editeringsvinduet.
I denne øvelsen skal vi bruke registereditoren for å se på informasjon som er lagret i registeret. Vi skal finne ut av en del saker slik som BIOS versjon, prosessoren i maskinen og hvilken versjon vi har av operativsystemet. Vi skal bruke søkefunksjonen til å finne bestemte ord eller verdier. Vi skal endre registeret ved å legge til en verdi og vi skal lagre en nøkkel som en tekstfil slik at vi kan se på filen ved hjelp av notisblokk.
I denne øvelsen skal vi bruke registereditoren til å se på verdier / informasjon i registeret:
Sørg for å logge inn som administrator dersom du ikke har tilstrekkelige rettigheter i din brukerkonto.
Start registereditoren Regedt32.exe
Gå inn på menyen "alternativer" og sett en hake ved "skrivebeskyttet modus".
Sørg for at det er merket av for "tre og data" på vis-menyen.
Maksimer vinduet og
derefter maksimerer du
HKEY_LOCAL_MACHINE på lokal maskin.
Dobbeltklikk på HARDWARE, derefter på DESCRIPTION og så på SYSTEM for å utvide dem. Derefter svarer du på følgende spørsmål:
Hvilken versjon er din BIOS (Basic Input Output System), og hvilken dato har den?
Hvilken type datamaskin har du, i henhold til ”Identifier entry”?
Utvid nøkkelen SOFTWARE\Microsoft\WindowsNT\CurrentVersion og fyll inn følgende informasjon:
|
Programvarekonfigurasjon |
Verdi og streng |
|
CurrentBuildNumber |
|
|
CurrentVersion |
|
|
RegiseredOrganization |
|
|
RegisteredOwner |
|
I denne øvelsen skal vi bruke registereditorens søkefunksjon til å finne et bestemt ord i navnet på en nøkkel i registeret:
Klikk på den øverste nøkkelen i treet, HKEY_LOCAL_MACHINE, dette er for å være sikker på at hele sub-treet blir søkt.
På ”vis” menyen velger du: søk efter nøkkel.
Så snart dialogboksen kommer opp skriver du ”serial” (uten anførselstegn) i boksen og klikker ”søk efter neste”
Fortsett å
klikke på søk efter neste inntil du får melding
om at Windows er ferdig med å søke i registeret. Legg
merke til at ordet du søkte efter ble funnet flere
steder.
Hvor mange steder ble det funnet?
Klikk OK i den lille boksen og lukk søkevinduet.
I denne øvelsen skal vi legge til en verdi i en registernøkkel.
På menyen
”alternativer” klikker du skrivebeskyttet modus.
Dette
vil oppheve skrivebeskyttelsen som vi satte på i øvelse
1.
Tilbakestill vinduet du var i og bring vinduet for HKEY_CURRENT_USER på lokal maskin frem i forgrunnen.
Klikk på Environment. Verdiene som ligger i denne nøkkelen vises nå på høyre side av vinduet.
Klikk på redigermenyen og velg legg til verdi.
OBS!
Hvis den ikke er tilgjengelig så sjekk at du ikke er i read-only modus. Hvis du ikke klarer å komme ut av read-only modus må du lukke registereditoren og starte den igjen.
Dialogboksen for å legge til en verdi dukker opp.
I boksen ”verdinavn” skriver du ”test”
I boksen ”Datatype”
velger du REG_EXPAND_SZ og så klikker du på
OK.
Streng-editoren dukker opp.
I streng-boksen skriver du inn: %windir%\system32 og klikk på OK.
Nå bør du se den nye verdien duke opp i det høyre bildet.
Minimer registereditoren.
Bring frem
skrivebordet og høyreklikk på ”min datamaskin”,
klikk på ”egenskaper”.
Dialogboksen for
systemegenskaper dukker opp.
Klikk på ”avansert”
Klikk på ”miljøvariabler” og se selv at nøkkelen ”test” er der.
Lukk dialogboksen.
I denne øvelsen skal vi lagre en undernøkkel, et subtree (altså ikke bare en enkelt nøkkel, men et sett nøkler) som en tekstfil. Dette gir oss muligheten til å bruke en teksteditor, for eksempel Notisblokk for å søke gjennom filen. Du kan, naturligvis også både lagre og skrive ut filen. Det kan være nyttig hvis du trenger å feilsøke en endring. Da lagrer du selvfølgelig filen før du endrer .
Maksimer registereditoren igjen.
klikk på
vinduet som heter HKEY_LOCAL_MACHNE på lokal maskin.
Grunnen
til at den siste delen er der, er at det er fullt mulig å
editere (endre) registeret på en annen maskin, over
nettverket.
klikk på HKEY_LOCAL_MACHINE\software
På menyen register velger du lagre undertre som…
Dialogboksen Lagre Som dukker opp.
velg å lagre på skrivebordet
Gi filen navnet software.txt
OBS
Det kan ta litt tid før registereditoren blir ferdig med denne oppgaven.
Avslutt registereditoren
Gå til skrivebordet og åpne software.txt i Notisblokk. (Det kan også ta litt tid, rett og slett fordi filen kan være ganske så stor).
Velg rediger i Notisblokk, eller trykk Ctrl+B, eller F3.
Skriv inn CurrentBuildNumber i dialogboksen og klikk søk efter neste.
Gå til det merkede området (scroll ned om nødvendig)
Hvilket nummer står
det?
Dette er det egentlige versjonsnummeret på den
Windowsinstallasjonen du bruker i øyeblikket.
Lukk Notisblokk, gå til skrivebordet igjen
Høyreklikk
på tekstfilen software og se hvor stor den er. Hvor stor er
den?
Nå forstår du sikkert hvorfor det tok litt tid
både å generere den og å åpne den.
Vi har sett på bruken av registereditoren regedt32. Du kan også bruke regedit, og hvis du har en annen Windowsinstallasjon enn 2000 eller NT 4 må du bruke regedit. Fremgangsmåten er ellers den samme, det er bare vinduet som ser litt annerledes ut.
Man skal være klar over at registereditoren hovedsaklig er ment brukt til alvorlig feilsøkning.
Til de aller fleste konfigureringer bør du bruke kontrollpanel og administrative verktøy, ikke regedit eller regedt32. Imidlertid er det noen konfigureringer som ikke kan foretas i kontrollpanel / administrative verktøy. Disse må du gjøre manuelt i registeret ved bruk av en registereditor.
Hva er registeret og hva gjør det?
Hva er et ”hive”
Hvilken registereditor er å foretrekke når du arbeider med Windows 2000?
Hva bør du ”enable” før du begynner å arbeide med editoren? Hvorfor?
Mer informasjon vil du kunne finne på www.microsoft.com
Du kan også forsøke:
www.winguides.com/registry/
www.symantec.com
www.woram.com
Eller søk efter +Windows +registry I en god søkemotor. Det er svært mange sider ute på nettet som omhandler Windows registeret, ikke alle er like seriøse, men det er mange som er veldig bra.