Windows 2000 Professional
Registeret
Et kompendium beregnet på elever på datalinjen ved Oslo By Steinerskole
(kilde: Microsoft)


Dette kompendiet består av to hoveddeler.
Del 1; å forstå registeret. Microsoft Windows 2000 lagrer maskinvarespesifikke og programvarespesifikke innstillinger sentralt i en hierarkisk database som heter registeret (registry). Registeret i Windows 2000 erstatter mange av .INI, .SYS og .COM konfigurasjonsfilene i tidligere versjoner av Windows. Registeret kontrollerer Windows 2000 operativsystemet ved å sørge for korrekt oppstartsinformasjon for å starte applikasjoner og laste komponenter slik som drivere og nettverksprotokoller. (Se også kompendiet Windows 2000 bootprosessen…).

Etter denne delen av kompendiet bør du være i stand til å:

Registerets formål:

Registeret inneholder en mengde forskjellige typer data, inkludert følgende:

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
(f eks C:\). Windows 2000 registeret har egentlig to rotpartisjoner, men av forenklingshensyn vil 5 subtree vises frem. De er disse:

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.

  • En verdi; må være en streng av 1 til 8 heksadesimale verdier.

  • REG_SZ. En verdi; Windows 2000 tolker den som en streng som skal lagres.

  • REG_EXPAND_SZ. Ligner på REG_SZ, bortsett fra at den kan inneholde en variabel verdi; for eksempel, i strengen: ”systemroot\Ntvdm.exe vil Windows 2000 erstatte Systemroot med den egentlige filbanen til 2k \System32.

  • REG_BINARY. Bare EN verdi; denne må være en streng av heksadesimale tall Windows 2000 vil tolke hvert par (nibble) som en binær byte verdi.

  • REG_MULTI_SZ. Mange verdier tillatt; Windows 2000 tolker hver streng som en komponent i MULTI_SZ separate entries.

  • REG_FULL_RESOURCE_DESCRIPTOR. Lagrer en liste over ressurser tilhørende maskinvarekomponenter og drivere for disse. Du kan IKKE legge til, eller endre på disse verdier av denne typen.

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)

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:

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.

Del 2; bruk av registereditor

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.

Regedt32.exe

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.

Advarsel

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.
Her avgjøres hvem som får tilgang.

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.

Øvelse: bruk av registereditoren.

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.

Øvelse 1: Utforskning av registeret:

I denne øvelsen skal vi bruke registereditoren til å se på verdier / informasjon i registeret:

  1. Sørg for å logge inn som administrator dersom du ikke har tilstrekkelige rettigheter i din brukerkonto.

  2. Start registereditoren Regedt32.exe

  3. inn menyen "alternativer" og sett en hake ved "skrivebeskyttet modus".

  4. rg for at det er merket av for "tre og data" på vis-menyen.

  5. Maksimer vinduet og derefter maksimerer du
    HKEY_LOCAL_MACHINE på lokal maskin.

  6. Dobbeltklikk på HARDWARE, derefter på DESCRIPTION og så på SYSTEM for å utvide dem. Derefter svarer du på følgende spørsmål:

  7. Utvid nøkkelen SOFTWARE\Microsoft\WindowsNT\CurrentVersion og fyll inn følgende informasjon:

Programvarekonfigurasjon

Verdi og streng

CurrentBuildNumber


CurrentVersion


RegiseredOrganization


RegisteredOwner


Øvelse 2: bruk av søkefunksjonen:

I denne øvelsen skal vi bruke registereditorens søkefunksjon til å finne et bestemt ord i navnet på en nøkkel i registeret:

  1. 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.

  2. På ”vis” menyen velger du: søk efter nøkkel.

  3. Så snart dialogboksen kommer opp skriver du ”serial” (uten anførselstegn) i boksen og klikker ”søk efter neste”

  4. 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?

  5. Klikk OK i den lille boksen og lukk søkevinduet.

Øvelse 3: Endring (modifisering) av registeret.

I denne øvelsen skal vi legge til en verdi i en registernøkkel.

  1. På menyen ”alternativer” klikker du skrivebeskyttet modus.
    Dette vil oppheve skrivebeskyttelsen som vi satte på i øvelse 1.

  2. Tilbakestill vinduet du var i og bring vinduet for HKEY_CURRENT_USER på lokal maskin frem i forgrunnen.

  3. Klikk på Environment. Verdiene som ligger i denne nøkkelen vises nå på høyre side av vinduet.

  4. 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.

  1. I boksen ”verdinavn” skriver du ”test”

  2. I boksen ”Datatype” velger du REG_EXPAND_SZ og så klikker du på OK.
    Streng-editoren dukker opp.

  3. 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.

  1. Minimer registereditoren.

Vi må sjekke at registerverdien faktisk er der:

  1. Bring frem skrivebordet og høyreklikk på ”min datamaskin”, klikk på ”egenskaper”.
    Dialogboksen for systemegenskaper dukker opp.

  2. Klikk på ”avansert”

  3. Klikk på ”miljøvariabler” og se selv at nøkkelen ”test” er der.

  4. Lukk dialogboksen.

Øvelse 4, lagre en undernøkkel (subtree) som en tekstfil.

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 .

  1. Maksimer registereditoren igjen.

  2. 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.

  3. klikk på HKEY_LOCAL_MACHINE\software

  4. På menyen register velger du lagre undertre som…

Dialogboksen Lagre Som dukker opp.

  1. velg å lagre på skrivebordet

  2. Gi filen navnet software.txt

OBS

Det kan ta litt tid før registereditoren blir ferdig med denne oppgaven.

  1. Avslutt registereditoren

  2. 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).

  3. Velg rediger i Notisblokk, eller trykk Ctrl+B, eller F3.

  4. Skriv inn CurrentBuildNumber i dialogboksen og klikk søk efter neste.

  5. Gå til det merkede området (scroll ned om nødvendig)

  6. Hvilket nummer står det?
    Dette er det egentlige versjonsnummeret på den Windowsinstallasjonen du bruker i øyeblikket.

  7. Lukk Notisblokk, gå til skrivebordet igjen

  8. 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.

Sammendrag:

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.

Spørsmål:

  1. Hva er registeret og hva gjør det?

  2. Hva er et ”hive”

  3. Hvilken registereditor er å foretrekke når du arbeider med Windows 2000?

  4. 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.