Főoldal » 2013 » Március » 2 » A Registry felépítése
18:14:42
A Registry felépítése
Egy kis előszó:
A regisztrációs adatbázis (Registry) fogalma a Windows 95 óta létezik. Az MS-DOS-ban az operációs rendszer konfigurálásának fő eszközei az "autoexec.bat" és "config.sys" fájlok voltak.
Később a Windows 3.1 és társai már használtak ezen kívül más állományokat is (system.ini, win.ini, progman.ini, stb.).
 
A Windows 95 jelentette az első lépést egy központi adatbázis megteremtésében, ahol tárolható minden rendszerszintű beállítás, azonban nem szakított még teljesen a hagyományos megoldásokkal, tehát léteztek mellette a fenti fájlok.
 
Döntő lépést a Windows 98 sem hozott, tulajdonképpen nincs jelentős eltérés a Registry szerkezetében sem, mérete jelentősen megnövekedett, de az optimalizált kódnak köszönhetően gyorsult a használata.
 
A Windows NT 4.0 megjelenésével történt egy nagy lépés, teljesen nélkülözhetővé váltak a konfigurációs állományok (ez nem azt jelenti, hogy minden alkalmazás élt is ezzel a lehetőséggel), ehhez képest a Window 2000-ben tovább tökéletesedett a rendszer. Minden rendszerszintű beállítás belekerült a Registry-be: a felhasználók, hardver elemek és alkalmazások beállításai is itt találhatók meg.
Mérete átlagosan 8-25 MB, de ez nem egy, hanem fizikailag több fájlban tárolódik a merevlemez különböző mappáiban.
Az egységes kezelőfelületek miatt gyakorlatilag nem kell azzal foglalkoznunk, hogy melyik beállítás melyik fájlban található.
 
Az NTFS fájlrendszernek és az új védelmi eljárásoknak köszönhetően megoldottá vált a védelem kiépítése, korábban az .INI "korszakban" erről nem beszélhettünk. Szerkezetét tekintve hierarchikus felépítésű úgynevezett faszerkezetet alkot.
 
Tehát akkor lássuk:
 
HKEY_CLASSES_ROOT (HKCR):
 
Alapvetően kétféle adatot tárol:
  • fájlkiterjesztésekhez rendelt alkalmazásokat
  • COM objektumok konfigurációs adatait
 
Ténylegesen nem egy önálló ágról van szó, hanem a HKEY_LOCAL_MACHINE\SOFTWARE\Classes és a HKEY_CURRENT_USER\SOFTWARE\Classes alágak másolatáról. Bármelyik helyen módosított adat átkerül a másik ágba is. Két egymásnak ellentmondó változtatás esetén az utóbbit veszi át. 
 
HKEY_CURRENT_USER (HKCU): 
 
Az aktuálisan bejelentkezett felhasználó beállításait tartalmazza, tulajdonképpen a felhasználói profil egy része. Az itt található információ az NTUSER.DAT fájlból töltődik be a bejelentkezést követően - amely a profilokban helyezkedik el (alapértelmezés szerint a \Documents and Settings\felhasználónév mappában). Az alkalmazások beállításait, képernyő színeket, biztonsági adatokat és egyéb egyéni beállításokat foglal magába. A klasszikus WIN.INI fájl továbbfejlesztésének tekinthető. Hasonló adatok találhatók a HKEY_LOCAL_MACHINE ágban is, de a HKEY_CURRENT_USER beállításai elsőbbséget élveznek, például a felhasználó által definiált környezeti változók felülírják a rendszerváltozókat (különben nem lehetne őket megváltoztatni). 
 
HKEY_LOCAL_MACHINE (HKLM)
 
A számítógép konfigurációs beállításait foglalja magába. Itt tárolódik a felhasználó lista, a hardverelemek illesztőprogramjai és a szoftverek konfigurációs adatai. A merevlemez %systemroot%\system32\config mappájában lévő fájlokban találhatók meg mindezek. 
HKEY_USER: 
 
Az alapértelmezett felhasználói profil (default profile) és a HKEY_CURRENT_USER egy részének másolatát foglalja magába. Az itt található almappák között a nevükbe foglalt felhasználói biztonsági azonosító (SID) szerint lehet különbséget tenni. 
 
HKEY_CURRENT_CONFIG: 
 
Az aktuálisan használt hardverprofilt tartalmazza. Ismét nem egy önálló ágról, hanem a HKEY_LOCAL_MACHINE\System\CurrentControlSet\Hardvare Profiles\Current másolatáról van szó. Megtalálhatók benne a rendszer illesztőprogramjainak és használandó szolgáltatásainak (services) konfigurációs paraméterei.
Ha rákattintunk a faszerkezetet kibontó + jelekre, megnyílnak az adatok és további mappák. A mappákat kulcsnak (key) nevezzük, létrehozásukhoz kattintsunk a Szerkesztés > Új > Kulcs (Edit > New > Key) menüpontra vagy egy üres ablakterületen a jobb oldali egérgombbal és a megjelenő menüben az Új > Kulcs (New > Key) sorra. Adatot létrehozni ugyanígy lehet, az alábbi típusok felhasználásával: 
 
REG_SZ = Karakterlánc (String Value): 
 
Egy egyszerű sztring (1 sor). 
 
REG_BINARY = Bináris érték (Binary Value): 
 
Bármilyen hexadecimális (vagy karakteres) formában megadott bitsorozat. 
 
REG_DWORD = Kétszó (DWORD): 
 
Kétszó vagy más néven duplaszó. 4 bájtból azaz 32 bitből álló decimális vagy hexadecimális szám. 
 
REG_EXPAND_SZ: 
 
0 végű tömörített karakterlánc a környezeti változók tárolására (pl. %PATH%). A feloldást az "ExpandEnvironmentStrings" Windows függvénnyel lehet elvégezni. 
 
REG_MULTI_SZ : 
 
Több soros karakterlánc. 
 
REG_DWORD_LITTLE_ENDIAN: 
 
Ugyanaz, mint a REG_DWORD csak "Little Endian" formátumban tárolva: 4 byte-os szám, ahol a legalacsonyabb byte a legalacsonyabb címen kap helyet, a következő előtte és így tovább - a 0x12345678 érték így tárolódik: 0x78 0x56 0x34 0x12. 
 
REG_DWORD_BIG_ENDIAN: 
 
4 byte-os szám "Little Endian" formátumban tárolva, ez az előző fordítottja: a legmagasabb byte van a legalacsonyabb címen - a 0x12345678 érték így tárolódik: 0x12 0x34 0x56 0x78. 
 
REG_LINK: 
 
Unicode szimbolikus link, belső használatra. Az alkalmazások nem használhatják ezt a típust. 
 
REG_NONE: 
 
Nem definiált értékű típus. 
 
REG_QWORD: 
 
64 bites szám. 
 
REG_QWORD_LITTLE_ENDIAN: 
 
64 bites szám " Little Endian" formátumban. 
 
REG_RESOURCE_LIST: 
 
Eszközmeghajtó program lista a hardver erőforrások számára vagy egy fizikai eszközvezérlő a \ResourceMap ágból. 
 
REG_RESOURCE_REQUIREMENTS_LIST: 
 
A lehetséges hardver erőforrások eszközmeghajtó listája vagy egy fizikai eszközvezérlő a rendszer által készített \ResourceMap ágból. 
 
REG_FULL_RESOURCE_DESCRIPTOR: 
 
Hardver erőforráslista a felismert, használt és \HardvareDescription ágban a rendszer által írt fizikai eszközökről.
 
 
Dióhéjban ennyi.
 
Kategória: Rendszer (Windows 7) | Megtekintések száma: 3140 | Hozzáadta: Gábor83

Hasonló anyagok:

Összes hozzászólás: 1

Gábor83 | 1. hozzászólás | Dátum: 2013.03.11

Nem kell köszönni, örömmel csináltam smile
Hozzászólásokat csak regisztrált felhasználók írhatnak.
[ Regisztráció | Belépés ]