A Windows rendszerleíró adatbázisa

A Microsoft Windows rendszerleíró adatbázisa (más néven beállításjegyzék, regisztrációs adatbázis vagy konfigurációs adatbázis; angol nevén registry; röviden RAB) a számítástechnikában egy adott számítógépre telepített (32 vagy 64 bites) Microsoft Windows operációs rendszer regisztrációs adatbázisa, melyet a Windows működése során folyamatosan felhasznál (olvas és szerkeszt).

Minden, a Windows rendszerleíró adatbázisa által használt fájl az operációs rendszer indulása folyamán automatikusan betöltődik a memóriába. A méretnövekedésük ezért egy idő után az operációs rendszer lassabb működéséhez, hosszabb indulási idejéhez és nagyobb memória-felhasználásához vezet. Maguk a fájlok az operációs rendszer futása során a fájlrendszerből nem hozzáférhetők, a rendszer a fájloknak közvetlenül se az írását, se az olvasását (másolását) nem engedélyezi. A tartalmuk szerkesztése így az operációs rendszer futása során kizárólag segédprogramokkal, az őket futtató felhasználó jogosultságainak függvényében végezhető.

Leírása 
A rendszerleíró adatbázisba bekerül a Windows telepítésekor létrejött kezdeti konfigurációjának leírása, és minden fontosabb konfigurációváltozást is ide jegyez fel a rendszer, ilyenek például:
 a telepített programok listája;
 az, hogy adott kiterjesztésű fájlt alapértelmezésben melyik alkalmazás nyissa meg (a fájltípusok társításainak listája);
 a rendszerindítással együtt automatikusan indítandó programok listája;
 a felhasználói profilok;
 a számítógépen található hardverösszetevők;
 a használt portok;
 a Windows shelljének (rendszerhéj) fontosabb és kevésbé fontos elemei:
 (az aktuálisan használt shell;
 a fájltípusokhoz társított ikonok;
 a felbukkanó üzenetek szövege;
 az aktuális asztal téma és rendszerstílus digitális leírása stb.);
 és szinte minden, ami a rendszerfájlok változtatását érinti.

A regisztrációs adatbázis helyettesíti a Windows 3.x rendszerek legtöbb .ini állományát, valamint az MS-DOS konfigurációs fájljait, mint például az AUTOEXEC.BAT és CONFIG.SYS fájlokat. A különböző Windows-változatok RAB-jai valamennyire különböznek egymástól.

Megjegyzés: Az alábbiakban használt %windir% környezeti változó adja meg annak a mappának az elérési útját, ahová a Windowst telepítették, például C:\Windows

Hierarchiája 
A rendszerleíró adatbázis faelrendezésű hierarchiába van szervezve, úgynevezett kulcsokból, alkulcsokból, struktúrákból és értékbejegyzésekből áll.

A rendszerleíró adatbázis esetében a részfák az elsődleges csomópontok.

Kulcs 
A kulcs a Rendszerleíróadatbázis-szerkesztő bal oldali ablaktáblájában megjelenő mappa. A kulcs tartalmazhat alkulcsokat és értékeket. Például a „Console” a „HKEY_CURRENT_USER” egyik kulcsa. Egyébként a HKEY_CURRENT_USER egy úgynevezett rendszerkulcs (ezek a legfelsőbb kulcsok, ilyenekből öt féle van).

Példa egy tipikus kulcsnévre: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 
– ebben az esetben ide lehet felvenni azokat a programokat, melyek a Windowsba való bejelentkezéskor automatikusan indulnak (ez a számítógép összes felhasználójára vonatkozik). A kulcsnevek maximális hossza 255 karakter lehet.

Alkulcs 
Az alkulcs a kulcson belül lévő kulcs. A rendszerleíró adatbázis hierarchiáját tekintve az alkulcsok a részfák és a kulcsok alatt találhatók. A kulcsok és alkulcsok szerepe hasonló, mint a szakaszfejléceké az .ini fájlokban, de az alkulcsok funkciókat is végrehajthatnak.

Struktúra 
A struktúra a rendszerleíró adatbázis egy része, amely fájl formájában van jelen a merevlemezen. Az adatbázis részfája struktúrákra van osztva. A struktúra kulcsokat, alkulcsokat és értékeket tartalmazó önálló tömb, melynek gyökere a rendszerleíró adatbázis hierarchiájának csúcsán helyezkedik el. A struktúra egy fájlból, valamint egy .log fájlból áll, amelyek a %windir%\System32\Config vagy a %windir%\Profiles\felhasználónév mappában találhatóak. 
Alapértelmezés szerint a legtöbb struktúrafájl (Default, SAM, Security és System) a %windir%\System32\Config mappában van tárolva. A %windir%\Profiles mappa a számítógép felhasználóinak felhasználói profiljait tartalmazza. Mivel a struktúrát a rendszer fájlban tárolja, az átvihető egyik rendszerről a másikra (ezt a lehetőséget ne keverjük össze azzal, hogy .reg fájl formájában is átvihetőek az adatok, a .reg fájlok nem szolgálnak a RAB tárolására, csak az adatok mozgatásárra). A fájl szerkesztését azonban egy rendszerleíróadatbázis-szerkesztővel kell végezni.

A Windows NT 4.0, Windows 2000, XP és Server 2003 rendszereken – a HKEY_CURRENT_USER struktúra kivételével – a %windir%\System32\Config mappában tárolódnak a struktúrafájlok segédfájljai. A HKEY_CURRENT_USER fa fájljai a %windir%\Profiles\felhasználónév mappában találhatók. Ezen fájlok kiterjesztése (vagy annak hiánya) az általuk tárolt adatok típusát mutatja meg.
A Windows 98 rendszerben a rendszerleíró fájlok adatai a User.dat és a System.dat fájlok tárolják, Windows Me rendszeren pedig ezek mellett a Classes.dat fájl is.

Értékbejegyzés 
Az értékbejegyzés az az adat-karakterlánc, amely egy kulcs értékét határozza meg. Az értékbejegyzés három részből áll, ezek: név, adattípus és maga az érték.

Az értéknevek maximális mérete Windows 95, 98 és Me rendszereken 255 karakter; Windows 2000 rendszerben 260 ANSI szabványú vagy 16 383 Unicode szabványú karakter; Windows XP és Server 2003 rendszereken pedig 16 383 karakter.

A 2048 bájtnál nagyobb értékeket külön fájlokként kell menteni, elősegítve ezzel a RAB hatékonyabb működését. Az értékek maximális mérete Windows 95, 98 és Me rendszereken 16 300 bájt; Windows NT 4.0, Windows 2000, XP és Server 2003 rendszereken pedig a használható memória függvénye.

A rendszerleíró adatbázisban a használt és definiált adattípusok: REG_BINARY (bináris érték), REG_DWORD (duplaszó), REG_MULTI_SZ (karakterláncérték), REG_EXPAND_SZ (bővíthető karakterláncérték), REG_MULTI_SZ (karakterláncsoros érték), REG_RESOURCE_LIST (bináris érték), REG_RESOURCE_REQUIREMENTS_LIST (bináris érték), REG_FULL_RESOURCE_DESCRIPTOR (bináris érték), REG_NONE (nincs), REG_LINK (csatolás), REQ_QWORD (négyszó).

Szerkesztése 
A rendszerleíró adatbázis külön programokkal szerkeszthető, de általában a Windows rendszer részeként érkező Rendszerleíróadatbázis-szerkesztő (Regedit.exe vagy Regedt32.exe) nevű programmal szokták szerkeszteni. Ez a Windows-rendszerkönyvtárban található. A Start menü Futtatás… parancsával is elérhető, ha a megjelenő mezőbe a „Regedit.exe” fájlnevet írjuk.

A szerkesztés általában valós időben történik, azaz a Rendszerleíróadatbázis-szerkesztővel megtett változtatások azonnal életbe is lépnek, bár biztonsági okokból tanácsos ilyenkor az egész rendszert újraindítani, mert egyes programok addig helytelenül működhetnek.

Ha a RAB egy-egy bejegyzését kijelöljük, az a Rendszerleíróadatbázis-szerkesztő segítségével .reg fájlként is elmenthető. Ezek a .reg fájlok vagy más néven „regisztrációs bejegyzések” egyszerű szöveges fájlok, melyek például a Windowsban megtalálható Jegyzettömbbel is szerkeszthetőek. A .reg fájl tartalma egy külön erre a célra szolgáló rendszerparanccsal könnyen hozzá is adható egy rendszerleíró adatbázishoz. Azaz a RAB tartalma minden további nélkül exportálható és importálható. Így például bizonyos rendszerbeállításokat tudunk egyik számítógépről a másikra pillanatok alatt, néhány kattintással átmásolni.

Figyelmeztetés 
A Microsoft azt tanácsolja, hogy a Windows rendszerleíró adatbázisának módosítását csak a Microsoft dokumentációiban ismertetettek szerint hajtsuk végre. Ha van rá mód, akkor a Windows felhasználói felületén keresztül módosítsuk beállításokat, és ne a RAB-on keresztül. A rendszerleíró adatbázis módosítása esetén előfordulhat, hogy visszaállíthatatlan kárt okozunk a rendszerben. Az adatbázis módosítása előtt célszerű arról biztonsági másolatot készíteni.

Példa 
A Windows rendszer indításakor automatikusan elinduló programok példájánál maradva, tegyük fel, hogy a gépünket megfertőzte a Mydoom vírus egyik változata, vagy valami hasonlóan egyszerű vírus. A tanulság, hogy legközelebbre szerezzünk be egy vírusirtó programot. Ha azonban nincs, a RAB szerkesztése segíthet.

A vírustól úgy lehet megszabadulni, hogy töröljük a vírusos fájlokat. Ez két fájlt jelent: egyrészt a %System%\TASKMON.EXE (esetleg %Windir%\TASKMON.EXE) alkalmazást, amely a vírus terjesztéséért felelős, másrészt a %System%\SHIMGAPI.DLL dinamikus szerkesztésű könyvtárat, amely lehetővé teszi, hogy a vírus vagy más felhasználók a háttérben irányítsák a gépünket. A probléma azonban, hogy a vírusfájlok valószínűleg már futnak a háttérben, Windows rendszer pedig nem enged működésben lévő programokat törölni. Állítsuk le a vírusok működését (ez a Feladatkezelő Windows-program segítségével könnyen megtehető). Sajnos különféle okok miatt még ilyenkor sem biztos, hogy törölni lehet őket (például ha már megpróbáltuk törölni őket, miközben futottak), ahhoz újra kell indítani a rendszert. Igen ám, csakhogy a vírus a rendszerrel együtt automatikusan indulóként jegyzi be magát a RAB-ba. Ezt a bejegyzést a Regedittel lehet eltávolítani: nyissuk meg a már említett módon, és a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run és/vagy a HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run kulcs
alatt töröljünk minden sort, (jobb egérgomb/Törlés), ami a SHIMGAPI.DLL és a TASKMON.EXE fájlokra mutat (szerepel a vírusfájlok neve a sorban). Most már újraindíthatjuk a rendszert anélkül, hogy a vírus elindulna, és szinte bizonyosan törölhetjük a vírusfájlokat.

További információk 
 Microsoft Tudásbázis: 256986 – A Microsoft Windows rendszerleíró adatbázisának ismertetése (magyar nyelvű)

Rendszerleíróadatbázis