Rejestr systemu Windows. Budowa rejestru, główne klucze. Czyszczenie rejestru, wykonanie kopii zapasowej.

Systemy Windows przed Windows 98 przechowywały konfigurację systemu operacyjnego i zainstalowanych aplikacji w plikach .ini. Były one jednak niewygodne, nieporęczne i mogły zostać łatwo uszkodzone lub usunięte.

Rejestr systemu Windows

Scentralizowana, hierarchiczna baza danych przechowująca informacje potrzebne do konfiguracji systemu dla jednego lub wielu użytkowników, aplikacji oraz urządzeń.

Rejestr zawiera informacje, do których system Windows odnosi się cały czas podczas pracy, np. profile każdego z użytkowników, konfiguracje aplikacji zainstalowanych na komputerze, typy plików i ich ikonki czy wreszcie informacje o sprzęcie obecnym w komputerze i o tym, jakie porty są używane. Dostęp do rejestru został nieco ograniczony, aby niedoświadczeni użytkownicy nie uszkodzili systemu operacyjnego - choćby przez nieumiejętne wprowadzenie zmian czy usunięcie "niepotrzebnych" kluczy.

Informacje do rejestru dodaje:

  • sam system - w zakresie instalacji sprzętu czy konfiguracji systemu,
  • instalatory aplikacji i same aplikacje - w zakresie własnej konfiguracji.

Dzięki temu eliminuje się ingerencję użytkownika, co wprost ogranicza ilość uszkodzeń komputera spowodowanych nieprawidłową konfiguracją (por. PEBCAK).

Dostęp do rejestru jest możliwy poprzez narzędzie Edytor rejestru (lub wywołanie bezpośrednie programu regedit.exe (dodawanie .exe do nazwy pliku nie jest obowiązkowe, system sam rozpozna, o jaki plik chodzi)).

Edytor rejestru

Budowa rejestru i główne klucze

Rejestr składa się z kluczy, podkluczy i wartości, które są fizyczne zapisane w chronionych plikach systemu operacyjnego (z wyjątkiem klucza HKEY_CURRENT_USER):

  • w systemach od Windows XP do Windows Vista - w folderze %SystemRoot%\System32\Config,
  • w systemach od Windows 7 - w folderze .

Klucze są obiektami-kontenerami przechowującymi podklucze i wartości. Wartości rejestru to "trójki" nazwa - typ - wartość.

Istnieje pięć kluczy najwyższego poziomu. Nazywamy je kluczami głównymi, kluczami wstępnie zdefiniowanymi albo podstawowymi gałęziami rejestru. Wyróżniamy następujące klucze:

  • HKEY_CURRENT_USER (częsty skrót: HKCU) - zawiera kopię konfiguracji aktualnie zalogowanego użytkownika: ścieżki do folderów, kolory ekranu czy ustawienia panelu sterowania;
  • HKEY_USERS (częsty skrót: HKU) - zawiera informacje o wszystkich aktywnych profilach użytkowników w systemie; HKEY_CURRENT_USER jest jego podkluczem;
  • HKEY_LOCAL_MACHINE (częsty skrót: HKLM) - zawiera informacje o konfiguracji komputera;
  • HKEY_CLASSES_ROOT (częsty skrót: HKCR) - jest podkluczem klucza HKEY_LOCAL_MACHINE\Software; zawiera informacje o tym, którego programu należy użyć do obsługi wybranego typu pliku (np. jakim programem otworzyć plik .pdf), przy czym informacje te mogą zostać "przykryte" przez ustawienia poszczególnych użytkowników zawarte w kluczu HKEY_CURRENT_USER\Software\Classes (ale tylko dla tego konkretnego użytkownika);
  • HKEY_CURRENT_CONFIG - zawiera informacje o profilu sprzętowym używanym przez system operacyjny podczas uruchamiania.

Aby podać, w którym miejscu znajduje się jakaś wartość, podajemy ścieżkę - jak w systemie plików, np. HKEY_LOCAL_MACHINE\Hardware\DESCRIPTION\System. Możemy także podać bezpośrednią ścieżkę do wartości rejestru, np. HKEY_LOCAL_MACHINE\Hardware\DESCRIPTION\System\SystemBiosVersion.

Typy wartości w rejestrze

Wartości w rejestrze mają swój typ - pewien zestaw możliwych do przyjęcia wartości. Możemy wskazać ich wiele, wśród których najczęstszymi będą te wymienione poniżej.

TypNazwaOpis danych
REG_BINARYWartość binarna"Surowe" dane binarne. Najczęściej używane do przechowywania informacji sprzętowych. W Edytorze rejestru są wyświetlane w postaci heksadecymalnej.
REG_DWORDWartość DWORD (podwójne słowo)Dane prezentowane przez liczbę 4-bajtową (32-bitowa liczba całkowita). Wiele parametrów urządzeń czy usług używa tego typu wartości. Edytor rejestru prezentuje je binarnie, decymalnie lub heksadecymalnie.
REG_QWORDWartość QWORD (czterosłowo)Dane prezentowane przez liczbę 8-bajtową (64-bitowa liczba całkowita).
REG_EXPAND_SZRozszerzalny ciąg znakówCiąg znaków o zmiennej długości.
REG_SZCiąg znakówCiąg znaków stałej długości.
REG_NONENoneDane bez wyszczególnionego typu. Edytor rejestru przedstawi je heksadecymalnie.

Wykonanie kopii zapasowej rejestru

Przed wprowadzeniem jakichkolwiek zmian w rejestrze, należy wykonać jego kopię. Jeśli dokładnie wiemy, jakie zmiany wprowadzamy, możemy ograniczyć kopię wyłącznie do zmienianych danych. Dzięki temu będziemy mogli przywrócić stan rejestru sprzed rozpoczęcia pracy.

Kopię rejestru wykonamy przy użyciu menu Plik\Eksportuj. Możemy także kliknąć prawym klawiszem na wybrany klucz i z menu kontekstowego wybrać opcję Eksportuj.

Wywołanie eksportu całego rejestru
Wykonanie kopii zapasowej wybranego klucza
Fragment pliku z kopią zapasową wybranego klucza rejestru

Programy wspomagające czyszczenie rejestru

Domyślnie w systemie przyjmuje się zasadę, że ten, kto tworzy klucze i wartości, odpowiada za nie. Często jednak zdarza się, że gdy usuwamy aplikację, jej deinstalator pozostawia w rejestrze niepotrzebne już dane. Spowalnia to pracę systemu, ponieważ musi on analizować dane, które nie są już do niczego potrzebne.

Gdy komputer zostanie pomyślnie uruchomiony, raz dziennie narzędzie Kontroler rejestru systemu Windows (scanreg.exe) tworzy kopię zapasową plików systemowych oraz informacji o konfiguracji rejestru (w tym informacji o koncie użytkownika, powiązaniach protokołów, ustawieniach programów i preferencjach użytkownika). Po uruchomieniu automatycznie skanuje rejestr systemu w poszukiwaniu błędnych wpisów i pustych bloków danych. Jeśli wykryje błędny wpis, to automatycznie odtworzy kopię zapasową z poprzedniego dnia. Jest to jednoznaczne z wywołaniem polecenia scanreg /autorun z wiersza polecenia. Jeśli nie jest dostępna żadna kopia zapasowa, narzędzie Kontroler rejestru systemu Windows podejmuje próbę naprawy rejestru. Jest to jednoznaczne z wywołaniem polecenia scanreg /fix z wiersza polecenia. Jeśli rejestr zawiera ponad 500 KB pustych bloków danych, to wtedy narzędzie Kontroler rejestru systemu Windows automatycznie optymalizuje rejestr.

Możemy także skorzystać z programów firm trzecich, które mają np. bazy danych zawierające informacje o najczęściej "porzucanych" kluczach i wartościach, i mogą zaproponować ich usunięcie. Możemy skorzystać z programu RegCleaner czy CCleaner.

Widok znalezionych problemów po analizie rejestru
Pytanie-przypomnienie programu o wykonaniu kopii rejestru

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.