Rejestr To baza danych, w której przechowywane są

Transkrypt

Rejestr To baza danych, w której przechowywane są
Rejestr
To baza danych, w której przechowywane są
informacje o konfiguracji systemów operacyjnych
Windows serii 9x (95/98/Me) oraz NT, do których
naleŜą: NT, 2000 i XP. Zawiera ona informacje i
ustawienia dotyczące sprzętu, oprogramowania,
uŜytkowników oraz ich indywidualnych preferencji. Z
bazy danych Rejestru korzysta oczywiście Windows, a
takŜe pracujące w nim aplikacje. Zmieniając
jakiekolwiek ustawienia czy instalując nowe
oprogramowanie dokonujemy jednocześnie zmian w
Rejestrze. W sensie fizycznym na Rejestr składają się
konkretne pliki, których nazwy i połoŜenie są róŜne w
poszczególnych wersjach systemu.
• w systemach Windows 95 i 98 są to ukryte pliki
user.dat i system.dat znajdujące się w folderze
systemowym (najczęściej C:\Windows)
• w Windows Me część rejestru zawiera dodatkowo plik
classes.dat
• w systemach NT Rejestr znajduje się w folderze
Windows\System32\Config i w folderze Documents and
Settings\nazwa uŜytkownika\ntuser.dat
Do przeglądania Rejestru i jego modyfikacji słuŜy
wbudowane w Windows narzędzie o nazwie Edytor
Rejestru.
Nie moŜna jednak dostać się do niego bezpośrednio z
poziomu menu Start. To niejako forma zabezpieczenia
przed przypadkowym dostępem niedoświadczonego
uŜytkownika. Uwaga !! usuwanie nieodpowiednich
wpisów lub ich nieprzemyślana modyfikacja moŜe
czasami skończyć się reinstalacją całego systemu.
Aby uruchomić Edytor Rejestru klikamy na przycisk
Start, następnie wybieramy polecenie "Uruchom". W
oknie, które się pojawi wpisujemy "regedit" i klikamy
na OK. Otwiera się okno, które przypomina
Eksploratora Windows. W lewej części znajduje się 5,
a w systemach operacyjnych Windows 9x - 6 Ŝółtych
ikon. Są to odpowiedniki folderów zwane kluczami. Po
kliknięciu na widoczne obok znaczniki "+" uzyskujemy
oczywiście dostęp do kolejnych gałęzi drzewa
kluczy. Kliknięcie na klucz powoduje, Ŝe w prawym
oknie pojawiają się odpowiedniki plików zwane w
Rejestrze "Wartościami„. ŚcieŜka dostępu do danej
wartości wyświetlana jest na pasku stanu edytora.
Rejestr jest zatem podzielony na 5 lub 6 zasadniczych
kluczy.
HKEY_CLASSES_ROOT zawiera informacje o wszystkich
skojarzeniach plików, skrótach i innych elementach interfejsu
uŜytkownika jak menu kontekstowe. Jest to inna nazwa gałęzi
klucza HKEY_LOCAL_MACHINE
HKEY_CURENT_VERSION to alias podgałęzi czyli alternatywny
(dodatkowy) klucz Rejestru HKEY_USERS, odnoszącej się do
uŜytkownika właśnie zalogowanego na komputerze. Informacje tu
zawarte to między innymi ustawienia pulpitu czy menu Start oraz
ustawienia zainstalowanych programów.
HKEY_LOCAL_MACHINE ten klucz zawiera informacje dotyczące
komputera: typu sprzętu oraz sterowników, a takŜe podstawowych
ustawień aplikacji. Są to dane wspólne dla wszystkich
uŜytkowników peceta.
HKEY_USERS zawiera indywidualne ustawienia kaŜdego z
uŜytkowników komputera
HKEY_CURRENT_VERSION jest aliasem podgałęzi klucza
HKEY_LOCAL_MACHINE i pokazuje aktualną konfigurację
sprzętową komputera.
HKEY_DYN_DATA jest wyodrębnionym jedynie w systemach linii
Windows 9x aliasem podgałęzi klucza rejestru
HKEY_LOCAL_MACHINE i zawiera dynamiczne, przechowywane
w pamięci RAM ustawienia sprzętowe.
W systemach linii NT uŜytkownik nie posiadający
dostępu do konta administratora nie moŜe
dokonywać Ŝadnych modyfikacji w podstawowych
kluczach z wyjątkiem swoich ustawień osobistych
zawartych w kluczu HKEY_CURRENT_ USER.
Podobnie jak istnieją róŜne formaty plików tak samo
w Rejestrze moŜemy odnaleźć róŜne typy wartości, a
kaŜdy z nich pełni inną rolę.
Wartość DWORD moŜe zawierać liczby o długości
maksymalnej 32 bitów (232). Typ DWORD jest teŜ uŜywany
do przechowywania danych logicznych: 0 - wyłączony, 1 włączony. Korzystaliśmy z nich uprzednio przy
modyfikowaniu niektórych ustawień.
Wartość binarna moŜe przechowywać dane zawierające liczby
dłuŜsze niŜ DWORD. Edytor Rejestru wyświetla je
w postaci szesnastkowej.
Wartość ciągu - przechowuje dane tekstowe, takie jak na
przykład ścieŜka dostępu do pliku.
Wartość ciągu rozwijanego występuje tylko w systemach
Windows NT, 2000 i XP. Zawiera zmienne, które zostaną
zastąpione przez właściwe dane, kiedy zaŜąda ich aplikacja.
W systemach linii NT występuje teŜ Wartość wielociągu
zawierająca kilka danych ciągu oddzielonych separatorem np.
spacją lub gwiazdką.
Pomimo, Ŝe wartości kluczy nadal pozostają "czarną magią"
korzystanie z nich i modyfikacja wcale nie są takie trudne jeŜeli
logicznie przeanalizuje się ich zawartość. Dla przykładu w
kluczu HKEY_CURRENT_USER - Control Panel i Colors
moŜemy zmienić domyślne ustawienia wszystkich kolorów
systemowych interfejsu i w ten sposób zindywidualizować
swoje ustawienia, które graficznie nie będą róŜnić się od
pozostałych uŜytkowników.
To jednak co u innych jest systemowo niebieskie, u mnie moŜe
mieć odcień lekko fioletowy itp. Na pozór skomplikowane
wartości ciągu dword są bowiem niczym innym jak parametrami
barw składowych RGB. Przedstawiony przykład jest opisem
barw stosowanych w przycisku paska tytułowego w klasycznym
schemacie Windows XP. Ale zaczniemy od sporządzenia kopi
rejestru. Wykorzystując Notatnik wprowadzimy zmiany metodą
skryptu, który wyeksportujemy następnie do Rejestru Windows.
Ciekawą funkcją Edytora Rejestru jest moŜliwość
importowania i eksportowania ustawień Rejestru do
pliku tekstowego. Plik ten jest rozpoznawany przez
edytor dzięki unikalnemu rozszerzeniu .reg. Podwójne
kliknięcie na taki plik eksportuje zawarte w nim dane
do Rejestru. To właśnie dzięki tej właściwości
moŜemy sporządzić kopię rejestru i w kaŜdej chwili go
przywrócić. Szansę taką daje równieŜ sam system,
który kaŜdego dnia, niezaleŜnie od nas, wykonuje
kopię Rejestru. W razie dostrzeŜonej awarii moŜna
przywrócić Rejestr i prawidłową konfigurację np. z
poprzedniego dnia. Ta właściwość rodzi jednak pewne
niebezpieczeństwo. JeŜeli zdarzy się nam trafić na
jakiś plik z rozszerzeniem .reg a nie wiemy jakie
modyfikacje są w nim zawarte lepiej go nie dotykać. W
najgorszym razie moŜemy nawet poŜegnać się z
systemem i poszukać czasu na reinstalację.
Aby wyeksportować cały Rejestr (zrobić jego
kopię) w oknie edytora klikamy na ikonę "Mój
Komputer", a następnie z menu kontekstowego
wybieramy polecenie "Eksportuj". W oknie,
które się pojawi, wpisujemy nazwę pliku
(najlepiej podać datę) oraz zaznaczamy pole
"Wszystko". Jak widać moŜna równieŜ
eksportować dowolną gałąź rejestru, a nawet
pojedynczy klucz który zamierzamy
zmodyfikować. W takim przypadku w lewym
oknie zaznaczamy gałąź (klucz) a precyzując
zakres eksportu oznaczamy "Wybrana gałąź".
Aby lepiej zrozumieć zasady edycji wartości
Rejestru posłuŜę się przykładem:
Kiedy klikamy na przycisk "Start" pojawia nam się
szereg dostępnych pozycji w kolejnych rozwijanych
menu. Stąd zwykle wędrujemy do menu "Programy",
"Ustawienia", szukamy plików i moŜemy uruchamiać
aplikacje np. właśnie Edytor rejestru. Warto się
zastanowić, czy wszystkie widoczne pozycje są nam
na prawdę potrzebne. Na przykład gdy jestem
jedynym uŜytkownikiem komputera - po co mi
"Wyloguj"? RozwaŜmy, czy korzystamy na tej drodze
z dostępu do dokumentów i potrzebujemy, aby kaŜdy
kto zatrzyma się na tej pozycji musiał widzieć z jakimi
plikami ostatnio pracowaliśmy, jakie strony
internetowe zgromadziliśmy w katalogu Ulubione. Nie
wnikając co komu się przyda zaczniemy dowolnie
skracać te listę. Jak w wielu podobnych przypadkach
musimy dokonać zmian w rejestrze.
Radzę jednak zabezpieczyć jego kopię bo
zapamiętanie zmienionych pozycji moŜe być bardzo
trudne i dokonane zmiany okaŜą się wtedy
nieodwracalne. Przy eksporcie upewniamy się, Ŝe jest
zaznaczona opcja Wszystko. Dobrze aby znajdowała
się w niej aktualna data. Gdyby po wprowadzeniu
zmian w Rejestrze okazało się, Ŝe komputer nie działa
prawidłowo albo dokonana zmiana nas nie
satysfakcjonuje, dwukrotne kliknięcie na tę
ikonę przywróci poprzednie ustawienia. Mając gotową
kopię rejestru wróćmy do jego modyfikacji. Kolejno
otwieramy zatem pozycje:
HKEY_CURENT_VERSION/SOFTWARE/Microsoft/W
indows/CurentWersion/Policies/Explorer
Teraz w prawym oknie zobaczymy dziwnie długą listę
poleceń albo teŜ tylko dwa. Będą to zapewne wartości
CDRAutoRun i NoDrive TypeAutoRun odpowiadające
za zdolność do automatycznego uruchamiania płyt
CD po włoŜeniu do napędu. A teraz cała tajemnica:
Wydaje się to logiczne, ale nazwy są trudne do
zapamiętania. Analizując treść pozostałych moŜna się
domyśleć, Ŝe niektóre decydują o dostępie do
drukarek, monitora itp. Tu bardzo ostroŜnie bo po
restarcie poza czarnym ekranem moŜemy nie
zobaczyć nic więcej.
Jak dodać wartość DWORD? W oknie Edytora
rejestru rozwijamy listę Edycja, wybieramy Nowy, a
następnie Wartość DWORD. Po wykonaniu tej
czynności w prawym oknie edytora pojawi się
wartość: Nowa wartość #1 0x00000000 (0)
W polu nowa wartość naleŜy wpisać
wybraną nazwę np. NoLogoff. Aby uruchomić
jej działanie (w tym przypadku zlikwidować
wybraną pozycję) wartość (0) musimy zamienić
dane wartości na (1). W tym celu dwukrotnie
klikamy w nazwę wartości otwierając
okno Edycji wartości DWORD. Zaznaczamy
system dziesiętny i w pole dane wartości
wpisujemy 1 w miejsce 0. Klikamy OK. Po
dokonaniu wszystkich planowanych zmian
zamykamy okno edytora rejestru. JeŜeli
wymagane wartości DWORD są juŜ na liście
dla dokonania zmian wystarczy zmienić 0 na 1
lub odwrotnie.
Nie chcemy w menu
Start
Dodajemy wartość
DWORD
Wyloguj
Ulubione
Dokumenty
Znajdź
Uruchom
NoLogOff
NoFavoritesMenu
NoRecentDocsMenu
NoFind
NoRun
Wyobraźmy sobie, Ŝe modyfikując rejestr dokonaliśmy
usunięcia opcji "Wyloguj" z menu Start. W tym celu
zmieniliśmy odpowiednią wartość DWORD w kluczu
HKEY_CURRENT_USER. Komuś, kto narzekał równieŜ
na nieprzydatność tej funkcji chcemy zaproponować
identyczną modyfikację. Zamiast tłumaczenia zawiłości
tego procesu chcemy pomóc udostępniając kopię
odpowiedniego klucza rejestru. Zaznaczając w edytorze
klucz (ścieŜka oznaczona na niebiesko na zdjęciu –
kolejny slajd) przygotowaliśmy plik log.reg. Zgrywając go
na dyskietkę i przekazując tej osobie z pewnością
zrobimy jej nie tyle dobrą przysługę co niezły kawał.
Otwierając ten plik w Notatniku zauwaŜymy, Ŝe klucz
zawiera o wiele więcej wartości niŜ ta, o którą chodziło.
Oprócz wartości DWORD 00000001 przy pozycji
"NoLogoff" mamy identyczną wartość przy pozycji
"NoRecentDocsMenu", a to oznacza, Ŝe usunęliśmy
takŜe dostęp do historii ostatnio otwieranych
dokumentów w menu Start.
Takich zmian mogliśmy dokonać znacznie więcej i przy
zaimportowaniu takiego pliku funkcje te automatycznie
zostałyby usunięte równieŜ na innym komputerze. A
przecieŜ nie o to chodziło.
MoŜemy jednak ten plik odpowiednio zmodyfikować. Co
więcej moŜemy stworzyć taki plik od podstaw w notatniku
i zapisując go z rozszerzeniem .reg nadać mu postać
pliku rejestru, który da się zaimportować. W ten sposób
tworzymy skrypt. Aby to było moŜliwe przyjrzyjmy się
tekstowej postaci pliku rejestru.
Nagłówek zawiera informację o typie pliku oraz jego
wersji. W naszym przypadku REGEDIT4 oznacza, Ŝe jest
to plik w systemie Windows 9x. W przypadku Windows
XP nagłówek będzie miał postać następującą:
Pod treścią nagłówka znajdujemy ścieŜkę
dostępu do klucza. Uwaga! ŚcieŜka pokazana
na rysunku z notatnikiem i oznaczona
niebieskim polem, została dla potrzeb tej strony
podzielona na trzy wiersze. Tworząc skrypt
musimy ją bezwzględnie zapisać w jednym
wierszu bez uŜywania klawisza Enter.
Bezpośrednio pod ścieŜką mamy listę wartości.
KaŜda jest umieszczona w oddzielnym wierszu,
a jej nazwa ujęta w cudzysłów. Po znaku
równości znajdują się dane wartości, a typ
wartości ilustruje składnia zapisu. Spróbujmy je
zidentyfikować:
Wartość DWORD zawiera po znaku równości nazwę
dword i po dwukropku dane
np. „NoRecentDocsMenu”=dword:00000001 (wartość
logiczna 1 oznacza "wykonaj polecenie" – czyli w tym
przypadku nie pokazuj ostatniio uŜywanych
dokumentów).
Wartość ciągu zawiera po znaku równości dane w
cudzysłowie np: „ScreenSeveTimeOut”=„60” (czas po
którym nastąpi uruchomienie wygaszacza określono
na 60 sek)
Wartość binarna, po znaku równości zawiera
wyraŜenie hex i po dwukropku wartości szesnastkowe
oddzielone przecinkami np:
„NoDriveTypeAutoRun”=hex:95,00,00,00 (ta
konkretna wartość decyduje o funkcji automatycznego
uruchamiania krąŜków - autorun.
KaŜdy klucz rejestru zawiera teŜ wartość ciągu o
nazwie "Domyślna", która w systemach linii Windows
9x jest z reguły nieokreślona. W serii NT np.
Windows XP występuje najczęściej w postaci nazwy i
tym samym lepiej pozwala zorientować się
uŜytkownikowi w zastosowaniu innych wartości
klucza np:
Jak widać w pliku tekstowym .reg oznaczana jest symbolem @.
Aby przygotować właściwy skrypt modyfikujący tylko jedną
wybraną wartość musi zatem pozostawić w pliku tyko:
•nagłówek zaleŜny od wersji systemu
•ścieŜkę dostępu do klucza
•zmodyfikowaną wartość
Stąd jeden wniosek - jeŜeli nasza modyfikacja ma
dotyczyć usunięcia wybranego klucza to wskazana
metoda nie będzie skuteczna.
A teraz dwa małe tricki, które przygotujemy właśnie w
postaci pliku tekstowego (skryptu), nadamy mu
następnie rozszerzenie .reg i wyeksportujemy do
Rejestru.
Modyfikacja systemowych postaci skrótów - napis
Kiedy tworzymy w Windows skrót do pliku, katalogu
czy dokumentu system oznacza ikonę specjalną
strzałką i napisem "Skrót do ...". Z reguły kaŜdy usuwa
potem tę część nazwy, aby podpis pod ikoną wyglądał
estetycznie. Wprowadzając odpowiednią zmianę
moŜemy spowodować aby ten dodatkowy napis nie
pojawiał się nigdy. W tym celu przygotujemy skrypt
(plik .reg) o treści jak na rysunku poniŜej.
Wartość binarna przywracająca napis ma
standardową postać: 1e 00 00 00
Przyspieszanie dostępu do menu i list
rozwijanych
Gdy klikamy na przycisk Start a następnie
przeciągamy kursor na pozycję ze strzałką,
wywołujemy na ekran podmenu. Za kaŜdym
razem musimy jednak chwilę odczekać zanim
ujrzymy jego zawartość na ekranie. To moŜe być
denerwujące. Z tej animacji pozwoli nam
zrezygnować skrypt po prawej. Standardowo nie
ma w Rejestrze tej wartości.