28wininout.pdf

(326 KB) Pobierz
12263532 UNPDF
Rozdzia³ 28
Struktura rejestru
785
Edytowanie
Rejestru
Unikanie „wpadek” podczas
edycji rejestru
789
Przegl¹danie i edytowanie rejestru
za pomoc¹ Edytora
791
Czêœæ VI: Obs³uga i przywracanie systemu
Rozdzia³ 28: Edytowanie Rejestru
Je¿eli kiedykolwiek czyta³eœ coœ o rejestrze, za-
pewne widzia³eœ ostrze¿enie: nie próbuj tego
w domu, naprawdê. Dokonywanie zmian bezpo-
œrednio w rejestrze, w przeciwieñstwie do poz-
wolenia na zrobienie tego za ciebie oprogramo-
waniu, jest ryzykowne. B³¹d w edycji mo¿e do-
prowadziæ do uszkodzenia systemu. System
Windows powsta³ w³aœnie po to, ¿ebyœ bez wa¿-
nej przyczyny nie musia³ ingerowaæ w rejestr.
Kiedy zmienisz niektóre szczegó³y dotycz¹ce
konfiguracji twojego systemu, u¿ywaj¹c Panelu
sterowania, zapisze on potrzebne zmiany w reje-
strze za ciebie, a ty nie bêdziesz musia³ myœleæ
o tym, jak to dzia³a. Kiedy instalujesz nowe urz¹-
dzenie lub nowy program, ma miejsce mnóstwo
modyfikacji rejestru; znów, nie musisz znaæ
szczegó³ów.
Jednak poniewa¿ projektanci systemu Windows
nie mogli przygotowaæ interfejsu u¿ytkownika
na ka¿d¹ wyobra¿aln¹ próbê dostosowania go,
któr¹ mo¿esz zechcieæ podj¹æ, czasami praca bez-
poœrednio z rejestrem jest jedynym sposobem na
wykonanie takiego zadania. A czasem, nawet je-
œli nie jest to sposób jedyny, mo¿e okazaæ siê naj-
szybszy. Tak wiêc Microsoft Windows XP dostar-
cza ci edytor rejestru, którego powinieneœ umieæ
u¿ywaæ – bezpiecznie. W tym rozdziale powie-
my ci, jak to osi¹gn¹æ.
Automatyzowanie zmian
w rejestrze za pomoc¹
plików .reg
793
Praca z rejestrami zdalnych
komputerów
797
Zmiana uprawnieñ kluczy
rejestru
797
Struktura rejestru
Zanim rozpoczniesz przegl¹danie lub edytowa-
nie rejestru, powinieneœ chocia¿ trochê poznaæ
budowê tej bazy danych. Rysunek 28-1 na na-
stêpnej stronie ukazuje fragment rejestru syste-
mu, tak jak wygl¹da on w Edytorze rejestru (zna-
nym te¿ jako Regedit) dostarczonym wraz z Win-
12263532.001.png
786
Czêœæ VI: Obs³uga i przywracanie systemu
Œ.P. Regedt32
Wczeœniejsze wersje systemu Windows zawiera³y dwa edytory rejestru, Regedit.exe
oraz Regedt32.exe. Funkcje edytora Regedt32 zosta³y w³¹czone do Edytora rejestru
5.1, wersji dostarczonej wraz z Windows XP, natomiast Regedt32 ju¿ nie istnieje.
Wpisanie regedt32 w wierszu polecenia Windows XP uruchomi ma³y, czterokilobaj-
towy program, którego jedynym zadaniem jest uruchomienie Regedit.exe.
Stary edytor Regedt32 móg³ wykonaæ kilka rzeczy, których wykonaæ nie móg³ stary
Regedit. Najwa¿niejsz¹ z nich by³o umo¿liwienie modyfikacji ustawieñ uprawnieñ
powi¹zanych z kluczami rejestru – coœ, czego Regedit nie móg³ zrobiæ. W sumie jed-
nak Regedit by³ bardziej wszechstronnym edytorem. Teraz, zamiast u¿ywaæ edytora
Regedit do wiêkszoœci prac w rejestrze i Regedt32 do okazjonalnych zadañ, których
Regedit nie móg³ przeprowadziæ, mo¿esz zarz¹dzaæ wszystkim za pomoc¹ jednego
edytora. (Aby ustawiæ uprawnienia dla klucza w Regedit 5.1, kliknij prawym przyci-
skiem myszy klucz, a nastêpnie wybierz Uprawnienia z menu podrêcznego).
Jedyn¹ znacz¹c¹ funkcj¹ edytora Regedt32, która nie zosta³a w³¹czona do Edytora
rejestru 5.1, jest tryb tylko do odczytu. Je¿eli jesteœ przyzwyczajony do przegl¹da-
nia rejestru w trybie tylko do odczytu edytora Regedt32 i nie czujesz siê pewnie bez
tej funkcji, upewnij siê, ¿e ustawi³eœ punkt przywracania systemu, zanim rozpocz-
niesz przegl¹danie. Je¿eli cokolwiek siê nie powiedzie, mo¿esz u¿yæ programu
Przywracanie systemu do powrócenia do punktu przywracania.
dows XP. Tak jak pokazano na rysunku, rejestr sk³ada siê z piêciu kluczy g³ównych:
HKey_Classes_Root, HKey_Current_User, HKey_Local_Machine, HKey_Users, oraz
HKey_Current_Config. Dla u³atwienia i wygody typograficznej, ksi¹¿ka ta, tak jak
wiele innych, skraca nazwy kluczy g³ównych odpowiednio do: HKCR, HKCU,
HKLM, HKU oraz HKCC.
Klucze g³ówne, czasami nazywane równie¿ kluczami predefiniowanymi , zawieraj¹ pod-
klucze. Pokazany na rysunku 28-1 klucz HKCU zosta³ otwarty w celu pokazania pod-
kluczy najwy¿szego poziomu: AppEvents, Console, Control Panel, Environment,
Identities, Keyboard Layout, Network, Printers, RemoteAccess, SessionInformation,
Software, SYSTEM, UNICODE Program Groups, Volatile Environment, oraz Win-
dows 3.1 Migration Status. Klucz g³ówny, a tak¿e jego podklucze mo¿na opisaæ jako
œcie¿kê, tak¹ jak ta: HKCU\Console. Klucze g³ówne i ich podklucze ukazuj¹ siê w le-
wym okienku Edytora rejestru.
UWAGA
Rejestr jest dzie³em wielu r¹k i pisownia wielkich liter oraz odstêpy miêdzy s³owami nie zawsze s¹ konse-
kwentne. Jako ¿e naszym celem by³a czytelnoœæ, stworzyliœmy na u¿ytek tej ksi¹¿ki nasze w³asne zasady pi-
sowni wielkich liter, niejednokrotnie ró¿ni¹ce siê od tych, które zobaczysz w Edytorze rejestru. Jednak
wielkie litery s¹ nieistotne. Tylko pisownia i odstêpy musz¹ byæ poprawne.
Podklucze, które w skrócie nazywamy kluczami, same mog¹ zawieraæ podklucze.
Niezale¿nie od tego, czy je posiadaj¹, czy nie, zawsze maj¹ przynajmniej jedn¹ war-
toœæ . W edytorze rejestru wartoœæ ta znana jest jako wartoœæ domyœlna. Wiele kluczy
zawiera dodatkowe wartoœci. Nazwy, typy danych oraz dane powi¹zane z wartoœcia-
12263532.002.png
Rozdzia³ 28: Edytowanie Rejestru
787
mi pojawiaj¹ siê w prawym okienku Edytora rejestru. Tak jak pokazano na rysunku
28-1, klucz HKCU\Console ma wiele wartoœci – ColorTable00, ColorTable01 itd.
Rysunek 28-1. Rejestr sk³ada siê z piêciu kluczy g³ównych, z których ka¿dy zawiera wiele podkluczy.
Wartoœæ domyœlna dla wielu kluczy – w³¹czaj¹c HKCU\Console – nie jest okreœlona.
Dlatego mo¿esz myœleæ o pustej wartoœci domyœlnej jako o wype³niaczu – miejscu,
które mog³oby przechowywaæ dane, ale aktualnie nie jest wype³nione.
Wszystkie wartoœci inne ni¿ wartoœæ domyœlna zawsze zawieraj¹ nastêpuj¹ce trzy
komponenty: nazwê, typ danych oraz dane. Jak pokazuje rysunek 28-1, wartoœæ Co-
lorTable00 klucza HKCU\Console jest typem danych REG_DWORD. Dane
powi¹zane z t¹ wartoœci¹ (w systemie u¿ytym dla tego rysunku) to 0x00000000. (Pre-
fiks 0x oznacza wartoœæ heksadecymaln¹. Edytor rejestru wyœwietla w nawiasie od-
powiednik szestnastkowej wartoœci w systemie dziesiêtnym).
Klucz wraz ze wszystkimi podkluczami i wartoœciami czêsto nazywany jest ga³êzi¹ .
Rejestr jest przechowywany na dysku w kilku oddzielnych plikach ga³êzi. Odpo-
wiednie z nich s¹ wczytywane do pamiêci podczas uruchamiania systemu operacyj-
nego (albo kiedy nowy u¿ytkownik siê loguje), a nastêpnie ³¹czone w rejestr. Mo¿esz
zobaczyæ, gdzie w twoim systemie fizycznie znajduj¹ siê pliki ga³êzi, sprawdzaj¹c
wartoœci powi¹zane z kluczem HKLM\System\CurrentControlSet\Control\Hive-
List. Rysunek 28-2 pokazuje klucz HiveList dla jednego z systemów wykorzystywa-
nych w tej ksi¹¿ce.
Zauwa¿, ¿e jedna ga³¹Ÿ, \Registry\Machine\Hardware, nie posiada powi¹zanego
pliku na dysku. Ga³¹Ÿ ta, która zapisuje konfiguracjê sprzêtow¹, jest ca³kowicie
zmienna, co oznacza, ¿e Windows XP tworzy j¹ od nowa za ka¿dym razem, kiedy
w³¹czasz swój komputer. Zwróæ uwagê równie¿ na parametry œcie¿ki pozosta³ych
plików ga³êzi. Windows przydziela litery dysków po za³o¿eniu rejestru, wiêc œcie¿ki
te nie okreœlaj¹ liter dysków.
Kiedy bêdziesz przegl¹da³ foldery zawieraj¹ce pliki ga³êzi, znajdziesz pliki ukryte,
z rozszerzeniami .alt oraz .log, powi¹zane z ka¿dym plikiem ga³êzi. Pliki .log s¹ plika-
mi transakcyjnymi, które zapisuj¹ zmiany dokonane w powi¹zanych plikach ga³êzi.
12263532.003.png
788
Czêœæ VI: Obs³uga i przywracanie systemu
Pliki .alt s¹ kopiami plików ga³êzi. Jeœli plik ga³êzi jest uszkodzony, Windows odtwa-
rza rejestr, u¿ywaj¹c powi¹zanych plików .alt.
Rysunek 28-2. Mo¿esz odnaleŸæ nazwy i po³o¿enie plików, które tworz¹ twój rejestr, w kluczu
HKLM\System\CurrentControlSet\Control\HiveList.
Typy danych rejestru
Rejestr u¿ywa nastêpuj¹cych typów danych:
REG_SZ. SZ oznacza ci¹g zakoñczony zerami. Jest to ci¹g o zmiennej d³ugoœci, za-
wieraj¹cy zarówno znaki Unicode, jak i ANSI. Kiedy wpisujesz lub edytujesz war-
toœæ REG_SZ, Edytor rejestru koñczy wartoœæ za ciebie bajtem 00. Szybkie przeœle-
dzenie rejestru ujawnia, ¿e REG_SZ jest jednym z najczêœciej wystêpuj¹cych ty-
pów danych i jest czêsto u¿ywany zarówno dla danych numerycznych, jak i tek-
stowych. (Zobacz na przyk³ad wartoœci klucza HKCU\Control Panel\Desktop).
Domyœlne wartoœci wiêkszoœci kluczy, jeœli zosta³y okreœlone, s¹ typu REG_SZ.
REG_MULTI_SZ. Typ ten zawiera grupy ci¹gów zakoñczonych zerami przypisa-
nych do pojedynczej wartoœci.
REG_EXPAND_SZ. Ten typ danych jest ci¹giem zakoñczonym zerami zawie-
raj¹cym zmienn¹ œrodowiskow¹, tak¹ jak %SystemRoot%. Je¿eli potrzebujesz utwo-
rzyæ klucz zawieraj¹cy nazwê zmiennej, u¿yj tego typu danych, a nie REG_SZ.
REG_BINARY. Tak jak sugeruje nazwa, typ REG_BINARY zawiera dane binarne
– zera i jedynki.
REG_DWORD. Ten typ danych to „double word”, który jest 32-bitow¹ wartoœci¹
numeryczn¹. Chocia¿ potrafi przechowywaæ dowoln¹ liczbê ca³kowit¹ od 0 do 2
32
,
rejestr czêsto u¿ywa jej dla prostych wartoœci boole`owskich (0 lub 1), poniewa¿ re-
jestr nie posiada typu danych boole`owskich.
REG_LINK. Ten typ danych jest odnoœnikiem do innej sekcji rejestru. Na przyk³ad
klucz g³ówny HKCU zawiera odnoœniki REG_LINK do okreœlonych danych u¿yt-
kownika przechowywanych w kluczu HKU. Kiedy u¿ytkownik loguje siê, klucz
HKCU jest mapowany do odpowiednich, charakterystycznych dla u¿ytkownika da-
12263532.004.png
Rozdzia³ 28: Edytowanie Rejestru
789
nych w kluczu HKU. Typ REG_LINK pozwala programom, które potrzebuj¹ infor-
macji o ustawieniach lub historii aktualnego u¿ytkownika, na pobranie tych informa-
cji z jednego Ÿród³a, HKCU, bez potrzeby dowiadywania siê, kto jest zalogowany. Nie
mo¿esz utworzyæ wartoœci REG_LINK za pomoc¹ Edytora rejestru. Mo¿e byæ to wy-
konane jedynie poprzez interfejsy API ( Application Programming Interfaces) rejestru.
REG_NONE. Rzadki typ danych REG_NONE u¿ywany jest jedynie w nie-
zwyk³ych okolicznoœciach, kiedy obecnoœæ lub nieobecnoœæ wartoœci jest znacz¹ca,
natomiast dane wartoœci s¹ nieistotne.
REG_FULL_RESOURCE_DESCRIPTOR, REG_RESOURCE_LIST oraz REG_RE-
SOURCE_REQUIREMENTS_LIST. Te trzy typy danych dostarczaj¹ informacji o
zasobach u¿ytych lub wymaganych przez ró¿ne sk³adniki twojego systemu.
Unikanie „wpadek” podczas edycji rejestru
Dwie najwa¿niejsze rzeczy, jakie nale¿y wiedzieæ o Edytorze rejestru, to fakt, ¿e ko-
piuje on wprowadzane przez ciebie zmiany natychmiast do rejestru, i to, ¿e nie posia-
da polecenia Cofnij. Edytor rejestru nie czeka, a¿ wydasz polecenie Plik, Zapisz (on
nie ma takiego polecenia), zanim dokona trwa³ych zmian. Gdy zmienisz jakiœ frag-
ment danych rejestru, poprzednie dane znikaj¹ na zawsze – chyba ¿e je pamiêtasz
i sam je przywrócisz lub jeœli posiadasz jak¹œ formê kopii zapasowej, któr¹ mo¿esz
przywróciæ. Dlatego te¿ Edytor rejestru jest narzêdziem, którego nale¿y u¿ywaæ
z umiarem i nie pozostawiaæ otwartego, kiedy nie jest u¿ywany.
Tworzenie kopii zapasowej przed rozpoczêciem edycji
Jedynym relatywnie bezpiecznym sposobem edytowania rejestru jest utworzenie ko-
pii zapasowej obszaru, którym jesteœ zainteresowany, zanim wprowadzisz w nim ja-
kiekolwiek zmiany. Je¿eli cokolwiek pójdzie Ÿle, mo¿esz przywróciæ rejestr do stanu
w jakim by³, kiedy tworzy³eœ kopiê zapasow¹.
Polecenie Edytora rejestru Plik, Eksportuj pozwala ci zachowaæ ca³y rejestr lub tylko
jego fragmenty w kilku ró¿nych formatach (zobacz „Opcje polecenia Eksportuj Edy-
tora rejestru” na nastêpnej stronie). Najlepszym formatem do wykorzystania przed
edycj¹ rejestru jest format plików rejestru. Opcja ta zapisuje binarny obraz wybranego
fragmentu rejestru. Nie bêdziesz móg³ odczytaæ pliku wynikowego (je¿eli tego
w³aœnie potrzebujesz, wybierz jedn¹ z opcji plików tekstowych), ale je¿eli chcesz
przywróciæ klucze, nad którymi pracowa³eœ, mo¿esz byæ pewny, ¿e ten format zrobi
to poprawnie. Aby wyeksportowaæ pliki rejestru, zaznacz klucz w lewym oknie Edy-
tora rejestru, a nastêpnie wybierz Plik, Eksportuj. Na liœcie Zapisz jako typ okna dialo-
gowego Eksportuj plik rejestru wybierz Pliki rejestru. Plik wynikowy bêdzie zawiera³
wybrany klucz wraz z jego wszystkimi podkluczami i wartoœciami. Zauwa¿, ¿e nie
mo¿esz zapisaæ ca³ego rejestru jako pliku rejestru.
Je¿eli potrzebujesz przywróciæ wyeksportowany plik rejestru, zaznacz ten sam klucz
w lewym oknie Edytora rejestru i wybierz Plik, Importuj, a nastêpnie okreœl plik. Zo-
baczysz zg³oszenie potwierdzenia, które powie ci, ¿e twoje dzia³anie nadpisze
(zast¹pi) bie¿¹cy klucz i wszystkie jago podklucze. Jest to twoja ostatnia szansa na
upewnienie siê, ¿e importujesz plik rejestru we w³aœciwe miejsce, a wiêc poœwiêæ
chwilê, aby upewniæ siê, ¿e jesteœ we w³aœciwym miejscu, zanim klikniesz OK.
Zgłoś jeśli naruszono regulamin