Temat 17 - Rejestr w systemie Ms Windows.

 

Rejestr Windows, a dokładnie rejestr ustawień w systemach operacyjnych Windows to hierarchiczna baza danych konfiguracyjnych. Są w niej przechowywane informacje o konfiguracji i ustawieniach m.in. użytkowników, urządzeń podłączonych do komputera, zainstalowanych programów.

Do wpisów w rejestrze system odwołuje się każdorazowo, gdy wynik wykonania operacji zależy od wcześniej zapamiętanych ustawień systemowych.

Rejestr Windows spełnia analogiczną funkcję do katalogu /etc/ w systemach Unix/Linux.

Rejestr jest centralną bazą danych przeznaczoną do przechowywania w ujednolicony sposób wszystkich informacji konfiguracyjnych systemu operacyjnego i aplikacji. Zawiera on kompletny zestaw wpisów dotyczących ustawień takich elementów, jak programy obsługi (sterowniki) urządzeń, pamięć czy programy obsługi sieci. Narzędzia systemu operacyjnego pozwalają na dostęp do niego zarówno z komputera, którego dotyczy, jak również poprzez sieć.

Architektura Rejestru jest połączeniem idei znanych z Windows 3.x plików INI oraz występującego także w tym środowisku Rejestru (przechowującego znacznie mniej informacji). Rejestr Windows 95 ujednolica i łączy te mechanizmy. Sekcjom plików INI odpowiadają tzw. klucze Rejestru, a poszczególnym wpisom - wartości Rejestru. Podstawowe różnice to wprowadzenie struktury hierarchicznej (drzewiastej) i umożliwienie korzystania z wartości binarnych.

 

Źródło: https://pl.wikipedia.org/wiki/Rejestr_%28Windows%29

 

Opis rejestru

Słownik terminów komputerowych firmy Microsoft, wydanie piąte, definiuje rejestr następująco:

Centralna hierarchiczna baza danych używana w systemach Microsoft Windows 98, Windows CE, Windows NT i Windows 2000 służy do przechowywania informacji, które są niezbędne do konfigurowania systemu dla co najmniej jednego użytkownika, aplikacji i urządzeń sprzętowych.

Rejestr zawiera informacje, do których system Windows stale odwołuje się podczas swojej pracy, na przykład profile poszczególnych użytkowników, aplikacje zainstalowane na komputerze oraz typy dokumentów tworzonych przez te aplikacje, ustawienia arkuszy właściwości folderów i ikon aplikacji oraz informacje, jaki sprzęt istnieje w systemie i które porty są używane.

Rejestr zastępuje większość tekstowych plików ini używanych w systemie Windows 3.x oraz pliki konfiguracyjne systemu MS-DOS, takie jak Autoexec.bat i Config.sys. Chociaż rejestr jest używany w kilku systemach operacyjnych Windows, występują pewne różnice między rejestrami w każdym systemie.

Gałąź rejestru to grupa kluczy, podkluczy i wartości w rejestrze, która ma zestaw plików pomocniczych zawierających kopie zapasowe ich danych. W systemach Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003 i Windows Vista pliki pomocnicze wszystkich gałęzi oprócz HKEY_CURRENT_USER znajdują się folderze %SystemRoot%\System32\Config. Pliki pomocnicze gałęzi HKEY_CURRENT_USER znajdują się w folderze %SystemRoot%\Profiles\Nazwa_użytkownika. Rozszerzenia nazw plików znajdujących się w tych folderach wskazują typ danych przechowywanych w tych plikach. Brak rozszerzenia może w pewnych przypadkach również wskazywać typ danych przechowywanych w plikach.

Zwiń tę tabelęRozwiń tę tabelę
Gałąź rejestru Pliki pomocnicze
HKEY_LOCAL_MACHINE\SAM Sam, Sam.log, Sam.sav
HKEY_LOCAL_MACHINE\Security Security, Security.log, Security.sav
HKEY_LOCAL_MACHINE\Software Software, Software.log, Software.sav
HKEY_LOCAL_MACHINE\System System, System.alt, System.log, System.sav
HKEY_CURRENT_CONFIG System, System.alt, System.log, System.sav, Ntuser.dat, Ntuser.dat.log
HKEY_USERS\DEFAULT Default, Default.log, Default.sav
   

W systemie Windows 98 pliki rejestru noszą nazwy User.dat i System.dat. W systemie Windows Millennium Edition pliki rejestru noszą nazwy Classes.dat, User.dat i System.dat.

Uwaga: Funkcje zabezpieczeń w systemach Windows NT, Windows 2000, Windows XP, Windows Server 2003 i Windows Vista umożliwiają administratorowi kontrolowanie dostępu do kluczy rejestru.

W poniższej tabeli przedstawiono wstępnie zdefiniowane klucze używane przez system. Maksymalny rozmiar klucza to 255 znaków.

Zwiń tę tabelęRozwiń tę tabelę
Folder/wstępnie zdefiniowany klucz Opis
HKEY_CURRENT_USER Zawiera gałąź główną informacji konfiguracyjnych dla aktualnie zalogowanego użytkownika. Tutaj są przechowywane foldery użytkownika oraz określone przez niego kolory ekranu i ustawienia Panelu sterowania. Te informacje są skojarzone z profilem użytkownika. Czasami dla tego klucza używa się skrótu „HKCU” .
HKEY_USERS Zawiera wszystkie aktywnie ładowane profile użytkowników komputera. Klucz HKEY_CURRENT_USER jest podkluczem klucza HKEY_USERS. Dla klucza HKEY_USERS czasami używa się skrótu „HKU” .
HKEY_LOCAL_MACHINE Zawiera informacje dotyczące konfiguracji komputera (dla każdego użytkownika). Czasami dla tego klucza używa się skrótu „HKLM” .
HKEY_CLASSES_ROOT Jest podkluczem klucza HKEY_LOCAL_MACHINE\Software. Informacje przechowywane w tym kluczu gwarantują uruchomienie poprawnego programu podczas otwierania pliku przy użyciu Eksploratora Windows. Czasami dla tego klucza używa się skrótu „HKCR” . Począwszy od systemu Windows 2000, te informacje są przechowywane w obu kluczach, HKEY_LOCAL_MACHINE i HKEY_CURRENT_USER. Klucz HKEY_LOCAL_MACHINE\Software\Classes zawiera ustawienia domyślne, które mogą stosować się do wszystkich użytkowników komputera lokalnego. Klucz HKEY_CURRENT_USER\Software\Classes zawiera ustawienia, które zastępują ustawienia domyślne i stosują się tylko do użytkownika interaktywnego. Klucz HKEY_CLASSES_ROOT przedstawia widok rejestru, który scala informacje z tych dwóch źródeł. Klucz HKEY_CLASSES_ROOT dostarcza ten scalony widok również dla programów zaprojektowanych dla wcześniejszych wersji systemu Windows. Aby zmienić ustawienia dla użytkownika interaktywnego, zmian należy dokonać w kluczu HKEY_CURRENT_USER\Software\Classes, a nie HKEY_CLASSES_ROOT. Aby zmienić ustawienia domyślne, zmian należy dokonać w kluczu HKEY_LOCAL_MACHINE\Software\Classes. Jeśli użytkownik zapisze klucze w podkluczu klucza HKEY_CLASSES_ROOT, system przechowuje te informacje w kluczu HKEY_LOCAL_MACHINE\Software\Classes. Jeśli użytkownik zapisze wartości w podkluczu klucza HKEY_CLASSES_ROOT, a ten podklucz już istnieje w kluczu HKEY_CURRENT_USER\Software\Classes, system będzie przechowywał te informacje w tym kluczu, a nie w kluczu HKEY_LOCAL_MACHINE\Software\Classes.
HKEY_CURRENT_CONFIG Zawiera informacje o profilu sprzętu użytym przez komputer podczas uruchamiania systemu.

Uwaga: Rejestr w 64-bitowych wersjach systemu Windows XP, Windows Server 2003 i Windows Vista jest podzielony na klucze 32-bitowe i 64-bitowe. Wiele kluczy 32-bitowych ma te same nazwy co ich 64-bitowe odpowiedniki i na odwrót. Domyślnie w 64-bitowej wersji Edytora rejestru, która wchodzi w skład 64-bitowych wersji systemów Windows XP, Windows Server 2003 i Windows Vista, klucze 32-bitowe są wyświetlane w następującym węźle:

HKEY_LOCAL_MACHINE\Software\WOW6432Node

Aby uzyskać więcej informacji dotyczących sposobu wyświetlania rejestru w 64-bitowych wersjach systemu Windows, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

305097  (https://support.microsoft.com/kb/305097/PL/ ) Jak wyświetlić rejestr systemu, używając 64-bitowych wersji systemu Windows


W następującej tabeli przedstawiono aktualnie zdefiniowane i używane przez system Windows typy danych. Maksymalny rozmiar nazwy wartości jest następujący:

  • Windows Server 2003, Windows XP i Windows Vista: 16 383 znaków
  • Windows 2000: 260 znaków ANSI lub 16 383 znaki Unicode
  • Windows Millennium Edition/Windows 98/Windows 95: 255 znaków

Wartości długie (o rozmiarze większym niż 2048 bajtów) muszą być przechowywane jako pliki z nazwami plików przechowywanymi w rejestrze. Rejestr działa wtedy wydajniej. Maksymalny rozmiar wartości jest następujący:

  • Windows NT 4.0/Windows 2000/Windows XP/Windows Server 2003/Windows Vista: dostępna pamięć
  • Windows Millennium Edition/Windows 98/Windows 95: 16 300 bajtów

Uwaga: Obowiązuje limit całkowitego rozmiaru wszystkich wartości klucza równy 64 k.

Zwiń tę tabelęRozwiń tę tabelę
Nazwa Typ danych Opis
Wartość binarna REG_BINARY Dane binarne. Większość informacji o składnikach sprzętowych jest przechowywana jako dane binarne i wyświetlana w Edytorze rejestru w formacie szesnastkowym.
Wartość DWORD REG_DWORD Dane reprezentowane przez liczbę o długości 4 bajtów (32-bitową całkowitą). Wiele parametrów sterowników urządzeń i usług jest tego typu i jest wyświetlanych w Edytorze rejestru w formacie binarnym, szesnastkowym lub dziesiętnym. Wartości pokrewne to DWORD_LITTLE_ENDIAN (najmniej znaczący bajt znajduje się pod najniższym adresem) i REG_DWORD_BIG_ENDIAN (najmniej znaczący bajt znajduje się pod najwyższym adresem).
Wartość ciągu rozwijalnego REG_EXPAND_SZ Ciąg danych o zmiennej długości. Ten typ danych obejmuje zmienne, których wartości są obliczane, jeśli program lub usługa korzysta z danych.
Wartość wielociągu REG_MULTI_SZ Ciąg wielokrotny. Wartości zawierające zestawienia lub wartości wielokrotne, zapisane zwykle w formie możliwej do odczytania przez ludzi. Wpisy są oddzielane spacjami, przecinkami lub innymi znacznikami.
Wartość ciągu REG_SZ Ciąg tekstowy o stałej długości.
Wartość binarna REG_RESOURCE_LIST Seria zagnieżdżonych tablic służących do przechowywania listy zasobów używanych przez sterownik urządzenia sprzętowego lub jedno z urządzeń fizycznych, którymi on steruje. Te dane są wykrywane i zapisywane w drzewie \ResourceMap przez system oraz wyświetlane w Edytorze rejestru w formacie szesnastkowym jako wartość binarna.
Wartość binarna REG_RESOURCE_REQUIREMENTS_LIST Seria zagnieżdżonych tablic służących do przechowywania listy zasobów sprzętowych, z których może korzystać dany sterownik urządzenia lub jedno ze sterowanych przez niego urządzeń fizycznych. Podzestaw tej listy system zapisuje w drzewie \ResourceMap. Te dane są wykrywane przez system i wyświetlane w Edytorze rejestru w formacie szesnastkowym jako wartość binarna.
Wartość binarna REG_FULL_RESOURCE_DESCRIPTOR Seria zagnieżdżonych tablic służących do przechowywania listy zasobów używanych przez fizyczne urządzenie sprzętowe. Te dane są wykrywane i zapisywane w drzewie \HardwareDescription przez system i są wyświetlane w Edytorze rejestru w formacie szesnastkowym jako wartość binarna.
Brak REG_NONE Dane bez określonego typu. Te dane są zapisywane w rejestrze przez system lub aplikacje i wyświetlane w Edytorze rejestru w formacie szesnastkowym jako wartość binarna.
Łącze REG_LINK Ciąg Unicode określający łącze symboliczne.
Wartość QWORD REG_QWORD Dane reprezentowane przez 64-bitową liczbę całkowitą. Te dane są wyświetlane w Edytorze rejestru jako wartości binarne, które wprowadzono w systemie Windows 2000.
   

Wykonywanie kopii zapasowej rejestru

Przed przystąpieniem do edytowania rejestru należy wyeksportować klucze rejestru, które mają być edytowane, lub utworzyć kopię zapasową całego rejestru. W przypadku wystąpienia problemu można będzie wówczas wykonać kroki opisane w sekcji „Przywracanie rejestru” , aby przywrócić poprzedni stan rejestru. Aby wykonać kopię zapasową całego rejestru, należy przy użyciu narzędzia Kopia zapasowa wykonać kopię zapasową stanu systemu. Stan systemu obejmuje rejestr, bazę danych rejestracji klas modelu COM+ i pliki rozruchowe. Aby uzyskać więcej informacji dotyczących wykonywania kopii zapasowej stanu systemu przy użyciu narzędzia Kopia zapasowa, kliknij następujące numery artykułów w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:

308422  (https://support.microsoft.com/kb/308422/PL/ ) Jak wykonywać kopie zapasowe plików i folderów za pomocą narzędzia Kopia zapasowa dostępnego w systemie Windows XP
320820  (https://support.microsoft.com/kb/320820/PL/ ) Jak wykonać kopię zapasową plików i folderów w systemie Windows XP Home Edition, używając narzędzia Kopia zapasowa
326216  (https://support.microsoft.com/kb/326216/PL/ ) Jak używać funkcji Kopia zapasowa w celu wykonywania kopii zapasowych i przywracania danych w systemie Windows Server 2003

Edytowanie rejestru

Aby zmodyfikować dane rejestru, program musi użyć funkcji rejestru, które są zdefiniowane w następującej witrynie MSDN w sieci Web:

https://msdn2.microsoft.com/en-us/library/ms724875.aspx (https://msdn2.microsoft.com/en-us/library/ms724875.aspx)

Administratorzy mogą modyfikować rejestr za pomocą Edytora rejestru (Regedit.exe lub Regedt32.exe), zasad grupy, zasad systemu, plików rejestru (reg) lub przez uruchamianie skryptów, takich jak pliki skryptów języka Visual Basic.

Korzystanie z interfejsu użytkownika systemu Windows

Firma Microsoft zaleca, aby w miarę możliwości unikać ręcznego edytowania rejestru i zmieniać ustawienia systemowe, korzystając z interfejsu użytkownika systemu Windows. Czasami może się jednak okazać, że najlepszą metodą rozwiązania problemu z produktem jest właśnie edytowanie rejestru. Jeśli problem jest udokumentowany w bazie wiedzy Microsoft Knowledge Base, dostępny jest w niej artykuł z instrukcjami krok po kroku objaśniającymi edytowanie rejestru. Firma Microsoft zaleca, aby postępować dokładnie według tych instrukcji.

Korzystanie z Edytora rejestru

Ostrzeżenie: Błędy popełnione podczas modyfikowania rejestru przy użyciu Edytora rejestru lub innej metody mogą być przyczyną poważnych problemów. W przypadku tych problemów może być wymagane ponowne zainstalowanie systemu operacyjnego. Firma Microsoft nie może zagwarantować, że rozwiązanie tych problemów będzie możliwe. Użytkownik modyfikuje rejestr na własną odpowiedzialność.
Za pomocą Edytora rejestru można wykonać następujące czynności:

  • Lokalizowanie poddrzewa, klucza, podklucza lub wartości
  • Dodawanie podklucza lub wartości
  • Zmienianie wartości
  • Usuwanie podklucza lub wartości
  • Zmienianie nazwy podklucza lub wartości

W obszarze nawigacyjnym Edytora rejestru są wyświetlane foldery. Każdy folder reprezentuje wstępnie zdefiniowany klucz na komputerze lokalnym. W przypadku uzyskania dostępu do rejestru komputera zdalnego wyświetlane są tylko dwa wstępnie zdefiniowane klucze: HKEY_USERS i HKEY_LOCAL_MACHINE.

Korzystanie z zasad grupy

Program Microsoft Management Console (MMC) zawiera narzędzia administracyjne służące do administrowania sieciami, komputerami, usługami i innymi składnikami systemu. Przystawka programu MMC Zasady grupy umożliwia administratorom definiowanie ustawień zasad, które są stosowane do komputerów i użytkowników. Zasady grupy można implementować na komputerach lokalnych, używając lokalnej przystawki programu MMC Zasady grupy – Gpedit.msc. Zasady grupy można zaimplementować w usłudze Active Directory przy użyciu przystawki programu MMC Użytkownicy i komputery usługi Active Directory. Aby uzyskać więcej informacji dotyczących sposobu korzystania z zasad grupy, zobacz tematy Pomocy w odpowiedniej przystawce programu MMC Zasady grupy.

Korzystanie z pliku wpisów rejestru (reg)

Należy utworzyć plik wpisów rejestru (reg) zawierający zmiany w rejestrze, a następnie uruchomić go na komputerze, na którym mają zostać wprowadzone zmiany. Plik reg można uruchomić ręcznie lub przy użyciu skryptu logowania. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

310516  (https://support.microsoft.com/kb/310516/PL/ ) Jak dodawać, modyfikować i usuwać podklucze oraz wartości rejestru za pomocą pliku wpisów rejestru (reg)

Korzystanie z hosta skryptów systemu Windows

Host skryptów systemu Windows umożliwia uruchamianie skryptów VBScript i JScript bezpośrednio w systemie operacyjnym. Można utworzyć pliki skryptów VBScript i JScript, które usuwają, odczytują i zapisują klucze oraz wartości rejestru, używając metod hosta skryptów systemu Windows. Aby uzyskać więcej informacji dotyczących tych metod, odwiedź następujące witryny firmy Microsoft w sieci Web:

Metoda RegDelete
https://msdn2.microsoft.com/en-us/library/293bt9hh.aspxp (https://msdn2.microsoft.com/en-us/library/293bt9hh.aspx)
Metoda RegRead
https://msdn2.microsoft.com/en-us/library/x05fawxd.aspx (https://msdn2.microsoft.com/en-us/library/x05fawxd.aspx)
Metoda RegWrite
https://msdn2.microsoft.com/en-us/library/yfdfhz1b (https://msdn2.microsoft.com/en-us/library/yfdfhz1b)

Korzystanie z Instrumentacji zarządzania Windows

Instrumentacja zarządzania Windows (WMI) jest składnikiem systemu operacyjnego Microsoft Windows stanowiącym implementację standardu zarządzania WBEM (Web-Based Enterprise Management) opracowaną przez firmę Microsoft. Standard WBEM powstał w wyniku branżowej inicjatywy utworzenia standardowej technologii uzyskiwania dostępu do informacji dotyczących zarządzania w środowisku przedsiębiorstwa. Usługa WMI umożliwia automatyzację zadań administracyjnych (na przykład edytowanie rejestru) w środowisku przedsiębiorstwa. Z usługi WMI można korzystać w językach skryptów, których aparat jest zawarty w systemie Windows i które obsługują obiekty Microsoft ActiveX. Do modyfikowania rejestru systemu Windows można również używać narzędzia wiersza polecenia usługi WMI (Wmic.exe).
Aby uzyskać więcej informacji dotyczących usługi WMI, odwiedź następującą witrynę firmy Microsoft w sieci Web:

https://msdn2.microsoft.com/en-us/library/aa394582.aspx (https://msdn2.microsoft.com/en-us/library/aa394582.aspx)

Aby uzyskać więcej informacji dotyczących narzędzia wiersza polecenia usługi WMI, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

290216  (https://support.microsoft.com/kb/290216/PL/ ) Opis narzędzia wiersza polecenia usługi Instrumentacji zarządzania Windows (WMI) – Wmic.exe

Korzystanie z Narzędzia rejestru konsoli dla Windows

Do edytowania rejestru można użyć Narzędzia rejestru konsoli dla Windows (Reg.exe). Aby uzyskać pomoc dotyczącą narzędzia Reg.exe, wpisz polecenie reg /? w wierszu polecenia, a następnie kliknij przycisk OK.

Przywracanie rejestru

Aby przywrócić rejestr, należy użyć odpowiedniej metody.

Przywracanie kluczy rejestru

Aby przywrócić wyeksportowane podklucze rejestru, kliknij dwukrotnie plik wpisów rejestru (reg) zapisany zgodnie z opisem w sekcji „Eksportowanie podkluczy rejestru” . Można również przywrócić cały rejestr z kopii zapasowej. Aby uzyskać więcej informacji dotyczących sposobu przywracania całego rejestru, zobacz sekcję „Przywracanie całego rejestru” w dalszej części tego artykułu.

Przywracanie całego rejestru

Aby przywrócić cały rejestr, należy przywrócić stan systemu z kopii zapasowej. Aby uzyskać więcej informacji dotyczących sposobu przywracania stanu systemu z kopii zapasowej, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

309340  (https://support.microsoft.com/kb/309340/PL/ ) Jak używać funkcji Kopia zapasowa do przywracania plików i folderów na komputerze w systemie Windows XP


Uwaga: Wykonanie kopii zapasowej stanu systemu powoduje również utworzenie zaktualizowanych kopii plików rejestru w folderze %SystemRoot%\Repair. Jeśli po edytowaniu rejestru nie można uruchomić systemu Windows XP, można ręcznie zastąpić pliki rejestru, wykonując kroki opisane w sekcji „Część 1” następującego artykułu z bazy wiedzy Microsoft Knowledge Base:

307545  (https://support.microsoft.com/kb/307545/PL/ ) Jak przywrócić rejestr, który w wyniku uszkodzenia uniemożliwia uruchomienie systemu Windows XP
 
 
Źródło: https://support.microsoft.com/kb/256986/pl