Microsoft Windows/Rejestr

Z Wikibooks, biblioteki wolnych podręczników.

Rejestr systemu Windows to centralna baza konfiguracyjna systemu. Jej zadanie jest podobne do funkcji katalogu etc w systemach Linux, Unix. Przechowywane tam są informacje o konfiguracji sprzętowej komputera, konfiguracji systemu, konfiguracji i ustawieniach indywidualnych użytkowników systemu oraz programów, ustawienia lokalne zainstalowanych programów. Docelowo rejestr został stworzony w celu zastąpienia używanych wcześniej plików INI.

Rejestr systemu przechowywany jest w systemach Windows w plikach z rozszerzeniem DAT. Dla systemów Windows 95, Windows 98, Windows 98SE są to pliki USER.DAT oraz SYSTEM.DAT.

Spis treści

[edytuj] Programy do edycji rejestru

Regedit - podstawowe narzędzie do pracy z rejestrem, firmy Microsoft, dostarczany wraz z sytemem operacyjnym (Windows 95,98,Me, NT, XP, 2000, 2003). Program standardowo znajduje się w katalogu z zainstalowanym systemem Windows (np. C:\Windows). Uruchomienie programu następuje poprzez bezpośredni dostęp do programu w katalogu gdzie został umieszczony lub poprzez wywołanie jego z polecenia Uruchom z Menu Start

Kliknąć przycisk Start->Wybrać polecenie Uruchom->Wpisać w okienku słowo:regedit->Zatwierdzić uruchomienie przyciskiem: OK

Program Regedit działa w dwóch trybach: w środowisku graficznym GUI oraz w trybie zwanym wierszem poleceń lub trybem konsoli.

[edytuj] Kopia zapasowa

Przed rozpoczęciem edycji kluczy i wartości w rejestrze zalecane jest utworzenie kopii zapasowej całości rejestru. Dokonuje się tego poprzez skopiowanie plików rejestru w dodatkową lokalizację (katalog inny od źródłowego).


Począwszy od Windows Millennium wprowadzono Przywracanie systemu, które w przypadku awarii systemu pozwala na przywrócenie wcześniejszego, pozbawionego błędów rejestru.

[edytuj] Budowa rejestru

[edytuj] HKEY_CLASSES_ROOT

Kategoria HKEY_CLASSES_ROOT (HKCR) została zachowana jedynie dla zgodności z Rejestrem Windows 3.x -- w rzeczywistości jest jedynie wskaźnikiem (aliasem) do klucza kategorii HKLM. Informacje rejestracyjne plików i dla OLE, jakie większość programów dodaje do Rejestru przy instalacji, przechowywane są w kluczu HKEY_LOCAL_MACHINE\Software\Classes.

[edytuj] HKEY_CURRENT_USER

HKEY CURRENT USER (HKCU) to alias podgałęzi klucza Rejestru HKEY_USERS, odnoszącej się do użytkownika właśnie zalogowanego na komputerze. Informacje tu zawarte to między innymi ustawienia pulpitu czy menu Start oraz ustawienia zainstalowanych programów.

[edytuj] Reguła Skalskiego

Można również ustawić domyślne ścieżki plików tymczasowych TEMP oraz TMP. Z tych ustawień korzysta wiele programów, w związku z czym należy zwrócić szczególną uwagę, by wskazany tam folder istniał w chwili logowania danego użytkownika.

Domyślnie są to ścieżki: %USERPROFILE%\Ustawienia lokalne\Temp

[edytuj] HKEY_LOCAL_MACHINE

Kategoria HKEY_LOCAL_MACHINE (HKLM) zawiera informacje o konfiguracji komputera, niezależne od tego, który z użytkowników z niego korzysta i jakiego oprogramowania używa. Są w nim również gromadzone dane o wszystkich urządzeniach kiedykolwiek dołączonych do systemu, nawet jeżeli nie są w nim już obecne.

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\00xx zawiera parametry konfiguracyjne wszystkich interfejsów sieciowych obecnych w systemie, klucz NetworkAddress zawiera wartość typu string odpowiadającą adresowi MAC danego interfejsu, zmieniając tę wartość możemy ustalić dowolny adres MAC dla konkretnej karty sieciowej, przy czym nie wszystkie karty i sterowniki pozwalają na modyfikowanie adresu fizycznego MAC, zatem w takim przypadku pomimo zmienionej wartości klucza NetworkAddress, rzeczywisty adres karty pozostanie zgodny z fabrycznym.
  • HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices zawiera informacje o znanych woluminach (partycjach) i pod montowanych /od montowanych dyskach ( lub napędach cd/dvd )

np.:

- klucze podmontowanego dysku ( dysk C: ) :

"\\??\\Volume{488d8441-e711-11dd-bb15-806d6172696f}"=hex:b8,05,ec,0e,00,e6,10,\
  05,04,00,00,00
"\\DosDevices\\C:"=hex:b8,05,ec,0e,00,e6,10,05,04,00,00,00

zwróć uwagę że wartości obu kluczy są takie same

- klucz od montowanego dysku ( nie dostępny w systemie)

"#{124c806e-e78b-11dd-a0f0-a514a46f5c84}"=hex:b8,05,ec,0e,00,7e,00,00,00,00,00,\
  00

brak wtedy klucza \\DosDevices\\X: a ciąg \\??\\Volume w nazwie klucza woluminu zastąpił znak #

W wypadku zamiany litery przypisanej dyskowi systemowemu i innemu dyskowi (np.: dysk C [systemowy] będzie pod montowany jako D, a dysk D jako C), modyfikując litery dysków w nazwach kluczy zaczynających się od \\DosDevices\\ nożna naprawić system

Modyfikacje można dokonać także w wypadku nie uruchamiającego się sytemu, posługując się innym systemem np.: LiveCD i aplikacja edytującą rejestr, posiadająca funkcjonalność czytania i zapisu rejestru jako pików znajdujących się na dysku systemowym ( nie koniecznie C ) w katalogu \WINDOWS\system32\config

[edytuj] HKEY_USERS

Kategoria HKEY_USERS (HKU)zawiera indywidualne ustawienia dla każdego z zarejestrowanych użytkowników komputera. Klucz ten stanowi bazę odtworzeniową dla klucza HKEY CURRENT USER.

[edytuj] HKEY_CURRENT_CONFIG

HKEY_CURRENT_CONFIG (w skrócie HKCC) przechowuje informację z bieżącą konfiguracją sprzętową.

[edytuj] Ustawienia systemowe poprzez edycję Rejestru

Jedną z podstawowych przyczyn ręcznej edycji / modyfikacji rejestru jest dostosowanie systemu. Znajdziemy tam szereg opcji do których nie ma dostępu z poziomu aplikacji GUI.

[edytuj] Autostart

Wpisy w Rejestrze. Jest kilka kluczy, w których można zrobić wpisy automatycznie uruchamiające:

  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run - uruchamia po zalogowaniu się do bieżącego profilu użytkownika.
  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce - j.w., ale wpis jest kasowany przed uruchmieniu, więc program jest uruchamiany tylko raz. ¹
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run - uruchamia niezależnie od tego, kto się zaloguje.
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce - j.w., ale wpis jest kasowany przed uruchomieniem, więc program jest uruchamiany tylko raz. ¹
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx - ten klucz nie jest udokumentowany przez Microsoft, ale najprawdopodobniej działa tak samo jak klucz RunOnce . Klucz ten jest używany w procesie instalacyjnym Microsoft Virtual Java Machine (Wirtualna Maszyna Javy instalowana z Internet Explorerem).
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices - uruchamia w tle, gdy pojawia się okienko logowania, albo na tym etapie bootowania, gdy logowanie jest wyłączone. Windows NT nie używa tego klucza.
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce - j.w., ale wpis jest kasowany przed uruchomieniem, więc program jest uruchamiany tylko raz. ¹

¹ Te klucze są kasowane przed uruchomieniem, chyba że na początku linii poleceń będzie wykrzyknik, wtedy wpis jest kasowany po uruchomieniu.