Z pewnością niejednokrotnie spotkałeś się z pojęciem rejestru, jego edycji
oraz z zaleceniami by bez potrzeby w niego nie ingerować. Czym on tak naprawdę jest?!
Otóż jest to swego rodzaju baza danych, której zadaniem jest przechowywanie
informacji odnośnie konfiguracji systemu, zainstalowanych aplikacji i sprzętu,
znajdujących się w komputerze użytkownika. Element ten
został ukryty przez twórców Windows XP, po to by osoba korzystająca z systemu
nieświadomie nie uszkodziła środowiska operacyjnego - nieumiejętnie edytując
rejestr i zmieniając wartości przypadkowych kluczy.
Instalując nowe oprogramowanie, sprzęt, lub nawet dokonując zmian w
konfiguracji systemu, zapisuje on to automatycznie w poszczególnych kluczach
rejestru, dzięki czemu ingerencja użytkownika nie jest wymagana, a co za tym
idzie możliwość uszkodzenia go przez osoby nie mające pojęcia o edycji
rejestru maleje wręcz do zera. Bywa również tak, że czasami praca bezpośrednio z
rejestrem jest rozwiązaniem, może nie najprostszym, ale zdecydowanie najszybszym
- dlatego też Windows XP oferuje bardzo przydatne narzędzie do jego modyfikacji.
Mowa tutaj o Edytorze rejestru.
Struktura rejestru
Przed rozpoczęciem edycji rejestru, dobrze jest zaznajomić się z strukturą
tejże specyficznej bazy danych. Otóż modyfikowanie poszczególnych wpisów
(kluczy) umożliwia wspomniany już Edytor rejestru.

Uruchomić go możemy, klikając Start, Uruchom... i wpisując w
polu tekstowym modułu, który się pojawi polecenie regedit, następnie
klikając przycisk Ok, lub zatwierdzając wprowadzone polecenie klawiszem
Enter. Po wykonaniu tejże operacji naszym oczom ukaże się okno Edytora rejestru.
Jak zapewne łatwo zauważyć, rejestr składa się z pięciu kluczy głównych,
zwanych także kluczami predefiniowanymi:
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_USERS
- HKEY_CURRENT_CONFIG
Klucze główne zawierają swoje podklucze, definiowane także pojęciem kluczy,
te natomiast posiadać mogą kolejne podklucze powodując dowolnie długie
zagłębienie. Posiadają one zawsze
przynajmniej jedną wartość, którą określa się jako wartość domyślna, lecz
jednak nie jest to regułą, bo zdarza się, iż klucze posiadają także różnego typu
inne wartości dodatkowe. W prawej części Edytora rejestru, użytkownik
może uzyskać informacji na temat nazwy, typu danych i ich powiązań z
wartościami.
Pojęciem gałęzi określać będziemy klucz główny wraz z jego wszystkimi
podkluczami. Co ciekawe, cały rejestr przechowywany jest w komputerze w kilku
oddzielnych plikach gałęzi. Podczas uruchamiania systemu ładowane są pewne
gałęzie, a następnie łączone w jedną spójną część, zwaną rejestrem. Chcąc
sprawdzić, gdzie fizycznie znajdują się pliki gałęzi, otwieramy klucz
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist.

Na uwagę zasługuje fakt, iż gałąź \REGISTRY\MACHINE\HARDWARE nie posiada
powiązanego fizycznie pliku w komputerze, co oznacza, że jest ona odpowiedzialna
za zapisywanie konfiguracji sprzętu, wraz z każdym uruchomieniem systemu
tworzona jest od nowa.
Przeglądając poszczególne klucze rejestru niejednokrotnie natknąć się można
na tzw. pliki ukryte powiązane z każdym z plików gałęzi. Charakteryzują je
rozszerzenia .alt oraz .log, pierwsze z nich to pliki transakcyjne, przechowujące zmiany dokonane pomiędzy poszczególnymi plikami
gałęzi. Rozszerzenie .alt natomiast oznacza kopie gałęzi, które wykorzystywane są przez
system w momencie wykrycia uszkodzenia któregoś z nich.
Rejestr systemu Windows XP wykorzystuje następujące typy danych:
- REG_SZ - jest jednym z najczęściej wykorzystywanych typów danych
w rejestrze Windows XP. Końcowe oznaczenie 'SZ' wskazuje ciąg o zmiennej
długości zakończony zerami, czyli w momencie modyfikacji tej wartości,
edytor automatycznie zakończy wartość bajtem 00. Typ ten używany jest
zarówno dla danych numerycznych jak i tekstowych. Domyślne wartości
większości kluczy są właśnie tego typu.
- REG_MULTI_SZ - typ zawierający grypy ciągów zakończonymi zerami
przypisanych do pojedynczych wartości.
- REG_EXPAND_SZ - typ, będący ciągiem zakończonym zerami i
zawierającym zmienną środowiskową, np. %SystemRoot%.
- REG_BINARY - typ zawierający ciąg zer i jedynek.
- REG_DWORD - typ danych double word, będący 32-bitową wartością
numeryczną.
- REG_LINK - typ będącym odnośnikiem do innej części rejestru.
- REG_NONE - rzadko używany typ, stosowany w sytuacji gdy istotna
jest obecność lub nieobecność wartości, ale dane wartości już nie.
- REG_FULL_RESOURCE_DESCRIPTOR, REG_RESOURCE_LIST,
REG_RESOURCE_REQUIREMENTS - typy danych zawierające informacje o
zasobach potrzebnych i użytych przez składniki systemu.
Tworzenie i przywracanie kopii zapasowej
Należy pamiętać, że wprowadzane modyfikacje są natychmiast wprowadzane do
rejestru, oraz że Edytor rejestru nie posiada funkcji pozwalającej na cofnięcie
dokonanych zmian.
Jednym z sposobów na ratunek dla systemu, w momencie gdy nasze modyfikacje
okażą się niepoprawne jest stworzenie tzw. kopii zapasowej, którą w
razie awarii można bez problemu przywrócić. Aby zachować cały rejestr klikamy w
Edytorze rejestru Plik, Eksportuj..., a następnie podajemy nazwę
oraz lokalizację, gdzie zapisana ma zostać kopia zapasowa. Do wyboru
mamy jeden z kilku formatów zapisania kopii, najlepszym rozwiązaniem jest tutaj
wybór formatu Pliki rejestru, dzięki czemu zapisany zostaje binarny obraz
całości, lub tylko wybranej części. Chcąc wyeksportować pliki rejestru
klikamy na klucz prawym przyciskiem myszy w lewej części okna Edytora rejestru i
wybieramy w menu kontekstowym Eksportuj, bądź z menu edytora zaznaczamy
Plik, a następnie Eksportuj. W momencie, gdy będziemy musieli
zaimportować kopię rejestru, w menu w lewej części zaznaczamy ten sam klucz co
przy eksporcie i kolejno wybieramy Plik, Importuj..., oraz
określamy plik, z którego to klucz zostanie przywrócony. Edytor ostrzeże o
próbie nadpisania wybranego klucza i oczekiwał będzie akceptacji wykonania tej
operacji.
Innym rozwiązaniem zabezpieczającym użytkownika przed awarią wynikającą z
ingerencji w rejestr systemowy jest narzędzie Przywracania systemu, które tworzy co jakiś czas obraz stanu systemu i pozwala na powrót do
niego w momencie wystąpienia problemów. Przed rozpoczęciem modyfikacji rejestru,
zaleca się stworzenie punktu przywracania systemu, który to umożliwi.
System Windows XP oferuje także użytkownikowi narzędzie Kopia zapasowa, które
daje możliwość utworzenia kopii zapasowej stanu systemu. W momencie tworzenia
jej, powstaje także duplikat rejestru, który zostaje zapisany na nośniku
kopii zapasowych oraz w folderze systemowym %SystemRoot%\Repair. Możliwe jest
także korzystanie z innego, kompatybilnego oprogramowania innych producentów.
Pozwala to na odbudowanie plików rejestru, w chwili gdy zostaną uszkodzone.
Przeglądanie i edytowanie rejestru
Jak już wspomniane zostało do zarządzania rejestrem w Winodws XP służy
Edytor rejestru, daje on możliwość wyszukiwania zarówno poszczególnych
kluczy, wartości jak i danych. W celu uruchomienia narzędzia wyszukiwania
klikamy Edycja i Znajdź... lub wciskamy kombinację [Ctrl+F]
na klawiaturze, a następnie wpisując w polu tekstowym ciąg znaków, w
poszukiwaniu którego ma zostać sprawdzony cały rejestr. Z racji tego, iż jest on elementem bardzo rozbudowanym, może to potrwać dłuższą chwile.
Jeśli wykonujemy operacje na danym elemencie, w celu ułatwienia kolejnych
jego
modyfikacji, możemy umieścić go na liście Ulubionych. Aby tego dokonać wybieramy
Ulubione i kolejno Dodaj do ulubionych, poproszeni zostaniemy
podanie nazwy dla dodawanego elementu. Jeśli jednak operacje wykonywane są na
tym samym kluczu dodawanie go do listy Ulubionych jest tak naprawdę zbędne, gdyż
Edytor rejestru automatycznie zapisuje pozycję podczas zamykania sesji pracy z
rejestrem i powraca do niej przy kolejnym uruchomieniu.
Modyfikacja danych
Chcąc edytować dane powiązane z jakąś wartością, klikamy dwukrotnie na daną
wartość w prawej części okna Edytora rejestru. Efektem tego działania będzie
wyświetlenie okna edycji, adekwatnego do typu edytowanych danych, składające się
z pól tekstowych: Nazwa wartości oraz Dane wartości.
Dodawanie/usuwanie kluczy
Dodając nowy klucz należy otworzyć podklucz, gdzie chcielibyśmy stworzyć nowy
wpis i w lewej części okna edytora zaznaczamy klucz nadrzędny i z menu wybieramy
Edycja, Nowy i Klucz. Stworzony przed chwilą element
wyświetlony zostanie w Edytorze rejestru jako podświetlony wpis z domyślną
nazwą, którą możemy dowolnie edytować. Natomiast by usnąć klucz, zaznaczamy go i
klikając Edycja, a następnie Usuń, bądź wciskając klawisz [Delete] na
klawiaturze.
Dodawanie/usuwanie wartości
Aby dodać nową wartość wybieramy z menu Edycja, Nowy i
określamy typ danych, które chcielibyśmy dodać. Ukaże się ona w prawej części
okna Edytora rejestru z ogólną nazwą, którą podobnie jak w przypadku kluczy
możemy dowolnie zmieniać. Chcąc wprowadzić dane stworzonej wartości, klikamy na
nią dwukrotnie i uzupełniamy pole tekstowe Dane wartości. Proces usuwania
wartości ogranicza się do zaznaczenia odpowiedniego pola i kliknięciu na
niego prawym przyciskiem myszy, wybraniu z menu kontekstowego opcji Usuń,
bądź wciśnięciu klawisza Delete.
Automatyzowanie zmian
Wyeksportowane pliki rejestru .reg z łatwością można otworzyć i
modyfikować
za pomocą dowolnego edytora nieformatowanego tekstu. Tak więc nic nie stoi na
przeszkodzie, żebyśmy używali Notatnika zamiast Edytora rejestru,
w którym otwieramy wyeksportowany rejestr, dokonujemy zmian i je zapisujemy, a
następnie importujemy plik .reg z powrotem do rejestru. Istnieje także możliwość
dodawania do rejestru nowych kluczy, wartości i danych, w tym celu tworzymy nowy
plik .reg zawierający nowe wpisy, który importujemy go do rejestru. Ten,
alternatywny sposób zarządzania okazuję się bardzo przydatny w
momencie, gdy musimy dokonać na kilku komputerach tych samych zmian.

W momencie otworzenia kopii rejestru w postaci pliku .reg za pomocą
Notatnika, będziemy mogli zobaczyć następujące informacje:
- Linia nagłówka - przy próbie włączenia pliku .reg do rejestru, za
pomocą tej linii sprawdzany zostaje plik, czy zawiera on
dane rejestru. Dla Windows XP linia ta wygląda następująco: Windows Registry Editor Version 5.00.
Wersja 5 tworzy pliki tekstowe Unicode.
- Nazwa kluczy - zawiera pełną, w żaden sposób nie skróconą nazwę
kluczy, ograniczoną przez nawiasy kwadratowe. Wpis ten przechowuje dokładną
ścieżkę od klucza głównego do podrzędnego podklucza.
- Wartość domyślna - określone wartości domyślne w pliku .reg
oznaczane są znakiem @. W pliku wyeksportowanego rejestru, klucz o
wartości domyślnej REG_SZ, zdefiniowany jako MyApp oznaczony zostanie:
"@"="MyApp"
- Nazwa wartości - wpisy ujęte w cudzysłów, po których występuje
znak równości. W pliku .reg wartości posortowane są w kolejności w jakiej
ukazują się one w rejestrze.
- Typy danych - informacje występujące bezpośrednio po znaku
równości. Identyfikator oddzielony jest od danych za pomocą dwukropka, dla
przykładu wartość REG_DWORD równa 00000000, zapisana zostanie następująco:
"Keyname"=dword:00000000
- Wartości REG_SZ - zwykłe wartości ciągowe zapisane w cudzysłowie.
Co ciekawe ukośnik zapisany jest tutaj podwójnie.
Przykładowo ścieżka D:\Lotus\123\Addins\ zapisana zostanie w taki sposób:
"D:\\lotus\\123\\addins\\"
- Wartości REG_DWORD - wartość zapisana w postaci liczb
szesnastkowych, beż żadnych spacji, przecinków czy prefiksu '0x'.
- Wszystkie inne typy danych - pojawiają się jako oddzielone
przecinkami listy szesnastkowych bajtów, włączamy tutaj takie typy danych
jak: REG_EXPAND_SZ i REG_MULTI_SZ.
- Znaki kontynuowania lini - w celu kontynuacji danych z jednego
wiersza do drugiego itp. stosuje się ukośnik '\', dzięki czemu
wartość zapisana w kilku linijkach jest tak naprawdę jednym ciągiem danych.
- Linie odstępu - w celach np. estetycznych możliwe jest stosowanie
pustych linii (wierszy), Edytor rejestru przy imporcie pliku .reg, po prostu
je pomija.
- Komentarze - chcąc dodać komentarz w pliku .reg, zaczynamy
wpisywanie od znaku średnika.
Uprawnienia kluczy rejestru
W systemie Windows XP domyślnie pełne prawa do wszystkich kluczy rejestru ma
Administrator. Zwykły użytkownik ma dostęp i pełną kontrolę nad kluczami, które
sam stworzył, cała reszta rejestru dostępna jest tylko do odczytu. Chcąc zmienić
uprawnienia w ten sposób, by móc oprócz możliwości odczytu mieć także możliwość
edytowania i usuwania poszczególnych kluczy, uruchamiamy Edytor rejestru,
będąc aktualnie zalogowanym jako Administrator. Klikamy prawym przyciskiem myszy
na interesującym nas kluczu, a następnie z menu kontekstowego wybieramy opcję
Uprawnienia..., naszym oczom ukaże się okno dialogowe, gdzie możemy dowolnie zarządzać dostępem do poszczególnych kluczy.
