Registru

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Registrul de sistem , în informatică , indică baza de date în care sunt păstrate opțiunile și setările ( setările ) unui sistem de operare de tip Microsoft Windows și toate aplicațiile instalate . Conceptul de registru este strâns legat de logica sistemelor de operare Microsoft , care stochează toate setările lor într-un număr mic de fișiere (în Unix există fișiere de configurare pentru fiecare pachet instalat). Pentru a-l accesa, trebuie să tastați regedit în caseta de rulare , care poate fi invocată apăsând tasta Windows + r.

Istorie

Registrul de sistem datează înainte de Windows 95 : prima sa implementare datează de la Windows 3.0 , de la care a evoluat de-a lungul anilor (și cu diferitele versiuni de Windows) până la cea mai recentă încarnare, cea a Windows 10 .

Windows 3.0

Introducerea registrului în Windows 3.0 a fost necesară prin două caracteristici noi ale acelei versiuni de Windows:

  • Platforma Microsoft de legare și încorporare a obiectelor (OLE) , care pentru funcționarea sa avea nevoie de un depozit stabil pentru a stoca componentele OLE instalate în sistem; Această cerință a fost îndeplinită prin adăugarea secțiunii [Embedding] în fișierul WIN.INI.
  • Managerul de fișiere și Managerul de programe , pentru care era necesară o locație pentru a păstra asocierile dintre tipurile de fișiere și aplicațiile care le-au gestionat, care a fost creat în fișierul WIN.INI ca secțiunea [Extensions] .

Prin urmare, registrul, chiar în prima sa versiune, rezida în întregime în fișierul WIN.INI.

Acesta este un exemplu al secțiunii [Extensions] :

 [Extensii]
bmp = PBrush.exe ^ .bmp ^ .dib
crd = CardFile.exe ^ .crd
wri = Write.exe ^ .wri

După cum puteți vedea, fiecare aplicație are una sau mai multe extensii de nume de fișier asociate.

În schimb, a fost utilizată o structură diferită în secțiunea [Embedding] :

 [Încorporare]
Mplayer = Media Clip, Media Clip, MPlayer.exe, imagine
Paintbrush.Picture.1 = Paintbrush Picture, Paintbrush Picture 1.0, C: \ Windows \ PBrush.exe, imagine

Aici, lângă ID-ul programatic (eventual completat cu numărul versiunii), apar numele generic al clasei, numele specific acestei versiuni a clasei, calea programului capabil să creeze obiecte din această clasă ( fabrica de obiecte ; în Limba engleză în mod necorespunzător din fabrică, clasele din fabrică) și tipul obiectului.

Windows 3.1

Registrul Windows 3.0 a fost sever penalizat prin reședința într-un fișier text; în Windows 3.1, această limitare a fost rezolvată prin mutarea întregului registru într-un singur fișier non-text, REG.DAT. Acest fișier a fost cu siguranță o îmbunătățire față de WIN.INI, dar avea în continuare o limită la dimensiunea maximă de 64 KB ; această limitare severă a însemnat că dezvoltatorii de software au continuat să folosească fișiere externe pentru a stoca setările aplicației lor.

Windows 95/98

În Windows 95 , structura de registry a fost complet reproiectată: nu numai că a fost separată în două fișiere (USER.DAT și SYSTEM.DAT), dar și aproape toate constrângerile impuse anterior (cea a dimensiunii maxime în primis) au fost, de asemenea, eliminate și a promovat utilizarea masivă ca înlocuitor pentru fișierele de configurare externe.

Windows NT / 2000 / XP

În scopul unui sistem de operare sigur, Windows NT și sistemele derivate din acesta au adoptat o strategie suplimentară: fiecare cheie (nod) a registrului are propria listă de control al accesului (ACL) , care vă permite, prin urmare, să specificați restricții în pe utilizatorul care încearcă să o acceseze. În plus față de această diferență importantă, și aici registrul a fost împărțit în mai multe fișiere, deși într-un mod diferit, și fiecare profil de utilizator include o versiune privată a cheii de setări a utilizatorului, HKEY_CURRENT_USER .

Descriere

Registrul Microsoft Windows

În sistemele Windows, registrul de sistem a fost introdus începând de la versiunea Windows 3.0 și a permis eliminarea gestionării prin fișierul INI a informațiilor referitoare la:

Politica de grup

De la apariția Windows 95 , administratorii de sistem au putut adăuga fișiere speciale în registru, numite fișiere de politici de grup, care permit reducerea sau inhibarea accesului la anumite chei de registry (de exemplu, pentru a face imposibilă modificarea setărilor grafice shell) ; extensia pentru aceste fișiere este .POL. Politicile de grup pot acționa asupra unui singur utilizator sau asupra unui grup de utilizatori; eficacitatea este garantată de aplicația indirectă la registru, care, prin urmare, împiedică utilizatorii care sunt supuși restricțiilor să modifice valorile specificate în criterii. Fișierele de politici sunt de obicei distribuite computerelor de către administrator prin rețeaua locală, dar pot fi plasate și direct pe computerele afectate.

Pentru a crea și edita fișiere de politică de grup, Microsoft oferă un program Windows 9x , POLEDIT.EXE; pentru sistemele derivate din Windows NT , este disponibil un plugin MMC , însă este dezactivat în Windows XP Home . Pluginul MMC necesită să fie rulat de un utilizator cu privilegii administrative; poate acționa la registrul mașinii la nivel local, precum și se poate conecta la un registru de sistem la distanță și poate funcționa în acest sens. Setările pe care programul le permite să le modificați sunt stocate în fișiere .ADM; shell-ul Windows, EXPLORER.EXE, include unul dintre aceste fișiere. Fișierele ADM sunt fișiere text simple, cu suport de localizare oferit de gruparea tuturor textelor într-un singur punct.

Puncte tari

În comparație cu fișierele INI clasice, registrul oferă următoarele avantaje:

  • omogenitatea formatului și a constrângerilor permite executarea scripturilor fără a fi nevoie să le modificați pentru fiecare aplicație
  • deoarece este format dintr-un număr mic de fișiere în locații cunoscute, copierea de rezervă este simplă
  • registrele centralizate și politicile de grup facilitează gestionarea centralizată de către administratori
  • deteriorarea registrului este un eveniment foarte rar și sunt prevăzute sisteme automate de protecție, backup și recuperare
  • utilizatorii fără experiență manipulează rar registrul, făcând daune, în timp ce fișierele text separate sunt mai ușor supuse modificărilor accidentale, atât ca rezultat al editării, cât și al operațiilor sistemului de fișiere
  • setările la nivel de computer sunt separate de setările individuale ale utilizatorului

Deoarece Windows folosește și convențiile sistemelor de operare în stil Unix (foldere separate pentru utilizatori care conțin fișierele de configurare ale tuturor programelor utilizate de utilizator), această caracteristică poate fi obținută și în alt mod.

Gestionarea centralizată de către administratori se poate obține, de asemenea, cu un sistem de rânduri în alte moduri

Puncte slabe

Registrul nu este panaceul tuturor problemelor de configurare a software-ului. În special:

  • Un registru deteriorat poate face sistemul de operare inutilizabil, oferind uneori o reinstalare completă a sistemului ca singură ieșire.
  • Pentru a manipula registrul, programele trebuie să utilizeze funcțiile corespunzătoare ale API-ului Windows , în timp ce un fișier de configurare text normal poate fi procesat cu funcțiile normale de manipulare a fișierelor. Această obligație se aplică și utilizatorilor, care trebuie să utilizeze programul REGEDIT.EXE pentru a accesa registrul, în timp ce orice aplicație de procesare de text este suficientă pentru fișierele de configurare comune. Acest lucru poate fi văzut și ca un avantaj, deoarece descurajează manipularea de către utilizatori neexperimentați.
  • Fișierele INI conțin adesea comentarii pentru a explica modul în care utilizatorul poate acționa pentru a modifica configurația aplicațiilor, în timp ce registrul nu include comentarii.
  • Datorită faptului că diferitele fișiere care alcătuiesc registrul sunt întotdeauna deschise (din motive de performanță) de către sistemul de operare, copierea de rezervă a acestora este posibilă doar folosind instrumente speciale, cum ar fi NTBACKUP.EXE.

În plus, registrul poate suferi o degradare a performanței dacă pachetul de instalare este slab construit și nu elimină unele intrări în timpul dezinstalării. Constructorii de instalatori comerciali nu sunt de obicei predispuși la aceste probleme. În orice caz, este o bună practică să curățați în mod regulat registrul.

Probleme cu sistemele de operare Windows 9x și curățarea registrului

Pe computerele cu Windows 9x , o instalare a sistemului de operare care este prea veche poate fi supusă unor încetiniri considerabile din cauza unei dimensiuni excesive a registrului, care penalizează performanța sistemului, în special la pornire, și este adesea cauza instabilității sistemul în sine; frecvența acestei circumstanțe a dus la asocierea „registru → instabilitate”, care este totuși mai puțin întemeiată pentru sistemele de operare bazate pe Windows NT . Cu toate acestea, există programe care pot curăța registrul.

De asemenea, ar trebui să se ia în considerare faptul că memoria cache Windows diferită, precum și alte setări care nu pot fi șterse (sau readuse la condițiile inițiale) cu comenzile sistemului de operare se află în registru și, pentru a opera, puteți acționa numai asupra registrului. Prin urmare, este recomandabil, înainte de a efectua modificări, să faceți o copie de rezervă a registrului pentru a-l putea recupera în caz de probleme. [ neclar și foarte pleonastic ]

Alternative la registru în alte sisteme de operare

Necesitatea de a păstra fișierele de configurare separate este resimțită și în alte sisteme de operare, dar abordarea constă de obicei în gruparea lor în foldere speciale din sistemul de fișiere , cum ar fi folderul Preferences din Mac OS sau folderul /etc și folderele ascunse (adică cei al căror nume începe cu un punct) în interiorul casei în sisteme asemănătoare Unix . Cu această abordare, protecția diferitelor grupuri de setări se bazează direct pe permisiunile de acces ale sistemului de fișiere gazdă; în plus, singurul eveniment capabil să submineze stabilitatea acestui sistem este corupția sistemului de fișiere, care ar avea în continuare repercusiuni grave asupra întregului sistem. Împărțirea în mai multe părți le permite utilizatorilor să nu trebuiască să manipuleze fișiere cruciale pentru sistemul de operare doar pentru a schimba preferințele unui program; intervențiile asupra fișierelor de setări importante rămân astfel un eveniment rar.

Poziţie

În funcție de versiunea de Windows, registrul este stocat într-unul sau mai multe fișiere în locații cunoscute, dar întotdeauna pe același computer; singura excepție, numai începând cu Windows NT , este dată de fișierul de profil privat al fiecărui utilizator care, datorită caracteristicii profilurilor la distanță , poate locui pe o mașină (gazda profilului) accesibilă prin rețea.

Windows 3.0

Registrul, în această primă versiune, este pur și simplu o abstracție a secțiunilor [Extensions] și [Embedding] ale fișierului WIN.INI.

Windows 3.1x

În aceste versiuni de Windows , registrul se află fizic în fișierul REG.DAT, situat în folderul de instalare Windows (de obicei C:\WINDOWS ).

Windows 9x

În Windows 95 și Windows 98 registrul este stocat în fișierele USER.DAT și SYSTEM.DAT, aflate în folderul de instalare Windows (de obicei C:\WINDOWS ).

Windows Me

Locația registrului în Windows Me este identică cu predecesorii săi Windows 9x , cu adăugarea fișierului CLASSES.DAT.

Windows NT / 2000 / XP

În Windows NT și sistemele sale de operare derivate ( 2000 , XP și Server 2003 , registrul este compus din câteva fișiere situate în %SystemRoot%\System32\Config (toate fără extensie ):

  • SAM
  • Securitate
  • Software
  • Sistem
  • Mod implicit
  • UserDiff

În plus, o versiune personalizată a acestor fișiere este stocată în fiecare folder de profil de utilizator:

  • NTUser.dat

Structura

Registrul este organizat într-o ierarhie provenind din unele secțiuni principale; fiecărui nod al ierarhiei i se spune cheia (cheia) și fiecare nod poate conține unul sau mai multe elemente de date, respectivele valori (valori), dintre care unul este anonim (compatibilitate veche).

Primele chei de nivel ( chei rădăcină , chei rădăcină ) au numele complet în majuscule cu „HKEY” ca prefix, de la abrevierea de la mâner la o cheie (care provine din API-ul Windows), traductibilă ca referință la cheie ; numele lor sunt de obicei scurtate la o abreviere de trei sau patru litere, prefixată cu „HK”.

Calea către o cheie este indicată cu o sintaxă similară cu căile de fișiere din Windows, folosind astfel caracterul "\" ( backslash ) ca separator ; de exemplu, HKEY_CURRENT_USER\Software\Microsoft\Windows identifică cheia Windows conținută în cheia Microsoft conținută în Software , care la rândul ei este conținută în cheia principală HKEY_CURRENT_USER .

În mod similar, o valoare este identificată de calea alăturată cu numele valorii în sine, ca în HKEY_CURRENT_USER\Software\Microsoft\Windows\Version , care identifică valoarea Version conținută în cheia Windows etc.

O valoare poate consta din:

  • un șir de caractere ( valoarea șirului , din punct de vedere tehnic REG_SZ )
  • o secvență arbitrară de octeți ( valoare binară , REG_BINARY )
  • un număr de 32 de biți (care, prin urmare, admite valori de la 0 la 4.294.967.295, adică 2 32 - 1) ( valoare dword , REG_DWORD )
  • un grup de șiruri de caractere ( valoare multi-șir , REG_MULTI_SZ )
  • un șir cu referințe la variabilele de mediu ( extinderea valorii șirului , referitoare la substituirea dinamică a variabilelor de mediu (extindere) efectuată atunci când se citește valoarea în sine; denumire tehnică REG_EXPAND_SZ )
  • o valoare amorfă (adică fără niciun tip deja definit; notată cu REG_NONE )

Sunt definite și alte tipuri de valori, dar sunt utilizate numai în contexte particulare, cum ar fi pentru stocarea configurației unui driver Plug and Play (diverse nume tehnice, inclusiv REG_RESOURCE_REQUIREMENTS_LIST ).

Tasta HKEY_CLASSES_ROOT

HKEY_CLASSES_ROOT (prescurtat la HKCR ) stochează informații despre aplicațiile înregistrate, cum ar fi asociațiile de tipuri de fișiere și clasele OLE . Începând cu Windows 2000 , HKCR este o fuziune (dinamică) a HKCU\Software\Classes și HKLM\Software\Classes . Dacă există o valoare dată în ambele structuri, cea din HKCU\Software\Classes are prioritate.

Tasta HKEY_CURRENT_USER

HKCU abreviat, HKEY_CURRENT_USER este locul în care sunt stocate toate datele jurnalului legate de profilul utilizatorului activ. HKCU este o legătură simbolică către cheia de utilizator conținută în HKEY_USERS . „Utilizator” = hex (0): 73.6c, 74.61.6e, 37.35.00

Cheia HKEY_LOCAL_MACHINE

HKEY_LOCAL_MACHINE , prescurtat HKLM , conține setări comune tuturor utilizatorilor sistemului. Configurația hardware a computerului este stocată în subcheia sa de System .

Tasta HKEY_USERS

Tasta HKEY_USERS (prescurtată HKU ) conține cheile HKEY_CURRENT_USER ale tuturor utilizatorilor conectați la sistem.

Tasta HKEY_CURRENT_CONFIG

HKEY_CURRENT_CONFIG , prescurtat HKCC , este locul în care sunt colectate informații volatile despre sesiune. Această cheie rădăcină este prezentă numai în registrul versiunilor derivate din Windows NT .

Cheia HKEY_DYN_DATA

HKDD abreviat, HKEY_DYN_DATA conține statistici de performanță care pot fi vizualizate cu monitorul sistemului ( SYSMON.EXE ). Această cheie rădăcină este prezentă numai pe sistemele de operare Windows 95 (95, 98 și ME).

Editați | ×

Interfață grafică

Microsoft TweakUI pentru Windows

Pentru a edita manual registrul, Microsoft oferă o aplicație specială, REGEDIT.EXE sau REGEDT32.EXE (în funcție de versiunea sistemului) cu sistemele sale de operare Windows . Disponibilitatea unei aplicații pentru a modifica registrul, însă, nu implică faptul că aceasta este o operațiune pentru toată lumea: o neglijență în timpul modificării registrului poate duce la inutilizarea sistemului; tocmai datorită delicateții acestei operațiuni, mulți producători de software oferă aplicații specializate de editare a registrelor cu o interfață grafică mai asemănătoare cu Panoul de control și, prin urmare, mai familiare utilizatorului mediu; unele companii produc, de asemenea, programe pentru curățarea automată a registrului, ceea ce este, de asemenea, potențial periculos.

Chiar și Microsoft în sine oferă gratuit un mic program numit TweakUI , care vă permite să modificați mulți parametri ai interfeței grafice Windows și să faceți câteva mici optimizări.

O scurtă istorie a REGEDIT (și REGEDT32)

Un instrument primordial pentru editarea registrului a apărut cu Windows 3.1 , sub numele Editorului informațiilor de înregistrare (Editor informații de înregistrare, în versiunea în limba engleză ), REGEDIT.EXE; scopul principal al acestui program a fost de a modifica asocierile de fișiere și înregistrările componentelor OLE .

Odată cu introducerea Windows NT , nou-născutul API Win32 a introdus conceptul de permisiuni de acces și pentru cheile de registry; pentru a le gestiona corect împreună cu celelalte funcții noi ale registrului, a fost creat special un nou program, REGEDT32.EXE, mult mai complet decât predecesorul său de 16 biți REGEDIT.EXE.

Editor de registry Windows Vista, identic din punct de vedere estetic cu strămoșul său pentru Windows 95

Câțiva ani mai târziu, odată cu apariția Windows 95 , REGEDIT.EXE a fost redenumit ca actualul Editor de registry și a fost portat pe 32 de biți . Cu toate acestea, acest lucru nu a implementat secțiunea de securitate Win32, deci a rămas un produs autonom, cu o cale de producție separată de cea a REGEDT32.EXE. Această situație a rămas neschimbată chiar și cu introducerea Windows 98 , deoarece a fost doar o evoluție modestă a Windows 95, cel puțin din punct de vedere al securității. Noul REGEDIT.EXE avea o interfață cu utilizatorul mai funcțională și mai atractivă decât analogul său pentru Windows NT; cu toate acestea, a reușit să manipuleze doar un subset al tipurilor de date furnizate de Win32 și, așa cum s-a menționat mai sus, nu a permis modificarea permisiunilor de acces la chei (care, de fapt, erau absente).

Ulterior, mai întâi cu Windows NT 4.0 și apoi cu Windows 2000 , ambele instrumente au fost distribuite. Acest lucru a lăsat utilizatorilor alegerea între un program mai dur, dar eficient sau un program cu o interfață de utilizator mai familiară și mai practică (similară din toate punctele de vedere cu Windows Explorer ), dar care nu le-a permis să exploateze toate posibilitățile sistemului. . În special, faptul că REGEDIT.EXE nu poate gestiona multe dintre tipurile de date ale puternicului registru Windows NT și descendenții acestuia, modificarea unei valori de tip de date necunoscute în REGEDIT.EXE ar putea duce la corupția valorii, cu implicații majore asupra sistemului stabilitate.

În cele din urmă, cu Windows XP , cele două programe au fost îmbinate într-un singur descendent, aplicând practic interfața convenabilă a utilizatorului REGEDIT.EXE la REGEDT32.EXE mai sofisticat. Rezultatul se numește REGEDIT.EXE și există un mini-program numit REGEDT32.EXE care indică întotdeauna REGEDIT.EXE.

Linie de comanda

Pentru sistemele bazate pe Windows NT există un instrument care vă permite să operați registrul din linia de comandă . Este inclus în Windows XP ca REG.EXE și este disponibil separat pentru versiunile anterioare ale sistemului de operare Microsoft. Comanda poate fi invocată cu această sintaxă:

 REG.EXE [CERERE | ADĂUGARE | ȘTERGERE | COPIERE | SALVARE | ÎNCĂRCARE | DESCĂRCARE | RESTAURARE | COMPARARE | EXPORT | IMPORT] [ listă parametri ]

În plus, aplicația de interfață grafică REGEDIT.EXE vă permite, de asemenea, să operați prin linia de comandă, limitată la importul de fișiere .REG (porțiuni din registru stocate în format text):

 Fișier regedit.exe / s

Comutatorul / s indică funcționarea în modul silențios, fără interacțiunea utilizatorului; dacă este omis, programul va cere utilizatorului să confirme operațiunea. În Windows 95 și Windows 98 opțiunea / s a ​​fost executată corect chiar și în prezența unui posibil bloc administrativ al programului. Spre deosebire de REG.EXE, REGEDIT.EXE nu returnează un cod de eroare adecvat (ERRORLEVEL) atunci când este utilizat pentru a importa un fișier, ceea ce complică tratarea erorilor în scripturile automate ; O modalitate de a determina succesul unei operațiuni de import este să verificați mai târziu dacă este posibil să exportați cheia pe care ați încercat să o importați:

 regedit / s Import.reg
regedit / și TestExport.reg "Cheie de importat"
dacă nu există TestExport.reg merge la ImportError
din TestExport.reg
Goto Exit
: ImportError
echo Eroare la importarea în registru.
: Ieșire

Operația implicită asociată tipului de fișier .REG, începând de la Windows 98 , corespunde importului cu o cerere de confirmare de către utilizator; în Windows 95 , asocierea a fost aceeași, cu diferența că nu s-au pus întrebări și, prin urmare, a fost o cauză potențială a erorilor.

Elemente conexe

Alte proiecte

linkuri externe