Rejestr Windows. Praca z rejestrem

MZ | 20-06-2017 | 17:45:54

Plan wykładu: rejestr, położenie rejestru w systemie, edytor regedit, hierarchiczna budowa, klucze główne, HKEY CLASSES ROOT, HKEY CURRENT USER, HKEY LOCAL MACHINE, HKEY USERS, HKEY CURRENT CONFIG, typy wartości: REG_SZ, REG_BINARY, REG_DWORD, REG_MULTI_SZ, REG_EXPAND_SZ, uwagi praktyczne, 10 prostych ćwiczeń w edycji rejestru.

Rejestr systemowy
to centralna, hierarchiczna baza danych, w której system operacyjny przechowuje informacje o swojej konfiguracji. Rejestr zawiera informacje o zainstalowanych aplikacjach, ustawieniach pulpitu, profilach wszystkich użytkowników komputera, składnikach sieci, zabezpieczeniach oraz informacje o sprzęcie systemu (sterownikach, urządzeniach, dostępnej pamięci). Windows podczas pracy stale odwołuje się do tych danych. Zadanie rejestru jest podobne do funkcji katalogu /etc w systemach Linux.

Rejestr systemu Windows jest następcą plików .ini, które miały poważne wady i ograniczenia, a poza tym były bardzo niewygodne w użyciu. System operacyjny Windows NT 3.5 był pierwszym z rodziny systemów Windows, w którym występował rejestr przypominający jego obecną postać. Z rejestru korzystają między innymi następujące komponenty Windows:

  • programy instalacyjne aplikacji,
  • program wykrywający urządzenia,
  • jądro systemów Windows,
  • menedżer PnP (Plug and Play),
  • sterowniki urządzeń,
  • narzędzia administracyjne (aplety okna Panel sterowania i programy zawarte w grupie Narzędzia administracyjne, są najbezpieczniejszymi w użyciu programami umożliwiającymi modyfikowanie rejestru),
  • profile użytkowników,
  • profile sprzętowe (w przeciwieństwie do plików .ini, rejestr obsługuje wiele konfiguracji sprzętowych).

Gdzie zapisane są pliki rejestru?

W Windows 95, 98 i Me wszystkie dane rejestru znajdowały się w dwóch plikach: system.dat i user.dat. W systemach Windows 2000 i Windows XP rejestr jest przechowywany w kilku plikach w folderach: \windows\system32\config oraz \Documents and Settings\[użytkownik]. Jeśli chcemy wykonać kopię zapasową plików rejestru w Windows 95/98/Me, wystarczy, że skopiujemy pliki system.dat i user.dat z folderu systemowego. Jeśli jednak korzystamy z Windows 2000, XP czy nowszego, to powinno się wykorzystać odpowiedni program narzędziowy - edytor rejestru o nazwie regedit.

Edytor rejestru uruchomimy wybierając z menu Start opcję Uruchom i wpisując nazwę edytora:

Uruchamianie regedit

Po uruchomieniu łatwo zauważyć podobieństwo edytora do Eksploratora Windows. Nawyki z niego wyniesione można tutaj z powodzeniem wykorzystać.

Okno regedit

Lewy obszar okna możemy potraktować tak jak drzewo folderów, a prawy podobnie jak listę plików. Szczegółowe informacje możemy wyszukiwać rozwijając kolejne gałęzie drzewa lub korzystając z dostępnego polecenia Znajdź.

Logiczną strukturę rejestru, dla lepszego zrozumienia, można porównać z drzewem folderów na dysku. Rejestr zawiera klucze przypominające foldery i wartości, które można porównać do plików zapisanych na dysku. Klucze rejestru są obiektami (kontenerami) przechowującymi podklucze i wartości. Wartości rejestru - podobnie jak pliki - zawierają dane. Klucze najwyższego poziomu takiej hierarchicznej struktury są nazywane wstępnie zdefiniowanymi kluczami głównymi (root keys).

Klucze główne rejestru

  • HKEY_CLASSES_ROOT zapisane są tu powiązania typów plików z aplikacjami, które je obsługują (np. dzięki informacjom w tym kluczu system wie, że format pliku .doc otwierany jest przez np. Worda). W rzeczywistości klucz ten jest wskaźnikem do HKEY_LOCAL_MACHINE\Software\Classes.
  • HKEY_CURRENT_USERten klucz przechowuje ustawienia profilu aktualnie zalogowanego użytkownika, np. schemat kolorów, zastosowane czcionki, dokonane personalizacje.
  • HKEY_LOCAL_MACHINE zawiera najważniejsze informacje o konfiguracji komputera niezbędne do prawidłowego uruchomienia systemu Windows - zainstalowany sprzęt i programy oraz parametry systemu. Dane dotyczą wszystkich użytkowników danego systemu.
  • HKEY_USERS Zawiera ustawienia profili wszystkich użytkowników, którzy kiedykolwiek logowali się na danym komputerze w kluczach odpowiadających ich numerom identyfikacyjnym w systemie (Security ID).
  • HKEY_CURRENT_CONFIG przechowuje dane konfiguracyjne o aktualnie używanym profilu sprzętowym Windows. Dane tak naprawdę pobierane są z lokalizacji HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware\Profiles.

Co należy wiedzieć o edytorze?

  • Edytor zapisuje wprowadzone zmiany natychmiast do rejestru
  • Nie posiada polecenia Cofnij.
  • Nie posiada polecenia Plik - Zapisz, zmiany dokonywane są natychmiast po ich wpisaniu! Przed dokonaniem jakichkolwiek zmian koniecznie trzeba wykonać kopię rejestru!

Aby skopiować na inne komputery wprowadzone do rejestru parametry powinniśmy skorzystać z dostępnej w rejestrze funkcji eksportu. Edytor rejestru pozwala bowiem na skopiowanie wybranych gałęzi bazy do pliku o rozszerzeniu .reg. W celu zapisania odpowiednich parametrów wybieramy odpowiednią gałąź i uaktywniamy funkcję Rejestr - Eksportuj plik rejestru. Warto przy tym zwrócić uwagę, czy chcemy wyeksportować cały rejestr, czy też może lepiej tylko wybraną, interesującą nas gałąź.

Typy spotykanych wartości

  • Ciąg znaków REG_SZ przechowuje dane, które mają postać tekstu (tzn. znaków alfanumerycznych)
  • Wartość binarna REG_BINARY do zapamiętania danych binarnych (0, 1)
  • Wartość "podwójne słowo" REG_DWORD 32-bitowa (czterobajtowa) liczba całkowita
  • Wielokrotny ciąg znaków REG_MULTI_SZ tzw. "wielociąg", czyli kilka ciągów znaków rozdzielonych znakami NULL
  • Rozwijany ciąg znaków REG_EXPAND_SZ w odróżnieniu od zwykłego ciągu znaków, rozwijany ciąg zawiera w sobie jedną lub kilka zmiennych systemowych. Po pobraniu przez aplikację takiego ciągu, w miejsce ich nazw zmiennych systemowych wstawiane wartości.

Uwagi praktyczne

  • Wszędzie w edytorze gdzie nazwa klucza zaczyna się od HKEY_LOCAL_MACHINE wprowadzone zmiany obowiązują u wszystkich użytkowników!
  • Aby zmiany dotyczyły tylko aktualnego użytkownika należy je wprowadzać w kluczu HKEY_CURRENT_USER dla aktualnie zalogowanego lub HKEY_USERS\[ID_usera] dla danego usera.
  • Pamiętaj również, że przy wpisywaniu ścieżek dostępu w rejestrze zamiast znaku \ używamy \\. Np. C:\\Windows\\System32
  • Instalator każdego programu wprowadza do Rejestru systemu dane. Gdy odinstalowujemy taki program, deinstalator powinien usunąć te wpisy. Dość często zdarza się jednak, że programy pozostawiają w rejestrze klucze, które nie służą do niczego. Pozostawione wpisy spowalniają system, ponieważ Windows musi analizować wiele kluczy, które nic nie oznaczają. Dostępne są programy, które czyszczą Rejestr z tego typu "śmieci". Jednym z nich jest aplikacja RegCleaner.
  • Szybkość pracy naszego systemu zależy między innymi od rozmiarów rejestru. Im większy rejestr, tym wolniejszy system. Z tego też względu powinniśmy optymalizować zawartość tej bazy, poprzez tzw. defragmentację rejestru.
  • Dzięki defragmentacji znacznie zmniejszą się rozmiary rejestru. W tym celu można posłużyć się którymś z programów do defragmentacji rejestru. Dostępne w Internecie są na przykład: Auslogics Registry Defrag, 10bit SmartDefrag, Baku, JkDefrag.

10 prostych ćwiczeń

1. Pokaż rozszerzenia plików znanych typów

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
ustawienie HideFileExt = 0

2. Pokaż wersję Windows na pulpicie

HKEY_CURRENT_USER\ControlPanel\Desktop
ustawienie PaintDesktopVersion = 1

3. Brak ustawień rozdzielczości

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System
ustawienie NoDispSettingsPage = 1

4. Brak ustawień rozdzielczości jako fix z rozszerzeniem .reg:

 Windows Registry Editor Version 5.00
[HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"NoDispSettingsPage"=dword:00000001

5. Okno z własnym komunikatem podczas logowania

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\WinLogon lub HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\policies\system
ustawienie LegalNoticeCaption oraz LegalNoticeText

6. Ukrywa wybrane dyski (A: 1, B: 2, itd.)

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
ustawienie "NoDrives"=dword:00000004 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
ustawienie "NoDrives"=dword:00000004

7. Zmiana nazwy Kosza

Znajdujemy: @C:\WINDOWS\system32\SHELL32.dll i zmieniamy nazwę kosza na dowolną

8. Wyłączenie ekranu powitalnego i użycie klasycznego okna logowania

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
ustawienie "LogonType"=dword:00000000

9. Opóźnienie rozwinięcia menu Wszystkie programy w menu Start

HKEY_CURRENT_USER\Control Panel\Desktop
ustawienie MenuShowDelay w milisekundach

10. Pokazanie wszytkich plików, ukrytych i chronionych (jako plik .reg)

 Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Hidden"=dword:00000001
"HideFileExt"=dword:00000000
"ShowSuperHidden"=dword:00000001

Źródła

W przygotowaniu niniejszego wykładu pomogły mi między innymi następujące źródła:

  • Systemy operacyjne i sieci komputerowe. Cz. 1. WSIP. Krzysztof Pytel, Sylwia Osetek
  • Systemy operacyjne i sieci komputerowe. Cz. 2. WSIP. Krzysztof Pytel, Sylwia Osetek

Zobacz także

Daj się zaskoczyć! Poniżej wylosowałem dla Ciebie pięć wpisów z całego archiwum bloga:

Komentarze

Disqus
Facebook
Pasja informatyki