Darmowy fragment publikacji:
IDZ DO
IDZ DO
PRZYK£ADOWY ROZDZIA£
PRZYK£ADOWY ROZDZIA£
SPIS TREĎCI
SPIS TREĎCI
KATALOG KSI¥¯EK
KATALOG KSI¥¯EK
KATALOG ONLINE
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
TWÓJ KOSZYK
DODAJ DO KOSZYKA
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ZAMÓW INFORMACJE
O NOWOĎCIACH
O NOWOĎCIACH
ZAMÓW CENNIK
ZAMÓW CENNIK
CZYTELNIA
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Windows XP.
Rejestr systemu
Autor: Olga Kokoreva
T³umaczenie: Piotr Pilch
ISBN: 83-7361-664-0
Tytu³ orygina³u: Windows XP Registry
Format: B5, stron: 488
Rejestr jest magazynem wszystkich informacji dotycz¹cych sprzêtu i komponentów
systemu. Jest jednoczeġnie drzwiami do niemal wszystkich funkcji systemu.
Dziêki mo¿liwoġciom modyfikowania rejestru mo¿na dostosowaæ Windows XP do
swoich wymagañ i zoptymalizowaæ jego dzia³anie. Tak jak wiele innych komponentów
systemu Windows XP, rejestr jest bardzo podobny do rejestru systemów Windows
NT/2000. Jednak istnieje pomiêdzy nimi te¿ wiele ró¿nic, z których czêġæ jest
oczywista, natomiast inne trudno zauwa¿alne. Rejestr systemu Windows XP zawiera
te¿ ogromn¹ liczbê nowych wpisów.
Ksi¹¿ka „Windows XP. Rejestr systemu” opisuje istotne komponenty rejestru systemów
Windows NT/2000/XP oraz przedstawia podobieñstwa i ró¿nice, które wystêpuj¹
pomiêdzy rejestrami. Mo¿na w niej znaleĥæ metody archiwizowania i przywracania
rejestru, a tak¿e najwa¿niejsze wskazówki techniczne dotycz¹ce modyfikowania
rejestru i zabezpieczania go przed uszkodzeniem oraz zmianami dokonywanymi
przez ĥle napisane programy i niedoġwiadczonych u¿ytkowników.
• Struktura rejestru systemowego
• Archiwizacja i odtwarzanie rejestru
• Sposoby edycji rejestru
• Modyfikowanie rejestru w celu zmodyfikowania systemu Windows
• Opis kluczy rejestru
• Zabezpieczanie rejestru
Jeġli korzystasz z systemu Windows XP, uwa¿asz siê za zaawansowanego u¿ytkownika
i chcesz poznaæ system jeszcze lepiej — siêgnij po tê ksi¹¿kê.
Spis treści
Wprowadzenie ...................................................n................................ 9
Rozdział 1. Ogólne informacje na temat rejestru systemu Windows XP ............... 15
Wprowadzenie...................................................n...................................................n........... 15
Historia rejestru ...................................................n...................................................n......... 17
Wady plików .ini...................................................n...................................................n. 18
Rola rejestru ...................................................n...................................................n........ 19
Struktura rejestru ...................................................n...................................................n.......23
Przechowywanie danych w rejestrze...................................................n...................... 27
Problem z rozmiarem rejestru ...................................................n................................ 31
W jakiej sytuacji powinno się edytować zawartość rejestru? .......................................... 34
Alternatywne metody edytowania rejestru ...................................................n............. 35
Podsumowanie ...................................................n...................................................n.......... 46
Rozdział 2. Archiwizacja i przywracanie rejestru ................................................. 47
Przygotowanie się do edycji rejestru ...................................................n............................ 48
Zastosowanie narzędzia Przywracanie systemu ...................................................n........... 49
Tworzenie punktu przywracania ...................................................n............................ 49
Przywracanie stanu systemu za pomocą narzędzia Przywracanie systemu ............... 50
Konfigurowanie narzędzia Przywracanie systemu ...................................................n. 52
Diagnozowanie narzędzia Przywracanie systemu ...................................................n.. 55
Zastosowanie narzędzia Kopia zapasowa firmy Microsoft.............................................. 56
Przygotowanie do automatycznego przywracania systemu....................................... 60
Wykonanie procedury automatycznego przywracania systemu ................................ 62
Archiwizowanie i przywracanie danych o stanie systemu ........................................ 65
Zastosowanie narzędzia Konsola odzyskiwania ...................................................n........... 71
Metody uruchamiania narzędzia Konsola odzyskiwania........................................... 72
Ręczne archiwizowanie i przywracanie rejestru systemów Windows NT/2000/XP ....... 75
Eksportowanie i importowanie rejestru ...................................................n........................ 76
Archiwizowanie rejestru przy użyciu narzędzi pakietu Resource Kit ............................. 79
Narzędzie REG zawarte w pakiecie Resource Kit systemu Windows 2000.............. 79
Podsumowanie ...................................................n...................................................n.......... 81
Rozdział 3. Zastosowanie narzędzia Edytor rejestru ............................................ 83
Zastosowanie narzędzia regedit.exe ...................................................n............................. 84
Uruchamianie narzędzia regedit.exe...................................................n............................. 85
Omówienie interfejsu użytkownika programu regedit.exe .............................................. 85
Polecenia menu Plik...................................................n............................................... 88
Polecenia menu Edycja ...................................................n.......................................... 93
Polecenia menu Widok ...................................................n.......................................... 99
4
Windows XP. Rejestr systemu
Zarządzanie zabezpieczeniami rejestru ...................................................n...................... 103
Ustawianie uprawnień do kluczy rejestru...................................................n............. 104
Inspekcja rejestru ...................................................n................................................. 109
Podsumowanie ...................................................n...................................................n........ 113
Rozdział 4. Najprostsze metody dostosowywania systemu Windows.................. 115
Przygotowanie się do modyfikacji rejestru...................................................n................. 116
Dostosowywanie kolejności ładowania ...................................................n...................... 117
Najprostsza metoda edycji pliku boot.ini ...................................................n............. 118
Ręczna edycja pliku boot.ini ...................................................n................................ 123
Dostosowywanie procesu logowania...................................................n.......................... 126
Określanie własnego logo wyświetlanego w trakcie logowania.............................. 126
Szybkie przełączanie użytkowników w systemie Windows XP.............................. 127
Dodanie niestandardowego komunikatu wyświetlanego w trakcie logowania........ 130
Proces automatycznego logowania...................................................n....................... 134
Ukrywanie nazwy ostatnio zalogowanego użytkownika ............................................. 135
Konfigurowanie katalogów systemowych...................................................n.................. 136
Usuwanie z okna Mój komputer katalogów udostępnionych dokumentów ............ 137
Wyświetlanie opcji udostępniania systemu Windows XP
podobnie jak w systemie Windows 2000 ...................................................n............. 140
Inne popularne metody dostosowywania...................................................n........................ 141
Konfigurowanie funkcji automatycznego odtwarzania ........................................... 142
Przywracanie domyślnych ikon...................................................n............................ 143
Zmiana nazwy ikony kosza ...................................................n.................................. 143
Zmiana ikony kosza ...................................................n............................................. 144
Usuwanie strzałek z ikon skrótów systemu Windows............................................. 144
Blokowanie automatycznego uruchamiania programu Windows Messenger ......... 144
Usuwanie niepożądanych komponentów systemu Windows .................................. 145
Podsumowanie ...................................................n...................................................n........ 146
Rozdział 5. Technologia Plug and Play w systemie Windows XP........................ 147
Rejestr i podsystem Plug and Play...................................................n.............................. 148
Historia technologii Plug and Play ...................................................n....................... 149
Obsługa technologii Plug and Play w systemie Windows NT 4.0........................... 150
Technologia Plug and Play w systemach Windows 2000/XP ................................. 150
Drzewo urządzeń Plug and Play...................................................n........................... 161
Profile sprzętowe...................................................n...................................................n..... 168
Zarządzanie energią...................................................n...................................................n. 171
Zakładka Schematy zasilania ...................................................n............................... 171
Zakładka Hibernacja ...................................................n............................................ 173
Zakładka Zaawansowane ...................................................n..................................... 174
Zakładka APM ...................................................n...................................................n.. 175
Klucze rejestru związane z technologią APM ...................................................n...... 177
Zakładka Zasilacz UPS ...................................................n........................................ 179
Narzędzia systemów Windows 2000/XP służące do zarządzania energią............... 179
Schematy zasilania ...................................................n............................................... 180
Klucze rejestru powiązane z zarządzaniem energią ................................................ 181
Podsumowanie ...................................................n...................................................n........ 182
Rozdział 6. Rejestr i proces ładowania systemu ............................................... 183
Operacje wykonywane w trakcie uruchamiania komputera .......................................... 184
Procedura POST...................................................n...................................................n 186
Pliki wymagane do uruchomienia systemów Windows NT/2000/XP..................... 187
Proces wstępnego ładowania...................................................n................................ 188
Proces wykonywany przez program ładujący ...................................................n...... 191
Spis treści
5
Ładowanie jądra ...................................................n...................................................n 199
Logowanie...................................................n...................................................n......... 204
Ładowanie innych usług i sterowników ...................................................n............... 206
Ochrona plików systemów Windows 2000/XP...................................................n.... 212
Uruchamianie systemu z problemami dotyczącymi konfiguracji............................ 221
Konsola odzyskiwania ...................................................n......................................... 225
Raportowanie błędów...................................................n........................................... 227
Podsumowanie ...................................................n...................................................n........ 231
Rozdział 7. Omówienie kluczy rejestru...................................................n........... 233
Klucz HKEY_LOCAL_MACHINE...................................................n........................... 233
Klucz HKEY_LOCAL_MACHINEHARDWARE................................................ 235
Klucz HKEY_LOCAL_MACHINESAM...................................................n........... 244
Klucz HKEY_LOCAL_MACHINESECURITY ...................................................n 244
Klucz HKEY_LOCAL_MACHINESOFTWARE ................................................. 245
Klucz HKEY_LOCAL_MACHINESystem...................................................n........ 252
Klucz HKEY_CLASSES_ROOT...................................................n............................... 269
Klucz HKEY_CURRENT_CONFIG ...................................................n......................... 269
Klucz HKEY_CURRENT_USER...................................................n.............................. 269
Klucz HKEY_USERS...................................................n................................................ 272
Podsumowanie ...................................................n...................................................n........ 272
Rozdział 8. Ustawienia sieciowe w rejestrze...................................................n.. 273
Instalowanie komponentów sieciowych za pomocą apletów okna Panel sterowania .... 274
Ustawienia sieciowe w rejestrze systemu Windows NT 4.0.......................................... 279
Typy komponentów sieciowych w rejestrze systemu Windows NT 4.0 ................. 280
Wpływ instalacji komponentów sieciowych na rejestr systemu Windows NT 4.0 .....280
Ustawienia sieciowe zawarte w rejestrze systemów Windows 2000/XP ...................... 285
Powiązanie instalacji komponentów sieciowych
z rejestrem systemów Windows 2000/XP ...................................................n......... 285
Dostosowywanie sieci przy użyciu rejestru...................................................n................ 296
Automatyczna konfiguracja adresów IP...................................................n............... 296
Wyłączanie dynamicznej rejestracji na serwerach DNS ......................................... 298
Wyłączanie trwałych połączeń sieciowych ...................................................n.......... 299
Metoda instalacji protokołu NetBEUI w systemie Windows XP ............................ 300
Podsumowanie ...................................................n...................................................n........ 301
Rozdział 9. Zabezpieczanie rejestru ...................................................n.............. 303
Najprostsze metody ograniczania dostępu do rejestru ...................................................n 305
Dodatkowa ochrona w systemach Windows 2000/XP ............................................ 305
Modyfikowanie praw dostępu do kluczy rejestru ...................................................n....... 307
Standardowe prawa dostępu systemu Windows XP................................................ 309
Domyślne prawa dostępu systemów Windows 2000/ XP
do obiektów systemu plików i kluczy rejestru ...................................................n... 311
Udostępnianie plików i uprawnienia w systemie Windows XP .............................. 316
Najważniejsze klucze rejestru systemów Windows NT/2000/XP
wymagające ochrony ...................................................n......................................... 320
Ochrona rejestru przed nieautoryzowanym zdalnym dostępem..................................... 323
Ochrona gałęzi SAM i Security...................................................n.................................. 325
Metoda ochrony gałęzi SAM ...................................................n............................... 325
Ograniczanie anonimowego dostępu do systemu ...................................................n....... 329
Ograniczanie anonimowego dostępu w systemie Windows 2000 ........................... 329
Rozszerzenia systemu Windows XP i kwestie związane ze zgodnością ................. 330
Narzędzie Zaplanowane zadania jako potencjalne zagrożenie bezpieczeństwa systemu...333
Podsumowanie ...................................................n...................................................n........ 336
6
Windows XP. Rejestr systemu
Rozdział 10. Zarządzanie środowiskiem pracy użytkownika................................. 337
Podstawowe informacje na temat profili użytkowników............................................... 338
Zalety profilu użytkownika ...................................................n........................................ 338
Ustawienia przechowywane w profilu użytkownika ............................................... 340
Struktura profilu użytkownika...................................................n.............................. 340
Plik ntuser.dat ...................................................n...................................................n... 345
Mobilne profile użytkownika w środowiskach mieszanych .......................................... 346
Rozszerzenia mobilnych profili użytkowników systemu Windows XP .................. 347
Skrypty ...................................................n...................................................n.................... 352
Zastosowanie narzędzia WSH w skryptach logowania ........................................... 353
Ogólne informacje na temat zasad systemowych ...................................................n....... 353
Szablony administracyjne ...................................................n.................................... 354
Ustawienia zabezpieczeń...................................................n...................................... 355
Przyrostowe szablony zabezpieczeń...................................................n..................... 356
Sposób przechowywania zasad grupy ...................................................n.................. 356
Podsumowanie ...................................................n...................................................n........ 359
Rozdział 11. Rozwiązywanie częstych problemów ............................................... 361
Rozwiązywanie problemów z uruchamianiem systemu ................................................ 361
Diagnozowanie problemów z uruchamianiem systemu ............................................ 363
Równoległa instalacja systemu operacyjnego ...................................................n...... 363
Dodatkowe profile sprzętowe...................................................n............................... 366
Problemy z urządzeniem Zip Iomega korzystającym z portu równoległego ........... 367
Sposób wymuszania wyświetlenia „niebieskiego ekranu śmierci” ......................... 369
Uruchamianie z wiersza poleceń narzędzia Przywracanie systemu ........................ 370
Ponowne tworzenie brakującej dyskietki ASR...................................................n..... 371
Rozwiązywanie problemów z zamykaniem systemu...................................................n.. 373
Konfigurowanie systemów Windows NT/2000/XP
w celu usuwania pliku stronicowania przy ich zamykaniu ......................................... 374
Odblokowywanie stacji roboczej z systemem Windows XP ......................................... 374
Inne problemy ...................................................n...................................................n......... 376
Uaktywnianie rejestrowania wyników debuggingu profili użytkowników
i zasad systemowych...................................................n.......................................... 376
Konfigurowanie narzędzia Kopia zapasowa ...................................................n........ 376
Usuwanie nieaktualnych pozycji z listy zawartej w oknie Dodawanie
lub usuwanie programów...................................................n................................... 381
Konfigurowanie rejestrowania zdarzeń związanych z przydziałami dysku............. 383
Podsumowanie ...................................................n...................................................n........ 384
Rozdział 12. Zaawansowane dostosowywanie i rozwiązywanie problemów........... 385
Dostosowywanie interfejsu użytkownika ...................................................n................... 385
Wpisy rejestru powiązane z konfiguracją menu Start systemu Windows XP ......... 386
Zmiana sposobu działania grupowania przycisków paska zadań ............................ 391
Wyłączanie porad „dymkowych” wyświetlanych w obszarze powiadomień .......... 392
Uniemożliwianie wyświetlenia programu na liście najczęściej używanych aplikacji......393
Wyłączanie wyświetlania na ekranie powitalnym systemu Windows XP
powiadamiania o otrzymanych wiadomościach pocztowych................................. 395
Metody pomocne przy rozwiązywaniu problemów...................................................n.... 397
Dostosowywanie narzędzia Przywracanie systemu................................................. 397
Uaktywnianie rejestrowania zdarzeń związanych z programem Instalator Windows .....402
Modyfikowanie w systemie Windows XP ustawień protokołów TCP/IP ............... 403
Uaktywnianie w systemie Windows XP narzędzia Pomoc zdalna .......................... 404
Rozwiązywanie problemów z uruchamianiem usług .............................................. 409
Podsumowanie ...................................................n...................................................n........ 417
Spis treści
7
Rozdział 13. Inne narzędzia modyfikujące rejestr ................................................ 419
Pakiet narzędzi PowerToys dla systemu Windows XP ................................................. 419
Narzędzie Image Resizer...................................................n...................................... 420
Narzędzie Fast User Switcher ...................................................n.............................. 421
Narzędzie Open Command Window Here ...................................................n........... 422
Shell Audio Player ...................................................n............................................... 422
Narzędzie PowerToy Calculator ...................................................n.......................... 423
Narzędzie Tweak UI ...................................................n............................................ 423
Narzędzie RegMaid porządkujące rejestr ...................................................n................... 426
Narzędzie Regmon monitorujące rejestr...................................................n........................ 428
Narzędzie NTFSDOS Professional ...................................................n............................ 429
Narzędzie RegSafe Professional firmy imagine LAN ...................................................n 429
Narzędzie ERD Commander 2003 ...................................................n............................. 432
Podsumowanie ...................................................n...................................................n........ 439
Rozdział 14. Automatyzacja zarządzania rejestrem przy użyciu narzędzia WSH........ 441
Podstawowe informacje na temat narzędzia WSH ...................................................n..... 442
Zalety narzędzia WSH ...................................................n......................................... 442
Model obiektowy narzędzia Host skryptów systemu Windows .................................... 444
Obiekt WshShell ...................................................n.................................................. 445
Metoda RegRead...................................................n.................................................. 445
Metoda RegWrite ...................................................n................................................. 446
Metoda RegDelete...................................................n................................................ 447
Przykład skryptu napisanego w języku JScript ...................................................n.... 447
Przykłady skryptów języka VBScript ...................................................n.................. 449
Podsumowanie ...................................................n...................................................n........ 455
Dodatek A Zasoby internetowe ...................................................n.................... 459
Bibliografia ...................................................n................................. 465
Słownik ...................................................n...................................... 467
Skorowidz...................................................n................................... 473
Rozdział 1.
Ogólne informacje
na temat rejestru
systemu Windows XP
Cóż, dość dobrze wiesz, co mam na myśli…
— E. M. Blake: „SF story for telepathists”
Książka została napisana z myślą o administratorach systemów, personelu działu po-
mocy technicznej i zaawansowanych użytkowników systemu Windows XP. Zapewne
większość z Was dysponuje już przynajmniej pewną wiedzą z zakresu rejestru. Prototyp
nowoczesnego rejestru istniał już nawet w systemie Windows 3.1. Już wtedy większość
programistów wiedziała, co mają na myśli ich rozmówcy wspominający o rejestrze. Po
pojawieniu się na rynku systemu operacyjnego Windows 95 zagadnienia związane z reje-
strem stały się popularne wśród zwykłych użytkowników. Nie jest to zaskoczeniem, po-
nieważ rejestr jest najważniejszym komponentem każdej nowoczesnej wersji systemu
operacyjnego Windows. W tym rozdziale zostanie dokonany krótki przegląd rejestru sys-
temów Windows NT/2000/XP, opisana struktura i typy danych rejestru, a także metody
przechowywania danych stosowane w przypadku rejestru systemu Windows XP. Nie-
stety, objętość książki jest ograniczona, dlatego nie miałam możliwości zawarcia w niej
szczegółowego opisu różnic występujących pomiędzy rejestrami systemów Windows
95/98/ME i Windows NT/2000/XP. Jednak w książce dodatkowo zostaną omówione
główne różnice.
Wprowadzenie
Czy kiedykolwiek znalazłeś się w sytuacji, w której konieczne było wykonanie pilnego
zadania, ale na ekranie pojawiały się dziwne i przerażające komunikaty informujące
o braku możliwości załadowania systemu operacyjnego z powodu uszkodzenia rejestru?
16
Windows XP. Rejestr systemu
Np. wśród użytkowników systemu Windows NT 4.0 jest wiele osób, które były zszoko-
wane po pojawieniu się w trakcie ładowania systemu następującego komunikatu:
15.QCFGT8
9KPFQYU06EQWNFPQVUVCTVDGECWUGVJGHQNNQYKPIHKNGKUOKUUKPIQTEQTTWRV
(uruchomienie systemu Windows NT nie było możliwe, ponieważ następującego pliku
brakuje lub został uszkodzony)
9+006 5;56 / 10(+) 5;56 /
;QWECPCVVGORVVQTGRCKTVJKUHKNGD[UVCTVKPI9KPFQYU065GVWRWUKPI
VJGQTKIKPCN5GVWRHNQRR[FKUMQT 41/
(można spróbować naprawić ten plik przez uruchomienie z oryginalnej dyskietki lub
dysku CD-ROM programu instalacyjnego systemu Windows NT)
5GNGEV T CVVJGHKTUVUETGGPVQTGRCKT
(w celu rozpoczęcia naprawy pliku po pojawieniu się pierwszego okna należy nacisnąć
klawisz R).
Jeśli już dokonano migracji systemu Windows do wersji 2000 lub XP, na ekranie może
pojawić się prawie taki sam komunikat. Oto on:
9KPFQYU:2EQWNFPQVUVCTVDGECWUGVJGHQNNQYKPIHKNGKUOKUUKPIQTEQTTWRV
(uruchomienie systemu Windows 2000/XP nie było możliwe, ponieważ następującego
pliku brakuje lub został uszkodzony)
9+006 5;56 / 10(+) 5;56 /
;QWECPCVVGORVVQTGRCKTVJKUHKNGD[UVCTVKPI9KPFQYU9JKUVNGT
(można spróbować naprawić ten plik przez uruchomienie programu instalacyjnego sys-
temu Windows 2000/Whistler)
5GVWRWUKPIVJGQTKIKPCN5GVWRHNQRR[FKUMQT 41/
(program instalacyjny korzysta z oryginalnej dyskietki lub dysku CD-ROM)
5GNGEV T CVVJGHKTUVUETGGPVQTGRCKT
(w celu rozpoczęcia naprawy pliku po pojawieniu się pierwszego okna należy nacisnąć
klawisz R).
Powyższe przykłady wyraźnie pokazują, że pojedynczy błąd zaistniały w rejestrze sys-
temowym (plik System wymieniony w powyższych komunikatach zawiera informacje na
temat rejestru) może mieć wpływ na całą konfigurację systemu operacyjnego, a nawet
uniemożliwić jego załadowanie. Dodatkowo istnieją aplikacje, które będą działały po-
prawnie tylko po zmodyfikowaniu zawartości rejestru systemowego. Z tego powodu nie
można zlekceważyć tego, jak ważne jest zrozumienie rejestru i zdobycie umiejętności
jego przetwarzania.
Rejestr jest trudny do zrozumienia i rozszyfrowania. Jednak jest jednym z najważniej-
szych komponentów każdego nowoczesnego systemu operacyjnego należącego do
rodziny systemów Windows. Ani systemy Windows 9x/ME, ani systemy Windows NT/
2000/XP nie mogą bez rejestru działać. A zatem czym właściwie jest rejestr? Rejestr
Rozdział 1. ♦ Ogólne informacje na temat rejestru systemu Windows XP
17
jest zcentralizowaną bazą danych przechowującą wszystkie ustawienia systemu opera-
cyjnego i aplikacji w nim uruchomionych. To sprawia, że rejestr jest podobny do róż-
nych plików .ini, a także takich plików, jak autoexec.bat i config.sys stosowanych w po-
przednich wersjach systemu Windows. W rejestrze są też zapisane informacje na temat
wszystkich urządzeń, w tym zgodnych z technologią Plug and Play. Dodatkowo w reje-
strze znajdują się dane OLE i powiązania aplikacji z plikami. Rejestr zawiera wszystkie
dane dotyczące aplikacji obsługujących technologie Plug and Play i OLE, a także para-
metry sieci, profile sprzętowe i profile użytkowników.
W ramach podsumowania można powiedzieć, że jeśli w komputerze znajduje się dowolne
urządzenie lub oprogramowanie mające na niego określony wpływ, można być pewnym,
że w rejestrze systemowym znajduje się informacja na temat takiego komponentu.
Historia rejestru
Samo zagadnienie rejestru nie jest czymś nowym w systemie Windows. Jednak w nowo-
czesnej wersji rejestru dokonano imponującego postępu w zakresie zwiększania możli-
wości zarządzania systemem z jednego miejsca, czyli bazy danych rejestru. Baza danych
została stworzona jako baza dla wszystkich parametrów powiązanych ze sprzętem i opro-
gramowaniem występującym w komputerze, a także ustawień niestandardowych doko-
nanych w systemie Windows przez użytkowników.
Pierwszym systemem operacyjnym z rodziny systemów Windows, który odniósł suk-
ces, był system Windows 3.1. W systemie tym występowały trzy różne typy plików
konfiguracyjnych:
Systemowe pliki inicjalizacyjne. Po wykonaniu standardowej instalacji systemu
Windows 3.1 dostępnych było sześć systemowych plików inicjalizacyjnych
— control.ini, progman.ini, protocol.ini, system.ini, win.ini i winfile.ini.
Plik win.ini zawierał podstawowe informacje dotyczące konfiguracji
oprogramowania, a także kilka parametrów dodawanych przez dodatkowe
aplikacje po ich zainstalowaniu przez użytkownika. W starszych wersjach
systemu Windows każda nowa zainstalowana aplikacja swoje ustawienia
umieszczała w pliku win.ini. A zatem jeśli użytkownik zainstalował dużą
liczbę aplikacji, plik bardzo szybko zwiększał swój rozmiar. Jednocześnie
wielkość pliku była ograniczona do 64 kB. Ograniczenie to było przyczyną
problemów, gdy została osiągnięta maksymalna wielkość pliku. Różne
wersje systemu Windows 3.1 nie ostrzegały użytkownika, gdy maksymalna
wielkość pliku win.ini została przekroczona. W efekcie wszystkie modyfikacje
dokonane w ostatnich sekcjach pliku (znajdujących się poza zakresem
inicjalizacyjnym) były ignorowane przez system. Z tego powodu Microsoft
zalecał twórcom oprogramowania, aby informacje na temat aplikacji
przechowywali w oddzielnych plikach nazywanych prywatnymi plikami
inicjalizacyjnymi (prywatne pliki .ini).
Plik system.ini spełniał rolę głównego magazynu danych systemowych
dotyczących sprzętu. W przeciwieństwie do pliku win.ini przechowującego
18
Windows XP. Rejestr systemu
informacje związane głównie z działaniem systemu, w pliku system.ini
znajdowały się dane dotyczące urządzeń i ich sterowników, a także powłok
do załadowania itp.
Plik progman.ini zawierał ustawienia inicjalizacyjne komponentu Windows
Program Manager. Z kolei plik winfile.ini przechowywał ustawienia dotyczące
komponentu Windows File Manager. Jeśli jeden z tych plików lub oba nie
istniały (w przeciwieństwie do plików win.ini i system.ini), załadowanie
systemu Windows nadal było możliwe. Jednak w takiej sytuacji zarówno
komponent Windows Program Manager, jak i Windows File Manager zostaną
uruchomione przy użyciu standardowej konfiguracji, co spowoduje utratę
wszystkich ustawień niestandardowych. Plik control.ini przechowuje
ustawienia powiązane z komponentem Control Panel.
Plik protocol.ini pojawił się w wersjach systemu operacyjnego Windows for
Workgroups 3.1. W pliku były przechowywane ustawienia inicjalizacyjne
dotyczące sieci Windows.
Prywatne pliki inicjalizacyjne. Były to pliki .ini dodawane przez aplikacje
instalowane w systemie. Pliki służyły do przechowywania informacji na temat
aplikacji uwzględniających wielkość i położenie okien programów i listy ostatnio
używanych plików (parametr /47.KUV).
Istniał jeszcze plik reg.dat będący bezpośrednim protoplastą rejestru systemów
Windows 95/98/ME i Windows NT/2000/XP. Plik był hierarchiczną bazą danych
zawierającą strukturę opartą na pojedynczym głównym kontenerze o nazwie
*- ;A .#55 5A4116. W takiej strukturze były zagnieżdżone inne struktury
przechowujące dane systemowe niezbędne do obsługi technologii OLE (Object
Linking and Embedding) i powiązań aplikacji z plikami. Baza danych rejestru
umożliwiała użytkownikom systemu Windows 3.1x dokonywanie zmian
w zachowaniu obiektów OLE i dawała możliwość przeglądania listy aplikacji
zarejestrowanych w środowisku Windows.
W przeciwieństwie do plików .ini będących tekstowymi plikami ASCII, które można było
edytować przy użyciu dowolnego edytora tekstu, plik reg.dat był plikiem binarnym.
Aby go zmodyfikować, użytkownik musiał użyć specjalnego programu o nazwie Regi-
stry Editor (regedit.exe). Po wykonaniu przez użytkownika polecenia TGIGFKVGZGX
program wyświetlał plik reg.dat zawierający hierarchiczną strukturę z zagnieżdżonymi
parametrami. Jednak struktura pliku reg.dat była znacznie prostsza od struktury nowo-
czesnego rejestru.
Wady plików .ini
Jeden z najbardziej widocznych problemów związanych z plikami .ini był związany
z możliwością ich zarządzania. Standardowy zestaw plików .ini tworzony w trakcie
instalacji systemu Windows 3.x nie stwarzał żadnych trudności. Jednak gdy użytkownik
instalował i usuwał aplikacje, liczba plików .ini cały czas rosła. Takie rozwiązanie miało
kilka poważnych wad. Oto one:
Rozdział 1. ♦ Ogólne informacje na temat rejestru systemu Windows XP
19
Ręczna edycja plików .ini i ustawianie prawidłowych wartości dla różnych
parametrów aplikacji dla zaawansowanych użytkowników nie stanowiło
większego problemu. Jednak nawet doświadczeni użytkownicy czasami w celu
uzyskania pożądanego rezultatu byli zmuszeni do podejmowania kilku prób.
W przypadku początkujących użytkowników takie zadania czasami wykraczały
poza zakres ich umiejętności i wiedzy.
Nie istniały jasne zasady przechowywania plików .ini. Prywatne pliki
inicjalizacyjne mogły być przechowywane w dowolnym katalogu. Pliki nie
były chronione przed zapisem. Zawsze istniało ryzyko ich usunięcia. W efekcie
użytkownik często musiał szukać niezbędnych plików .ini i czasami znalezienie
ich nie było proste.
Pliki .ini nie oferowały żadnej obsługi środowiska wielu użytkowników.
W konsekwencji użytkownicy nie mogli modyfikować do własnych potrzeb
ustawień związanych z systemami i aplikacjami.
Pliki .ini nie obsługiwały wielu konfiguracji sprzętowych. Z tego powodu
w systemach Windows 3.x nie była obecna technologia Plug and Play.
Każda aplikacja swoje ustawienia przechowywała we własnym prywatnym pliku
inicjalizacyjnym. Oczywiście było to oficjalne zalecenie Microsoftu mające na
celu ominięcie ograniczenia wielkości pliku win.ini, o którym wspomniałam
wcześniej. Swoją drogą zalecenie to było powodem kolejnego ograniczenia,
ponieważ redukowało możliwości współdzielenia informacji pomiędzy
aplikacjami.
Każda aplikacja zgodna z systemem Windows (dotyczy to zarówno systemów Windows
9x/ME, jak i Windows NT/2000/XP) musi spełniać zestaw wymagań, spośród
których jednym z najważniejszych jest możliwość jej usunięcia. Funkcja automatycz-
nego usuwania aplikacji pozwalająca użytkownikowi prawidłowo usunąć program
nie jest czymś nowym. Jednak łatwość korzystania z takiej funkcji w systemie Win-
dows 3.x była daleka od doskonałości. Nowoczesne systemy operacyjne należące do
rodziny systemów Windows wszystkie dane konfiguracyjne przechowują w rejestrze.
Dzięki temu zastosowanie funkcji usuwania aplikacji nie stanowi problemu.
Rola rejestru
Rejestr 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 mniej więcej przypomina-
jący jego nowoczesną postać (w tamtym czasie w rejestrze znajdowały się 4 wstępnie
zdefiniowane klucze: *- ;A.1 #.A/# *+0 , *- ;A 744 06A75 4, *- ;A .#55 5A4116
i *- ;A75 45). Nowy komponent systemu operacyjnego reprezentował zcentralizowane
źródło informacji konfiguracyjnych umożliwiające znacznie efektywniejsze zarządzanie
środowiskiem systemowym.
Poniżej w skrócie omówiono komponenty systemów Windows NT/2000/XP korzystające
z rejestru. Oto one:
20
Windows XP. Rejestr systemu
Programy instalacyjne. Po każdym uruchomieniu program instalacyjny (jest nim
zarówno program instalacyjny systemu Windows, jak i inne narzędzia służące
do instalacji aplikacji lub sterowników urządzeń) dodaje do rejestru nowe dane
konfiguracyjne. Jeśli program instalacyjny został poprawnie stworzony, w celu
stwierdzenia, czy w systemie występują wszystkie komponenty niezbędne do
wykonania procedury instalacyjnej zakończonej powodzeniem, odczyta dane
zawarte w rejestrze. Ze względu na to, że rejestr jest zcentralizowanym
magazynem danych konfiguracyjnych, wszystkie aplikacje mogą je współdzielić
i uzyskać większe możliwości wzajemnej interakcji. Każda aplikacja posiadająca
logo „Designed for Windows” (zaprojektowana dla systemu Windows) musi
korzystać z rejestru i oferować specjalny program umożliwiający użytkownikowi
prawidłowe jej usunięcie (rysunek 1.1). Informacje dotyczące aplikacji
przechowywane w rejestrze pozwalają użytkownikowi poprawnie wykonać
procedurę bez jednoczesnego usunięcia współdzielonych komponentów (DLL,
OCX itp.), które mogą być wymagane przez inne programy.
Rysunek 1.1.
Narzędzie
usuwające aplikację
usuwa z rejestru
powiązane z nią
ustawienia
Program wykrywający urządzenia. Przy każdej inicjalizacji systemów Windows
NT/2000/XP program wykrywający sprzęt tworzy listę zidentyfikowanych
urządzeń i przechowuje ją w rejestrze. W przypadku komputerów wyposażonych
w procesory Intela operacja identyfikacji urządzeń jest realizowana przez program
wykrywający (ntdetect.com) i jądro systemów Windows NT/2000/XP
(ntoskrnl.exe).
Jądro systemów Windows NT/2000/XP. W trakcie ładowania systemów Windows
NT/2000/XP ich jądro odczytuje z rejestru informacje na temat sterowników
urządzeń i kolejności, w jakiej powinny być załadowane. Program ntoskrnl.exe
też umieszcza w rejestrze informacje na swój temat, na przykład dane dotyczące
wersji systemu i kompilacji. Microsoft dokonał wielu rozszerzeń jądra systemu
Windows XP mających głównie na celu poprawienie wydajności i stabilności.
Jak to zostanie pokazane w dalszej części rozdziału, takie rozszerzenia jądra
będą też uwzględniały zmodyfikowanie rejestru (przykładem jest usunięcie
ograniczenia rozmiaru rejestru).
Rozdział 1. ♦ Ogólne informacje na temat rejestru systemu Windows XP
21
Menedżer PnP. Ten nowy komponent jądra po raz pierwszy pojawił się
w systemie Windows 2000. Menedżer PnP przy użyciu dwóch identyfikatorów
— identyfikatora producenta (Vendor ID lub VID) i identyfikatora urządzenia
(Device ID lub DID) — wykrywa i identyfikuje urządzenia. Kombinacja obu
identyfikatorów w unikatowy sposób identyfikuje urządzenie. Po określeniu
niepowtarzalnej kombinacji identyfikatorów VID i DID menedżer PnP kieruje do
rejestru żądanie przekazania informacji na temat magistrali, na której urządzenie
wykryto. Dodatkowo menedżer PnP sprawdza, czy został zainstalowany
odpowiedni sterownik urządzenia. Jeśli go nie zainstalowano, menedżer PnP
informuje o tym podsystem PnP trybu użytkownika. Z kolei ten podsystem
musi zidentyfikować właściwy plik .ini i rozpocząć wykonywanie procedury
instalacji sterownika.
Sterowniki urządzeń. Sterowniki urządzeń wymieniają z rejestrem informacje
dotyczące parametrów inicjalizacyjnych i danych konfiguracyjnych. Tego typu
dane są podobne do zawartości wierszy 8+ znajdujących się w pliku
config.sys stosowanym przy ładowaniu systemu MS-DOS. Sterownik urządzenia
musi przekazać informacje na temat wymaganych zasobów systemowych, w tym
przerwania IRQ i kanału DMA. Uzyskane dane system umieszcza w rejestrze.
W celu udostępnienia użytkownikom odpowiednich narzędzi instalacyjnych
i konfiguracyjnych aplikacje i sterowniki urządzeń mogą odczytywać te dane
z rejestru.
Narzędzia administracyjne. Narzędzia administracyjne systemów Windows
NT/2000/XP, w tym aplety okna Panel sterowania i programy zawarte w grupie
Narzędzia administracyjne, są najbezpieczniejszymi i najwygodniejszymi
w użyciu programami umożliwiającymi modyfikowanie rejestru. Edytory
rejestru, które szczegółowo zostaną omówione w rozdziale 3., są specjalnymi
wbudowanymi narzędziami przeznaczonymi do przeglądania i modyfikowania
zawartości rejestru. Jednak narzędzia te powinny być używane z rozwagą
i ostrożnością.
Profile użytkowników. Systemy Windows NT/2000/XP obsługują wiele profili
użytkowników. Wszystkie informacje powiązane z nazwą pojedynczego
użytkownika i przypisanymi mu uprawnieniami są przechowywane w rejestrze.
W rozdziale 10. dokładniej omówiono profile użytkowników. W tym miejscu
należy zauważyć, że profile użytkowników definiują niestandardowe ustawienia
związane z wyświetlaniem na ekranie, parametry sieci, drukarki itp. Można
wyróżnić trzy typy profili użytkowników. Lokalne profile użytkowników są
automatycznie tworzone w momencie pierwszego logowania użytkownika
w lokalnym systemie. Mobilne profile użytkowników są tworzone przez
administratora sieci i przechowywane na serwerze. Z kolei obowiązkowe profile
użytkowników są typem profili mobilnych, które po stworzeniu muszą zostać
zastosowane. Informacje na temat profili użytkowników są też przechowywane
w rejestrze. Aby w systemie Windows 2000 zarządzać profilami użytkowników,
w oknie Panel sterowania należy dwukrotnie kliknąć ikonę System i uaktywnić
zakładkę Profile użytkownika. Aby w systemie Windows XP Professional
zarządzać profilami użytkownika, w oknie Panel sterowania należy uruchomić
aplet System, a następnie przejść do zakładki Zaawansowane (rysunek 1.2)
i w celu otwarcia okna Profile użytkownika (rysunek 1.3) kliknąć przycisk
Windows XP. Rejestr systemu
22
Rysunek 1.2.
Zakładka
Zaawansowane okna
Właściwości systemu
Rysunek 1.3.
Okno
Profile użytkownika
Ustawienia zawarty w sekcji Profile użytkownika. Po otwarciu okna nowe profile
użytkownika mogą być utworzone przez skopiowanie już istniejących. Profile
użytkownika można też usuwać lub zmienić ich typ. Warto zauważyć, że w celu
wykonania tych operacji konieczne będzie zalogowanie w lokalnym systemie
z uprawnieniami administratora.
Profile sprzętowe. W przeciwieństwie do plików .ini rejestr obsługuje wiele
konfiguracji sprzętowych. Np. możliwe jest zdefiniowanie profili sprzętowych
Rozdział 1. ♦ Ogólne informacje na temat rejestru systemu Windows XP
23
dla stacji dokujących (ma to szczególne znaczenie dla mobilnych użytkowników)
i urządzeń przenośnych. Każdy profil sprzętowy jest zestawem instrukcji
stosowanych do określenia sterowników urządzeń, które muszą zostać
załadowane w trakcie inicjalizacji systemu. Aby w systemie Windows XP
stworzyć nowe profile sprzętowe, w oknie Panel sterowania należy dwukrotnie
kliknąć ikonę System, a następnie przejść do zakładki Sprzęt (rysunek 1.4)
i kliknąć przycisk Profile sprzętu. Spowoduje to otwarcie okna Profile sprzętu
pokazanego na rysunku 1.5. Podobnie jak w przypadku systemu Windows
2000, w trakcie instalacji systemu Windows XP program instalacyjny tworzy
standardowy profil sprzętowy zawierający informacje na temat wszystkich
wykrytych urządzeń.
Rysunek 1.4.
Zakładka Sprzęt okna
Właściwości systemu
Struktura rejestru
Aby lepiej zrozumieć logiczną strukturę rejestru, warto porównać ją z systemem plików
dysku. Rejestr zawiera klucze przypominające katalogi i wartości, które można przyrów-
nać do plików zapisanych na dysku. Klucze rejestru są obiektami-kontenerami prze-
chowują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 (ang. root keys).
Konwencja stosowana przy nadawaniu nazw kluczom i wartościom rejestru również
jest podobna do wykorzystywanej w przypadku plików i katalogów. Dla przykładu można
porównać typową ścieżkę katalogów taką jak D:PRACABHV i standardową ścieżkę
klucza rejestru *- ;A.1 #.A/# *+0 5;56 / WTTGPV QPVTQN5GV.
24
Rysunek 1.5.
Okno Profile sprzętu
Windows XP. Rejestr systemu
Rejestr systemów Windows 2000/XP składa się z pięciu następujących wstępnie
zdefiniowanych kluczy: *- ;A .#55 5A4116, *- ;A 744 06A75 4, *- ;A.1 #.A/# *+0 ,
*- ;A75 45 i *- ;A 744 06A 10(+). Na rysunku 1.6 zilustrowano hierarchiczną struk-
turę rejestru.
Rysunek 1.6. Hierarchiczna struktura rejestru
Wszystkie nazwy wstępnie zdefiniowanych kluczy rozpoczynają się od łańcucha *- ;A,
który wskazuje, że klucz jest uchwytem, który może być użyty przez program. Uchwyt
Rozdział 1. ♦ Ogólne informacje na temat rejestru systemu Windows XP
25
reprezentuje wartość stosowaną do niepowtarzalnego identyfikowania zasobu, który może
być użyty przez program. W tabeli 1.1 zawarto listę wstępnie zdefiniowanych kluczy
istniejących w rejestrze systemów Windows NT/2000/XP wraz z krótkim opisem.
Tabela 1.1. Wstępnie zdefiniowane klucze
Wstępnie zdefiniowany klucz
Opis
*- ;A.1 #.A/# *+0
*- ;A .#55 5A4116
*- ;A 744 06A 10(+)
*- ;A 744 06A75 4
*- ;A75 45
Klucz zawiera globalne informacje na temat sprzętu i systemu
operacyjnego, takie jak typ magistrali, pamięć systemowa, sterowniki
urządzeń i inne dane wykorzystywane w trakcie inicjalizacji
komputera. Informacje na temat tego klucza dotyczą wszystkich
użytkowników logujących się w lokalnym systemie. Dla tego klucza
można wyróżnić trzy aliasy górnego poziomu. Są to:
*- ;A .#55 5A4116, *- ;A 744 06A 10(+) i *- ;A ;0A #6#.
Klucz zawiera informacje dotyczące powiązań aplikacji z plikami,
danych OLE powiązanych z obiektami COM i powiązań plik-klasa
(tego typu dane są równoważne rejestrowi występującemu
w starszych wersjach systemu Windows). Parametry zawarte
w tym kluczu są równoważne przechowywanym poniżej klucza
*- ;A.1 #.A/# *+0 5QHVYCTG NCUUGU.
Klucz zawiera dane aktualnie stosowanego profilu sprzętowego.
Profile sprzętowe są zbiorami zmian dokonanych w standardowej
konfiguracji usług i urządzeń zdefiniowanych przy użyciu
podkluczy Software i System wstępnie zdefiniowanego klucza
*- ;A.1 #.A/# *+0 . Klucz *- ;A 744 06A 10(+) zawiera tylko
zmodyfikowane dane.
Co więcej, dane przechowywane w tym kluczu znajdują się też
w kluczu *- ;A.1 #.A/# *+0 5[UVGO WTTGPV QPVTQN5GV
*CTFYCTG2TQHKNGU WTTGPV.
Klucz zawiera profil użytkownika, który aktualnie jest zalogowany
w systemie. Klucz uwzględnia też zmienne środowiskowe, ustawienia
pulpitu i sieci, a także aplikacji.
Klucz ten odwołuje się do klucza *- ;A75 45 Wľ[VMQYPKMA5+ ,
gdzie Wľ[VMQYPKMA5+ jest identyfikatorem Security ID użytkownika
aktualnie zalogowanego w systemie.
Klucz zawiera wszystkie aktywne profile użytkowników, w tym
dane klucza *- ;A 744 06A75 4 i domyślny profil użytkownika.
Użytkownicy, którzy mogą za pośrednictwem sieci połączyć się
z serwerem, nie posiadają w tym kluczu profili. Wynika to stąd, że
ich profile są ładowane zdalnie na używanych przez nich stacjach
roboczych.
Systemy Windows NT/2000/XP wymagają, aby każdy logujący
się użytkownik posiadał własne konto. Klucz *- ;A75 45 zawiera
podklucz GHCWNV stosowany przy tworzeniu profilu dla
użytkownika logującego się w systemie po raz pierwszy. Klucz
zawiera też inne podklucze powiązane z identyfikatorem Security
ID przydzielonym właściwemu użytkownikowi.
26
Windows XP. Rejestr systemu
Jak wspomniano wcześniej, zagadnienie rejestru początkowo pojawiło się w pierw-
szej wersji systemu Windows NT o numerze 3.5. Rejestr systemów Windows 9x/ME
został stworzony na podstawie tej pierwszej wersji. Jednak obecnie pomiędzy reje-
strami występującymi w systemach Windows 9x/ME i Windows NT/2000/XP istnieją
znaczne różnice. Najważniejszą z nich jest to, że rejestr systemów Windows 95/
98/ME posiada dodatkowy wstępnie zdefiniowany klucz o nazwie HKEY_DYN_DATA.
Klucz zawiera informacje systemowe, które mogą wymagać ciągłej aktualizacji. Sys-
temy Windows 9x/ME przechowują takie informacje bez angażowania dysku twardego.
Klucz HKEY_DYN_DATA był obecny we wszystkich wersjach beta systemu Windows
2000, ale wszelkie próby jego otwarcia generowały komunikaty błędów. Obecnie na-
rzędzia regedit.exe i regedt32.exe systemu Windows 2000 i program Edytor rejestru
(regedit.exe) systemu Windows XP nie wyświetlają tego klucza.
Dane rejestru są parametrami przechowywanymi w kluczach. Każdy parametr posiada
własną nazwę, typ danych i wartość. Trzy części wpisu w rejestrze są przechowywane
w następującej kolejności:
W tabeli 1.2 zawarto wszystkie typy danych zdefiniowane i stosowane w rejestrze syste-
mów Windows NT/2000/XP.
Tabela 1.2. Typy danych rejestru
Typ danych
4 )A$+0#4;
4 )A 914
4 )A :2#0 A5
4 )A/7.6+A5
4 )A5
4 )A 914 A.+66. A 0 +#0
Opis
Dane binarne. Z danych binarnych korzysta większość
komponentów sprzętowych. Edytory rejestru tego typu dane
wyświetlają w formacie szesnastkowym.
Tego typu dane są reprezentowane przez 4-bajtową wartość binarną
(podwójne słowo). Z tego typu danych korzysta większość usług
i sterowników urządzeń. Edytory rejestru tego typu dane wyświetlają
w formacie dwójkowym, szesnastkowym lub dziesiętnym.
Łańcuch danych o zmiennej długości. Łańcuch zawiera nazwę
zmiennej, która po wywołaniu przez aplikację może zostać
zastąpiona przez wartość zmiennej.
Ciąg wielokrotny. Standardowo z tego typu danych korzystają
wszystkie wartości reprezentujące listy łańcuchów tekstowych.
W roli separatora jest stosowany znak NULL.
Łańcuch tekstowy zapisany w formacie przyjaznym dla
użytkownika. Zwykle ten typ danych jest stosowany w opisach
komponentów.
32-bitowa liczba zapisana w formacie little-endian. Ten typ danych
jest równoważny typowi danych 4 )A 914 .
Przy korzystaniu z formatu little-endian najmniej znaczący bit
(„little end” — „mały koniec”) pojawia się przy reprezentowaniu
wartości jako pierwszy. Np. wartość szesnastkowa A02Bh będzie
reprezentowana jako 2BA0.
Format little-endian jest stosowany w procesorach Intela.
Rozdział 1. ♦ Ogólne informacje na temat rejestru systemu Windows XP
27
Tabela 1.2. Typy danych rejestru — ciąg dalszy
Typ danych
Opis
4 )A 914 A$+)A 0 +#0
4 )A.+0-
4 )A010
4 )A3914
4 )A3914 A.+66. A 0 +#0
4 )A4 5174 A.+56
4 )A(7..A4 5174 A 5 4+2614
4 )A4 5174 A4 37+4 / 065A.+56
32-bitowa liczba zapisana w formacie big-endian.
W przeciwieństwie do formatu little-endian przy reprezentowaniu
wartości przez format big-endian jako pierwszy pojawia się
najbardziej znaczący bit („big end” — „duży koniec”).
Łącze symboliczne oparte na standardzie Unicode. Ten typ danych
jest przewidziany wyłącznie do użytku wewnętrznego.
Typ danych 4 )A.+0- jest szczególnie interesujący, ponieważ
umożliwia jednemu wpisowi rejestru odwoływanie się do innego
klucza lub wartości. Jeśli na przykład rejestr zawiera wpis
Root1Link typu danych 4 )A.+0- i o wartości Root2RegKey,
natomiast klucz RegKey ma wartość RegValue, taka wartość może
zostać zidentyfikowana przy użyciu dwóch następujących ścieżek:
Root1LinkRegValue i Root2RegKeyRegValue. Systemy
Windows NT/2000/XP w aktywny sposób korzystają z tej metody.
Przykładowo,: niektóre ze wstępnie zdefiniowanych kluczy
zawartych w tabeli 1.1 spełniają rolę łączy do zagnieżdżonych
kluczy innych wstępnie zdefiniowanych kluczy.
Brak zdefiniowanego typu danych.
64-bitowa wartość.
64-bitowa wartość reprezentowana przy użyciu formatu little-
endian. Typ danych jest równoważny typowi danych 4 )A3914 .
Lista zasobów sprzętowych, które są wykorzystywane tylko
w ramach klucza HKEY_LOCAL_MACHINEHARDWARE.
Uchwyt zasobów sprzętowych, który jest wykorzystywany tylko
w ramach klucza HKEY_LOCAL_MACHINEHARDWARE.
Lista zasobów sprzętowych, która jest wykorzystywana tylko
w ramach klucza HKEY_LOCAL_MACHINEHARDWARE.
Przechowywanie danych w rejestrze
W rejestrze systemów Windows NT/2000/XP zapisywane wpisy są przechowywane
w postaci atomowej struktury. Rejestr jest dzielony na komponenty nazywane gałęziami
(ang. hives). Angielska nazwa nawiązuje do komórkowej struktury plastrów tworzonych
przez pszczoły. Gałąź rejestru jest odosobnionym komponentem złożonym z kluczy, pod-
kluczy i wartości umieszczonych na najwyższym poziomie hierarchii rejestru. Podsta-
wowa różnica występująca pomiędzy gałęziami i innymi grupami kluczy rejestru polega
na tym, że gałęzie są stałymi komponentami rejestru. Gałęzie nie są dynamicznie tworzo-
ne w trakcie ładowania systemu i nie są usuwane, gdy ktoś wyłączy komputer. A zatem
klucz HKEY_LOCAL_MACHINEHardware dynamicznie tworzony przez program wy-
krywający urządzenia w trakcie inicjalizacji systemu nie może być uznany za gałąź.
Dane gałęzi rejestru są przechowywane w plikach dyskowych, które z kolei są zapisy-
wane w katalogach SystemRoot System32Config i SystemRoot ProfilesNaz-
wa_użytkownika (system Windows NT 4.0). W systemie Windows 2000 pliki gałęzi
28
Windows XP. Rejestr systemu
Podobnie jak w przypadku systemu Windows 2000 rejestr systemu Windows XP
także jest przechowywany na dysku w postaci wielu plików nazywanych plikami ga-
łęzi spełniających rolę magazynu danych konfiguracyjnych. Kod rejestru systemu
Windows XP został przebudowany tak, aby oferował lepszą wydajność przy jedno-
czesnym utrzymaniu przeźroczystości dla aplikacji, co uzyskano przy użyciu istnie-
jących interfejsów programowania rejestru. Udoskonalenia wprowadzone w reje-
strze systemu Windows XP mają głównie na celu poprawienie wydajności. Więcej
informacji na ich temat zawarto w dalszej części rozdziału.
rejestru są przechowywane w katalogach SystemRoot System32Config i Sys-
temDrive Documents and SettingsNazwa_użytkownika.
Każda gałąź rejestru jest powiązana z zestawem standardowych plików wspomagających.
W tabeli 1.3 zawarto standardowe gałęzie rejestru systemów Windows NT/2000/XP
wraz z plikami wspomagającymi.
Tabela 1.3. Gałęzie rejestru systemów Windows NT/2000
Gałąź rejestru
Pliki wspomagające
HKEY_LOCAL_MACHINESAM
sam, sam.log, sam.sav
HKEY_LOCAL_MACHINESecurity
security, security.log, security.sav
HKEY_LOCAL_MACHINESoftware
software, software.log, software.sav
HKEY_LOCAL_MACHINESystem
system, system.alt∗, system.log, system.sav
HKEY_CURRENT_CONFIG
system, system.alt∗, system.log, system.sav
HKEY_USERS.DEFAULT
default, default.log, default.sav
(Pliki niepowiązane z kluczami)
userdiff, userdiff.log, userdifr∗∗, userdifr.log∗∗
HKEY_CURRENT_USER
ntuser.dat, ntuser.dat.log
∗ Pliki, które wyeliminowano w systemie Windows XP.
∗∗ Pliki, które pojawiły się w systemie Windows XP.
Na podstawie powyższej tabeli można stwierdzić, że z systemu Windows XP usu-
nięto kilka plików rejestru, a także kilka innych dodano. Jest to wynikiem rozsze-
rzeń rejestru systemu Windows XP, które bardziej szczegółowo zostaną omówione
w dalszej części książki.
Wszystkie pliki gałęzi z wyjątkiem pliku gałęzi HKEY_CURRENT_USER są przecho-
wywane w katalogu SystemRoot System32Config.
Gałąź HKEY_CURRENT_USER jest obsługiwana przez pliki ntuser.dat i ntuser.dat.log.
Plik ntuser.dat zawiera profile użytkowników, natomiast plik ntuser.dat.log uwzględnia
wszystkie zmiany dokonane w pliku ntuser.dat. System Windows NT 4.0 oba pliki prze-
chowuje w podkatalogach katalogu SystemRoot Profiles (z wyjątkiem podkatalogu
All Users). Z kolei system Windows 2000 pliki zapisuje w katalogach SystemDrive
Documents and Settings Username .
Pliki ntuser i userdiff po raz pierwszy pojawiły się w systemie Windows NT 4.0. Oto one:
Rozdział 1. ♦ Ogólne informacje na temat rejestru systemu Windows XP
29
ntuser.dat. W tym pliku jest przechowywany profil użytkownika. Plik zastąpił
pliki usernamexxx i adminxxx stosowane w starszych wersjach systemu
Windows NT.
ntuser.dat. Plik ten przechowywany w katalogu SystemRoot ProfilesDefault
User zastąpił plik userdef stosowany w starszych wersjach systemu Windows NT.
Ten plik profilu użytkownika jest używany do stworzenia gałęzi
HKEY_CURRENT_USER, gdy nowy użytkownik po raz pierwszy loguje się
w systemie.
Pliki userdiff przechowywane w katalogu SystemRoot System32Config
nie są powiązane z żadną gałęzią. Pliki te są stosowane przy aktualizacji profili
użytkowników istniejących w poprzednich wersjach systemu Windows NT.
Aktualizacja ma na celu dostosowanie profili do wymagań systemów Windows
NT/2000 i XP.
Można wyróżnić cztery typy plików powiązanych z gałęziami rejestru. Wszystkie typy
plików wraz z podaniem ich odpowiednich rozszerzeń zawarto w tabeli 1.4.
Tabela 1.4. Typy plików powiązane z gałęziami rejestru systemów Windows NT 4.0/2000/XP
Rozszerzenie pliku Opis
Brak
.alt∗
.log
.sav
Zawiera kopię gałęzi rejestru.
W systemach Windows NT/2000 pliki .alt przechowują kopię zapasową gałęzi
HKEY_LOCAL_MACHINESystem. Gałąź System jest jedyną, która posiada tego
typu kopię zapasową przechowywaną w pliku system.alt. Jak już wspomniano,
pliki .alt zostały wyeliminowane w systemie Windows XP, ponieważ kod rejestru
został przebudowany w celu zaoferowania lepszych algorytmów zwiększających
szybkość przetwarzania zapytań, poprawiających stabilność i obsługujących
większe rejestry.
Plik .log zawiera dziennik transakcji. Plik ten jest tworzony po dokonaniu
jakichkolwiek zmian w kluczach i wartościach.
Plik .sav zawiera kopie plików gałęzi rejestru stworzonych w chwili wykonywania
części instalacji opartej na trybie tekstowym. Istnieją pliki .sav dla następujących
gałęzi rejestru: Software, System, SAM, Security i Default.
Systemy Windows NT/2000/XP wykonują kopie zapasowe gałęzi rejestru
w trakcie instalacji. Procedura instalacyjna składa się z dwóch etapów opartych
na trybie tekstowym i graficznym interfejsie użytkownika. Po zakończeniu etapu
opartego na trybie tekstowym program instalacyjny zapisuje do plików .sav kopię
zapasową gałęzi rejestru. Ma to na celu zabezpieczenie gałęzi przed awariami,
które mogą mieć miejsce w trakcie przeprowadzania części instalacji opartej
na graficznym interfejsie użytkownika. Jeśli do takiej awarii dojdzie, graficzny
program instalacyjny zostanie uruchomiony po ponownej inicjalizacji systemu
i pliki .sav posłużą do odbudowania gałęzi rejestru.
∗ Pliki, które wyeliminowano w systemie Windows XP.
Atomowość gałęzi i jej odzyskiwanie
Rejestr zapewnia atomowość poszczególnych operacji. Oznacza to, że każda modyfikacja
wartości rejestru (ponowne ustawienie, usunięcie lub zapisanie) powiedzie się lub nie.
30
Windows XP. Rejestr systemu
Taki mechanizm eliminuje kombinacje uszkodzonych starych i nowych wartości rejestru
w sytuacji, gdy system przestanie działać na skutek zaniku zasilania, awarii urządzenia lub
wystąpienia problemów z oprogramowaniem. Dla przykładu można rozważyć przypa-
dek, w którym w trakcie ustawiania wartości przez aplikację dojdzie do nieoczekiwanego
wyłączenia systemu. Po ponownym uruchomieniu komputera wpis rejestru zostanie
przywrócony do poprzedniej wartości lub będzie miał nową wartość, ale nie powstaną
niemające żadnej wartości kombinacje obu parametrów rejestru. Co więcej, niezależnie
od tego, czy wartość została zmieniona, czy nie, informacja dotycząca rozmiaru i czasu
modyfikacji klucza zawierającego wartość będzie poprawna.
Zapisywanie danych na dysku
Systemy Windows NT 4.0 i Windows XP zapisują dane rejestru tylko po wystąpieniu
operacji opróżniania pamięci RAM. Opróżnianie pamięci ma miejsce tylko wtedy, gdy
upłynie kilka sekund od chwili zmodyfikowania danych. Dodatkowo operacja opróżniania
może zostać zainicjowana przez aplikację wykonującą bezpośrednie wywołanie w celu
zamierzonego zapisania danych na dysku twardym.
System dla wszystkich gałęzi rejestru (z wyjątkiem gałęzi System) wykonuje następującą
procedurę opróżniania:
1. Wszystkie zmodyfikowane dane są zapisywane w pliku .log odpowiedniej
gałęzi wraz z informacją na temat ich dokładnej lokalizacji. Po wykonaniu tej
operacji system dokona opróżnienia, co spowoduje zapisanie wszystkich
zmodyfikowanych danych w pliku .log.
2. Pierwszy sektor pliku gałęzi jest zaznaczany, co oznacza, że plik znajduje się
w stanie przejściowym.
3. Zmodyfikowane dane są zapisywane w pliku gałęzi.
4. Na końcu plik gałęzi jest oznaczany jako przetworzony.
Jeśli w trakcie wykonywania procedury system nieoczekiwanie wyłączy się (pomiędzy
krokami 2. i 4.), przetwarzana gałąź zostanie przez niego przywrócona. Gdy taka gałąź
jest ładowana w trakcie inicjalizacji systemu (wyjątkiem są gałęzie profili użytkow-
ników, które są wczytywane w chwili logowania się użytkownika), poinformuje on
o znaczniku wstawionym w 2. kroku procedury i przy użyciu zmodyfikowanych danych
zapisanych w pliku .log będzie kontynuował przywracanie gałęzi. A zatem jeśli plik ga-
łęzi nie znajduje się w stanie przejściowym, jej pliki .log nie są używane. Jeśli w chwili
zawieszenia systemu plik gałęzi znajdował się w stanie przejściowym, nie będzie moż-
liwe jego załadowanie bez istnienia powiązanego z nim pliku .log.
Gałąź System odgrywa istotną rolę i jest stosowana w początkowych etapach inicjalizacji
systemu. Swoim zakresem gałąź ob
Pobierz darmowy fragment (pdf)