Registrul Windows ( Registrul Windows în engleză ) sau registrul de sistem este o bază de date construită ierarhic de parametri și setări în majoritatea sistemelor de operare Microsoft Windows .
Registrul conține informații și setări pentru hardware , software , profiluri de utilizator, presetări. Majoritatea modificărilor din Panoul de control , asocierile de fișiere, politicile de sistem, lista de software instalat sunt fixate în registry.
Registrul Windows a fost introdus pentru a organiza informațiile care au fost stocate anterior în multe fișiere INI , pentru a oferi un singur mecanism (API) pentru scrierea / citirea setărilor și pentru a scăpa de problemele numelor scurte, lipsa drepturilor de acces și accesul lent la fișierele ini stocate. pe sistemul de fișiere FAT16 , care a avut probleme serioase de performanță la căutarea fișierelor în directoare cu un număr mare de ele. De-a lungul timpului (în cele din urmă - odată cu apariția sistemului de fișiere NTFS ), problemele rezolvate de registry au dispărut, dar registry a rămas din cauza compatibilității cu versiunea inversă și este prezent în toate versiunile de Windows, inclusiv cea mai recentă. Deoarece în prezent nu există o condiție prealabilă reală pentru utilizarea unui astfel de mecanism, Microsoft Windows este singurul sistem de operare (în afară de ReactOS și eComStation ) utilizat astăzi care utilizează mecanismul de registru al sistemului de operare.
Registrul în sine ca bază de date ierarhică arborescentă (bază de date de înregistrare - bază de date de înregistrare) a apărut pentru prima dată în Windows 3.1 ( aprilie 1992 ). Era doar un fișier binar numit REG.DAT și a fost stocat în directorul C:\Windows\. Registrul Windows 3.1 avea o singură ramură HKEY_CLASSES_ROOT. A servit la comunicarea DDE și mai târziu a obiectelor OLE .
Concomitent cu apariția registrului în Windows 3.1, a apărut programul REGEDIT.EXE pentru a vizualiza și edita registrul.
Primul registry avea deja capacitatea de a importa date din fișiere *.REG . Distribuția de bază a inclus fișierul SETUP.REG care conține date despre principalele extensii și tipuri de fișiere.
Windows Registry 3.1 avea o limită de dimensiune maximă de 64 KB pentru fișierul REG.DAT. Dacă registry depășea această dimensiune, fișierul registry (REG.DAT) trebuia șters și reconstruit fie din fișiere *.REG, fie introdus manual.
Următorul pas a fost făcut în Windows NT 3.1 ( iulie 1993 ). Fișierele MS-DOS învechite AUTOEXEC.BAT și CONFIG.SYS au fost eliminate , precum și fișierele INI ca fișiere de configurare principale. Întreaga configurație a sistemului a fost transferată în „baza de date de înregistrare” (registru). Registrul este baza configurației sistemului. Avea 4 partiții rădăcină: HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT și HKEY_USERS.
Registrul a devenit „prefabricat”: a fost stocat pe disc în fișierele: DEFAULT, SOFTWARE, SYSTEM, iar la pornirea sistemului, din aceste fișiere a fost asamblată o singură bază de date.
Fișierul REGEDIT.EXE a rămas în kitul de distribuție, care încă permitea vizualizarea și editarea doar a ramurii HKEY_CLASSES_ROOT și a apărut fișierul REGEDT32.EXE, care a editat toate ramurile de registry.
În plus, tehnologia și ideologia (scopul) registrului nu s-au schimbat. Toate versiunile ulterioare de Windows (NT 3.5, 95, NT 4.0, 98, 2000, XP, Vista, 7, 8, 10) au folosit registry ca bază de date principală care conține toate datele de configurare de bază atât pentru sistemul de operare în sine, cât și pentru programele de aplicație. În plus, numele fișierelor de registry și locația acestora, precum și numele și scopul cheilor s-au schimbat.
Registrul, așa cum este utilizat de Windows și așa cum este văzut de utilizator în procesul de utilizare a programelor de registry, este format din diverse date. Pentru a obține ceea ce vede utilizatorul la editarea registrului, se întâmplă următoarele.
Inițial, în timpul instalării unui setup Windows, pe disc sunt generate fișiere care stochează unele dintre datele legate de configurația sistemului.
Apoi, în timpul fiecărei porniri a sistemului, precum și la fiecare conectare și deconectare a fiecărui utilizator, se formează o anumită entitate virtuală numită „registry” - obiectul REGISTRY \. Datele pentru formarea „registrului” sunt parțial preluate din aceleași fișiere (Software, Sistem ...), parțial din informațiile colectate de ntdetect în timpul pornirii (HKLM\Hardware\Description). Adică, o parte din datele de registry sunt stocate în fișiere, iar o parte din date se formează în timpul procesului de pornire Windows.
Ramurile de registry sunt disponibile pentru editarea, vizualizarea și studierea registrului folosind instrumente standard Windows (programele regedit.exe și regedt32.exe). După editarea registrului și/sau modificarea acestuia, aceste modificări sunt imediat scrise în fișiere. Cu toate acestea, există programe terțe care vă permit să lucrați direct cu fișiere.
Programele de optimizare a registrului, tweakers , precum și programele de instalare și dezinstalare funcționează prin funcții speciale de registry.
În Windows 2000, numărul de stupi de registry a rămas același ca în Windows NT 5.0.
5 stupi, dintre care unul este o referință cheie în HKEY_USERS. Stupul în sine se numește HKEY_CURRENT_USER
În Windows XP, fișierele de registry sunt stocate în următoarele locații:
În Windows Vista, fișierele de registry sunt stocate în același loc ca în Windows XP.
Pe Windows 7, conform HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist, fișierele de registry sunt stocate în următoarele locații:
Fișierele de registry DEFAULT, SAM, SECURITY, SOFTWARE și SYSTEM sunt salvate în folderul %SystemRoot%\System32\config\RegBack. Backup-ul în sine este efectuat de către Task Scheduler la 0000 de ore. la fiecare 10 zile de sarcina „RegIdleBackup” situată în ierarhia sarcinilor de-a lungul căii „\Microsoft\Windows\Registry”.
Ramura de registry „HKEY_CURRENT_USER” este formată din fișierul „%USERPROFILE%\NTUSER.DAT”, unde %USERPROFILE% înseamnă calea către folderul utilizatorului curent.
Registrul pentru versiunile pe 64 de biți ale Windows XP și Windows Server 2003 și Windows Vista este subdivizat în chei pe 32 de biți și 64 de biți. Majoritatea partițiilor pe 32 de biți au aceleași nume ca și omologii lor pe 64 de biți și invers. În mod implicit, Editorul de Registry pentru versiunile pe 64 de biți ale Windows XP, Windows Server 2003 și Windows Vista afișează chei pe 32 de biți sub HKEY_LOCAL_MACHINE\Software\WOW6432Node.
Această secțiune conține setări pentru utilizatorul activ curent conectat la sistem. Dosarele utilizatorului, culorile ecranului și setările panoului de control sunt stocate aici. Aceste informații sunt asociate cu un profil de utilizator. Abrevierea HKCU este uneori folosită în locul numelui complet al secțiunii. [2] Deși această cheie arată ca una dintre cele principale din Editorul de registru, este doar un link către unul dintre profilurile HKEY_USERS\.
Cheia HKEY_USERS (alias HKU) conține informații despre profilurile tuturor utilizatorilor de pe acest computer. Această secțiune nu este aproape niciodată folosită de utilizatori. Rețineți relația dintre această cheie rădăcină și cheia HKEY_CURRENT_USER, care este de fapt un link către o subsecțiune a cheii rădăcină HKEY_USERS care stochează informații despre utilizatorul curent.
Această secțiune conține setări de configurare specifice acestui computer (pentru toți utilizatorii). Abrevierea HKLM este uneori folosită în locul numelui complet al secțiunii. [2]
Este o subcheie pentru HKEY_LOCAL_MACHINE\Software\Classes. Conține în principal informații despre tipurile de fișiere înregistrate și despre obiectele COM și ActiveX . Abrevierea HKCR este uneori folosită în locul numelui complet al secțiunii. Începând cu Windows 2000, aceste informații sunt stocate atât în LOCAL_MACHINE, cât și în CURRENT_USER. Cheia HKLM\Software\Classes conține setări implicite care se aplică tuturor utilizatorilor de pe computerul local. Setările conținute în secțiunea HKCU\Software\Classes se aplică numai utilizatorului curent, având prioritate față de cele implicite. Secțiunea CLASSES_ROOT include date din ambele surse. În plus, secțiunea CLASSES_ROOT oferă date agregate pentru programele scrise pentru versiunile anterioare de Windows. Modificările la setările utilizatorului curent sunt făcute în cheia HKCU\Software\Classes. Modificarea parametrilor impliciti trebuie făcută în secțiunea HKLM\Software\Classes. Datele din partițiile adăugate la CLASSES_ROOT vor fi stocate de sistem în partiția HKLM\Software\Classes. Dacă o setare este modificată într-una dintre subsecțiunile secțiunii CLASSES_ROOT și o astfel de subsecțiune există deja în HKCU\Software\Classes, atunci secțiunea HKCU\Software\Classes va fi folosită pentru a stoca informații, și nu secțiunea similară din LOCAL_MACHINE. [2]
Această secțiune conține informații despre profilul hardware utilizat de computerul local la pornirea sistemului. [2] Este un link către HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current
Această cheie există numai în registrul Windows 9x/ME OS. Conține date care se schimbă dinamic despre computer (încărcarea procesorului, dimensiunea fișierului de paginare etc.). [2]
Modul în care parametrii și setările sistemului de operare sunt stocați folosind registrul Windows este adesea criticat din următoarele motive:
Criticii citează ca exemplu sistemele de operare UNIX - precum sistemele de operare, unde nu există un registru și sarcinile pe care le îndeplinește sunt rezolvate prin alte mijloace.
Există programe reclame fără scrupule care promit, printre altele, optimizarea registrului. Ele pot fi folosite atât pentru a profita de pe urma vânzării la un preț nerezonabil de mare, cât și pentru a răspândi viruși. Astfel de programe nici măcar nu funcționează în teorie, deoarece este inutil să defragmentezi fișierele de registry mari, care sunt și fișiere de sistem.
Descrierea registrului în literatura engleză, printre altele, folosește termenul Hive . În unele lucrări, este tradus în rusă ca „copac”. Microsoft traduce acest lucru ca stup în documentele lor . De exemplu:
Stup de registry HKEY_LOCAL_MACHINE\SAM == Stup de registry HKEY_LOCAL_MACHINE\ SAM [2] [4]
Un arbore de registry (stup) este un subset de chei de registry, subchei și setări asociate cu un set de fișiere auxiliare care conțin copii de rezervă ale acestor date. [2]