Windows Registry ( engelsk Windows Registry ), eller systemregistret er en hierarkisk opbygget database med parametre og indstillinger i de fleste Microsoft Windows -operativsystemer .
Registret indeholder oplysninger og indstillinger for hardware , software , brugerprofiler, forudindstillinger. De fleste ændringer i kontrolpanelet , filforeninger, systempolitikker, listen over installeret software er rettet i registreringsdatabasen.
Windows-registreringsdatabasen blev introduceret for at organisere information, der tidligere var gemt i mange INI-filer , give en enkelt mekanisme (API) til at skrive/læse indstillinger og slippe af med problemerne med korte navne, manglende adgangsrettigheder og langsom adgang til gemte ini-filer på filsystemet FAT16 , som havde alvorlige ydelsesproblemer ved søgning efter filer i mapper med et stort antal af dem. Over tid (endelig - med fremkomsten af NTFS -filsystemet ) forsvandt problemerne løst af registreringsdatabasen, men registreringsdatabasen forblev på grund af bagudkompatibilitet og er til stede i alle versioner af Windows, inklusive den nyeste. Da der i øjeblikket ikke er nogen reel forudsætning for at bruge en sådan mekanisme, er Microsoft Windows det eneste operativsystem (bortset fra ReactOS og eComStation ), der er i brug i dag, der bruger operativsystemets registreringsmekanisme.
Selve registreringsdatabasen som en trælignende hierarkisk database (registreringsdatabase - registreringsdatabase) dukkede først op i Windows 3.1 ( april 1992 ). Det var kun en binær fil kaldet REG.DAT og blev gemt i mappen C:\Windows\. Windows 3.1-registreringsdatabasen havde kun én HKEY_CLASSES_ROOT-gren. Det tjente til at kommunikere DDE og senere OLE- objekter.
Samtidig med fremkomsten af registreringsdatabasen i Windows 3.1, så programmet REGEDIT.EXE ud til at se og redigere registreringsdatabasen.
Det første register havde allerede mulighed for at importere data fra *.REG-filer . Basisdistributionen inkluderede SETUP.REG -filen, der indeholdt data om de vigtigste udvidelser og filtyper.
Windows Registry 3.1 havde en maksimal størrelsesgrænse på 64 KB for REG.DAT-filen. Hvis registreringsdatabasen overskred denne størrelse, skulle registreringsdatabasen (REG.DAT) slettes og genopbygges enten fra *.REG-filer eller indtastes manuelt.
Det næste skridt blev taget i Windows NT 3.1 ( juli 1993 ). De forældede MS-DOS-filer AUTOEXEC.BAT og CONFIG.SYS er blevet slettet , såvel som INI-filer som de vigtigste konfigurationsfiler. Hele systemkonfigurationen blev overført til "registreringsdatabasen" (registrering). Registret er grundlaget for systemkonfigurationen. Den havde 4 rodpartitioner: HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT og HKEY_USERS.
Registret blev "præfabrikeret": det blev gemt på disken i filerne: DEFAULT, SOFTWARE, SYSTEM, og da systemet blev startet, blev der samlet en enkelt database fra disse filer.
REGEDIT.EXE-filen forblev i distributionssættet, som stadig tillod visning og redigering af kun HKEY_CLASSES_ROOT-grenen, og REGEDT32.EXE-filen dukkede op, som redigerede alle registreringsfilialer.
Yderligere ændrede registrets teknologi og ideologi (formål) sig ikke. Alle efterfølgende versioner af Windows (NT 3.5, 95, NT 4.0, 98, 2000, XP, Vista, 7, 8, 10) brugte registreringsdatabasen som hoveddatabasen indeholdende alle de grundlæggende konfigurationsdata for både selve OS og applikationsprogrammer. Yderligere er navnene på registreringsdatabasen og deres placering samt nøglernes navn og formål ændret.
Registry, som det bruges af Windows, og som det ses af brugeren i færd med at bruge registreringsprogrammer, er dannet af forskellige data. For at få, hvad brugeren ser, når de redigerer registreringsdatabasen, sker følgende.
I første omgang, under installationen af en Windows-opsætning, genereres der filer på disken, der gemmer nogle af de data, der er relateret til systemkonfigurationen.
Derefter, under hver opstart af systemet, såvel som under hvert login og log ud af hver bruger, dannes en bestemt virtuel enhed kaldet "registret" - REGISTRY \ objektet. Dataene til dannelsen af "registry" er dels hentet fra de samme filer (Software, System ...), dels fra informationen indsamlet af ntdetect under opstart (HKLM\Hardware\Description). Det vil sige, at en del af registreringsdatabasens data er gemt i filer, og en del af dataene dannes under Windows boot-processen.
Registry filialer er tilgængelige til redigering, visning og undersøgelse af registreringsdatabasen ved hjælp af standard Windows-værktøjer (regedit.exe og regedt32.exe programmer). Efter redigering af registreringsdatabasen og/eller ændringer i det, bliver disse ændringer straks skrevet til filerne. Der er dog tredjepartsprogrammer, der giver dig mulighed for at arbejde direkte med filer.
Registry optimeringsprogrammer, tweakers samt programinstallations- og afinstalleringsprogrammer fungerer gennem specielle registreringsfunktioner.
I Windows 2000 forblev antallet af registreringsdatabasen det samme som i Windows NT 5.0.
5 bistader, hvoraf den ene er en nøglereference i HKEY_USERS. Selve bikuben hedder HKEY_CURRENT_USER
I Windows XP gemmes registreringsdatabasen følgende steder:
I Windows Vista gemmes registreringsdatabasen på samme sted som i Windows XP.
På Windows 7, ifølge HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist, er registreringsdatabasen gemt på følgende steder:
Registerfilerne DEFAULT, SAM, SECURITY, SOFTWARE og SYSTEM sikkerhedskopieres i mappen %SystemRoot%\System32\config\RegBack. Selve sikkerhedskopieringen udføres af Task Scheduler ved 0000 timer. hver 10. dag af "RegIdleBackup"-opgaven placeret i opgavehierarkiet langs stien "\Microsoft\Windows\Registry".
Registergrenen "HKEY_CURRENT_USER" er dannet ud fra filen "%USERPROFILE%\NTUSER.DAT", hvor %USERPROFILE% betyder stien til den aktuelle brugers mappe.
Registry for 64-bit versioner af Windows XP og Windows Server 2003 og Windows Vista er underopdelt i 32-bit og 64-bit nøgler. De fleste 32-bit partitioner har de samme navne som deres 64-bit modstykker og omvendt. Registreringseditoren for 64-bit versioner af Windows XP, Windows Server 2003 og Windows Vista viser som standard 32-bit nøgler under HKEY_LOCAL_MACHINE\Software\WOW6432Node.
Dette afsnit indeholder indstillinger for den aktuelle aktive bruger, der er logget på systemet. Brugermapper, skærmfarver og kontrolpanelindstillinger gemmes her. Disse oplysninger er knyttet til en brugerprofil. Forkortelsen HKCU bruges nogle gange i stedet for det fulde sektionsnavn. [2] Selvom denne nøgle ligner en af de vigtigste i registreringseditoren, er den blot et link til en af HKEY_USERS\-profilerne.
Nøglen HKEY_USERS (alias HKU) indeholder oplysninger om profilerne for alle brugere på denne computer. Denne sektion bliver næsten aldrig brugt af brugere. Bemærk forholdet mellem denne rodnøgle og HKEY_CURRENT_USER-nøglen, som faktisk er et link til en undersektion af HKEY_USERS-rodnøglen, der gemmer information om den aktuelle bruger.
Dette afsnit indeholder konfigurationsindstillinger, der er specifikke for denne computer (for alle brugere). Forkortelsen HKLM bruges nogle gange i stedet for det fulde sektionsnavn. [2]
Det er en undernøgle til HKEY_LOCAL_MACHINE\Software\Classes. Den indeholder hovedsageligt information om registrerede filtyper og COM- og ActiveX -objekter . Forkortelsen HKCR bruges nogle gange i stedet for det fulde sektionsnavn. Fra og med Windows 2000 gemmes disse oplysninger i både LOCAL_MACHINE og CURRENT_USER. Nøglen HKLM\Software\Klasser indeholder standardindstillinger, der gælder for alle brugere på den lokale computer. Indstillingerne i afsnittet HKCU\Software\Klasser gælder kun for den aktuelle bruger og har forrang frem for standardindstillingerne. Sektionen CLASSES_ROOT indeholder data fra begge kilder. Derudover giver afsnittet CLASSES_ROOT aggregerede data til programmer skrevet til tidligere versioner af Windows. Ændringer af den aktuelle brugers indstillinger foretages i HKCU\Software\Class-tasten. Ændring af standardparametrene skal foretages i afsnittet HKLM\Software\Klasser. Data fra partitioner tilføjet til CLASSES_ROOT vil blive lagret af systemet i HKLM\Software\Classes-partitionen. Hvis en indstilling ændres i en af underafsnittene i CLASSES_ROOT-sektionen, og en sådan undersektion allerede findes i HKCU\Software\Classes, vil sektionen HKCU\Software\Classes blive brugt til at gemme information, og ikke den tilsvarende sektion i LOCAL_MACHINE. [2]
Dette afsnit indeholder oplysninger om den hardwareprofil, der bruges af den lokale computer ved systemstart. [2] Er et link til HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current
Denne nøgle findes kun i Windows 9x/ME OS-registreringsdatabasen. Indeholder dynamisk skiftende data om computeren (processorbelastning, sidefilstørrelse osv.). [2]
Den måde, hvorpå operativsystemets parametre og indstillinger gemmes ved hjælp af Windows-registreringsdatabasen, kritiseres ofte af følgende årsager:
Kritikere nævner UNIX - lignende operativsystemer som et eksempel, hvor der ikke er et register, og de opgaver, det udfører, løses på andre måder.
Der er skruppelløse annoncerede programmer, der blandt andet lover optimering af registreringsdatabasen. De kan både bruges til at tjene på salget til en urimelig høj pris og til at sprede virus. Sådanne programmer virker ikke engang i teorien, da det er nytteløst at defragmentere store registreringsfiler, som også er systemfiler.
Beskrivelse af registeret i blandt andet engelsk litteratur bruger udtrykket Hive . I nogle værker er det oversat til russisk som "træ". Microsoft oversætter dette som hive i deres dokumenter . For eksempel:
Registry -hive HKEY_LOCAL_MACHINE\SAM == Registry -hive HKEY_LOCAL_MACHINE\ SAM [2] [4]
Et registreringstræ (hive) er et undersæt af registreringsnøgler, undernøgler og indstillinger, der er knyttet til et sæt hjælpefiler, der indeholder sikkerhedskopier af disse data. [2]