Rozjaśnianie Rejestru

Chyba każdy użytkownik Windows zetknął się z Rejestrem. Mają go wszystkie wersje tego systemu i dla większości z nas jest niezgłębioną zagadką, a korzystanie z niego przypomina wiedzę tajemną.

Chyba każdy użytkownik Windows zetknął się z Rejestrem. Mają go wszystkie wersje tego systemu i dla większości z nas jest niezgłębioną zagadką, a korzystanie z niego przypomina wiedzę tajemną.

We właściwościach systemu Windows XP znajdziesz dostęp do zaawansowanych ustawień bez ręcznej edycji Rejestru.

We właściwościach systemu Windows XP znajdziesz dostęp do zaawansowanych ustawień bez ręcznej edycji Rejestru.

Rejestr Windows to specjalna baza danych, przeznaczona do przechowywania informacji konfiguracyjnych systemu i zainstalowanych programów. Dane są przechowywane w postaci klucz=wartość, a same klucze - odpowiednio skategoryzowane i posegregowane funkcjonalnie. Rejestr jest najbardziej newralgicznym elementem Windows. Jego brak lub uszkodzenie uniemożliwia uruchomienie systemu - nawet w trybie awaryjnym! Zdecydowana większość programów 32-bitowych przeznaczonych do Windows zapisuje swoją konfigurację i preferencje w Rejestrze. Stare programy 16-bitowe nadal korzystają z plików konfiguracyjnych INI, programy MS-DOS mają zazwyczaj własne pliki konfiguracyjne.

Struktura Rejestru

W Windows 95/98 Rejestr jest przechowywany w katalogu systemowym (zazwyczaj c:\windows) w dwóch plikach system.dat i user.dat (w Windows Me dodatkowo plik classess.dat), które mają atrybut tylko do odczytu, ukryty i systemowy. Nie jest możliwa zamiana ani skasowanie tych plików w czasie pracy systemu. W systemach Windows NT/2000/XP Rejestr jest przechowywany w postaci kilkunastu plików w katalogu %SystemRoot%\System32\Config (%SystemRoot% reprezentuje katalog systemowy np. c:\winnt). Dodatkowo, gdy komputer pracuje w domenie NT/Active Directory i używane są profile, każdy użytkownik ma w swoim profilu plik user.dat/ntuser.dat. W czasie logowania do Windows plik ten jest pobierany z kontrolera domeny, z katalogu zawierającego profil (np. \\serwer\Profiles\Jan_Kowalski).

Pięć głównych gałęzi Rejestru, widocznych w Edytorze Rejestru.

Pięć głównych gałęzi Rejestru, widocznych w Edytorze Rejestru.

W Windows NT/2000/XP elementem uzupełniającym Rejestr jest plik Config.pol (lub Ntconfig.pol) - system ładuje go w czasie logowania do sieci z katalogu Netlogon, znajdującego na kontrolerze domeny. W Windows 95 są dodatkowo pliki System.da0 i User.da0, kopie zapasowe Rejestru tworzone po każdym poprawnym uruchomieniu systemu. Windows 98 nie zawiera takich plików, ponieważ program Registry Checker tworzy kopie Rejestru w postaci plików CAB. Na Rejestr Windows składają się trzy elementy:

Gałęzie główne (kategorie) Jest ich sześć; nie można usuwać ani dodawać kategorii.

Klucze Przypominają folder na dysku. Mogą zawierać dodatkowe klucze i wartości. Możesz dodawać własne klucze i zmieniać nazwy istniejących. Klucz zawsze znajduje się w jakiejś gałęzi Rejestru, nie występuje poza nimi. Można dowolnie manipulować kluczami - usuwać je i dodawać. Klucz przypomina plik w Eksploratorze Windows.

Wielkość rejestru

Registry Size Limit (RSL) to limit wielkości Rejestru, który ma zapobiec unieruchomieniu systemu przez nadmierne powiększanie pliku Rejestru. Jest określany dynamicznie i wynosi maksymalnie około 25 procent pamięci wirtualnej (w Windows NT i 2000). Wartość tę można zmienić, wybierając Panel sterowania | System | Właściwości systemu | Zaawansowane | Opcje wydajności | Zmień. W dolnej części okna określa się nową wielkość maksymalną.

W Windows XP nie ma już RSL. Zazwyczaj nie trzeba go zmieniać w komputerach niepracujących w sieci.

Dane Widoczne są w prawym oknie Edytora Rejestru (kolumna Dane) i zawsze przyporządkowane określonej wartości; można je modyfikować.

Najważniejsze typy danych przechowywane w Rejestrze:

REG_DWORD - liczby lub wartości typu Boolean (0/1, prawda/fałsz)

REG_BINARY - liczby o długości większej niż 32 bity lub binarne dane - taki jak zaszyfrowane hasła czy numery seryjne

REG_SZ - są to po prostu ciągi znaków zapisywane w standardzie Unicode.

Główne gałęzie Rejestru

W gałęzi HKU zamiast nazwy użytkownika jest wykorzystywany identyfikator numeryczny SID (Security Identifier).

W gałęzi HKU zamiast nazwy użytkownika jest wykorzystywany identyfikator numeryczny SID (Security Identifier).

W Rejestrze jest sześć głównych gałęzi, które organizują wszystkie pozostałe wpisy: HKEY_USERS, HKEY_CLASSES_ROOT, HKEY_CURRENT_CONFIG, HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER, HKEY_USERS. Nie można dodawać nowych ani usuwać dodanych gałęzi głównych. Niektóre z gałęzi są tylko skrótami do jednej z dwóch podgałęzi HKEY_LOCAL_MACHINE lub HKEY_USERS. Nazwy wszystkich kluczy rozpoczynają się literą H, ponieważ są to uchwyty (ang. handles) dające dostęp do kluczy (ang. key). W dalszej części tekstu będziemy się posługiwać tylko skrótami nazw gałęzi Rejestru (np. HKLM zamiast HKEY_LOCAL_MACHINE).

HKEY_USERS - HKU

Zawiera informacje o wszystkich kontach w danej maszynie. Ma osobne gałęzie dla każdego użytkownika dysponującego kontem lokalnym w systemie - zgodnie z opisem w HKCU. Gałąź .DEFAULT zawiera ustawienia, których używa konto SYSTEM. Konta innych użytkowników są identyfikowane przez numeryczną wartość SID (Security Identifier).

HKEY_CURRENT_USER - HKCU

Ta gałąź zawiera informacje dotyczące ustawień i konfiguracji oprogramowania aktualnie zalogowanego użytkownika. Jest łączem do gałęzi kluczy użytkownika w gałęzi HKEY_USERS.

HKEY_CLASSES_ROOT - HKCR

Podgląd zawartości gałęzi HKCU w Edytorze Rejestru.

Podgląd zawartości gałęzi HKCU w Edytorze Rejestru.

To najstarsza gałąź - pojawiła się już w Rejestrze Windows 3.1 i została utrzymana ze względu na wymogi kompatybilności. Zawiera dwa rodzaje informacji - skojarzenia typów plików według ich rozszerzeń oraz informacje rejestracyjne klas OLE (Object Linking and Embedding). Każdy typ pliku ma tutaj własny klucz oraz definicje, jaki program ma otwierać, edytować czy odtwarzać pliki tego typu. Informacje rejestracyjne OLE umożliwiają natomiast programowi klienta OLE komunikację z serwerem OLE - czyli np. łatwe wklejanie arkusza Excela do dokumentu Worda.

HKEY_LOCAL_MACHINE - HKLM

Jest to bardzo ważna gałąź - zawarto w niej wiele kluczowych informacji i ustawień, samego systemu. Znajdziesz tu pięć podgałęzi: HARDWARE, SAM, SECURITY, SOFTWARE i SYSTEM.

HKLM\HARDWARE zawiera opisy sprzętu systemowego - przerwania, sterowniki i ich mapowanie do urządzeń. Dane, które się tutaj znajdują, są podczas każdego uruchomienia systemu zbierane przez program NTDETECT, a następnie przekazywane do jądra systemu po uruchomieniu go.

Edycja gałęzi HKCR - zmiana domyślnego polecenia otwierania plików TXT.

Edycja gałęzi HKCR - zmiana domyślnego polecenia otwierania plików TXT.

HKLM\SAM przechowuje informacje o lokalnych i domenowych kontach - takie jak hasła, definicje grup. Domyślnie klucza nie może odczytać żaden użytkownik - nawet administrator, zresztą przechowywane są w nim nieczytelne dane binarne, a hasła zapisane są w formie zaszyfrowanej (szyfrowanie jednokierunkowe).

HKLM\SECURITY przechowuje polisy użytkownika i grupy, np. ustawienia dotyczące restartowania komputera, uprawnień do zdalnego dostępu itd. Również gałąź SECURITY jest zaszyfrowana.

HKLM\SOFTWARE to gałąź służąca do przechowywania informacji o oprogramowaniu zainstalowanym w systemie. Jest analogiczna do HKCU\Software, tyle że informacje o ścieżkach, licencji, plikach programu dotyczą wszystkich użytkowników, którzy zalogują się do systemu.


Zobacz również