Rejestr Windows. Praca z rejestrem
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 grupieNarzę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:
Po uruchomieniu łatwo zauważyć podobieństwo edytora do Eksploratora Windows. Nawyki z niego wyniesione można tutaj z powodzeniem wykorzystać.
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 doHKEY_LOCAL_MACHINE\Software\Classes
.HKEY_CURRENT_USER
ten 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 lokalizacjiHKEY_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 lubHKEY_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
Komentarze
Czy macie jakieś pytania, sugestie, uwagi? A może zauważyliście literówkę albo błąd? Dajcie koniecznie znać: kontakt@pasja-informatyki.pl. Dziękujemy za poświęcony czas - to dzięki Wam serwis staje się coraz lepszy!