Rejestr - serce Windows
Jak wskazuje tytuł niniejszego artykułu, bazą danych konfiguracyjnych, czyli sercem Windows 9x, jest Rejestr. Zapoznanie się z nim jest jakby kolejnym krokiem wtajemniczenia w procesie poznawania systemu operacyjnego. Przedstawimy tutaj informacje o strukturze Rejestru, sposobach bezpośredniego wprowadzania zmian w jego zawartości i tym, jak przeniesione zostały do niego wartości z plików INI systemu Windows 3.x. Autor w miarę możliwości opisuje zawartość Rejestru jak najszczegółowiej, z naciskiem na praktyczne wykorzystanie wiedzy o tym, gdzie szukać użytecznych "kluczy".
Cała konfiguracja w dwóch plikach
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.
Niestety, wprowadzenie koncepcji jednolitego Rejestru jako bazy danych konfiguracyjnych nie pozwala na natychmiastowe "uwolnienie się" od takich plików, jak WIN.INI, SYSTEM.INI, ATM.INI, CONFIG.SYS czy AUTOEXEC.BAT. Pomimo tego, że ich rola w Windows 95 sprowadzona została do pozostałości po poprzednim środowisku pracy, ich usunięcie z dysku twardego może wręcz uniemożliwić uruchomienie komputera. Powodem jest głównie zgodność z 16-bitowym, pochodzącym z DOS-u i Windows 3.x oprogramowaniem. Ani aplikacji użytkownika, ani wszystkich programów obsługi urządzeń z reguły nie jesteśmy w stanie wymienić od razu na ich nowe, pisane dla Windows 95, odpowiedniki. Pliki INI w dalszym ciągu są więc obsługiwane na równi z Rejestrem.
Wymieniane przez Microsoft zalety użytej w Windows 95 koncepcji Rejestru są następujące:
Jedno miejsce przechowywania danych wykorzystywanych przy enumeracji i konfigurowaniu urządzeń, ich sterowników, aplikacji oraz samego systemu operacyjnego.
System operacyjny automatycznie tworzy kopię ostatniej poprawnej konfiguracji wykorzystywanej przy uruchamianiu komputera.
Jeżeli zastosowana zostanie opcja wykorzystywania indywidualnych profili konfiguracyjnych użytkowników, odpowiednie dane mogą być przechowywane na serwerze sieci. Pozwala to na korzystanie z własnej konfiguracji niezależnie od tego, której końcówki sieci używamy.
Administratorzy sieci mogą korzystać ze specjalnych narzędzi umożliwiających wprowadzenie wszelkich zmian konfiguracyjnych z dowolnej końcówki sieci, niezależnie od jej rodzaju.
Wprowadzanie zmian w Rejestrze
Uwaga: Wszelkie zmiany w Rejestrze czynimy na własną odpowiedzialność. Jeżeli modyfikacje można wprowadzić bez korzystania z Edytora Rejestru, zawsze lepiej uniknąć jego używania -- nie sygnalizuje on jakichkolwiek błędów we wprowadzonych wartościach. Gorąco można polecić Edytor założeń systemowych (CD-ROM Windows 95 -- folder ADMIN). |
Podstawowym narzędziem przeznaczonym do przeglądania i modyfikowania Rejestru jest specjalny edytor, uruchamiany poleceniem z menu Start | Uruchom:
regedit
Windows 95 nie umieszcza w folderze MENU START żadnego skrótu do niego. Możemy więc korzystać z polecenia Uruchom lub stworzyć skrót samemu -- plik REGEDIT.EXE znajdziemy w głównym folderze systemu operacyjnego (C:\WINDOWS).
Łatwo zauważyć podobieństwo do Eksploratora. Nawyki z niego z powodzeniem można wykorzystać. Lewy obszar okna możemy traktować jak drzewo folderów, a prawy podobnie jak listę plików. Szczegółowe informacje możemy wyszukiwać rozwijając kolejne gałęzie drzewa lub korzystając z dostępnego poprzez menu polecenia Znajdź.
Choć podobieństwo do Eksploratora skłania do nazywania gałęzi drzewa Rejestru folderami, oficjalny słowniczek jest nieco inny. Zapoznaje z nim poniższa tabelka, zawierająca krótki opis elementów, oraz najprostsze metody dodawania nowych i zmian wybranych elementów.
ELEMENT |
OPIS |
DODANIE ELEMENTU |
ZMIANA ELEMENTU |
Kategoria |
Jeden z sześciu kluczy głównych, zaczynających się od HKEY_ |
Brak możliwości |
Brak możliwości |
Klucz |
Jeden z folderów Rejestru. Pomijając hierarchiczną strukturę, klucze porównać można do sekcji plików INI |
Podobnie jak przy tworzeniu folderu w Eksploratorze, wybranie klucza nadrzędnego, a następnie z kontekstowego menu Nowy | Klucz. |
Wybranie z menu kontekstowego polecenia Zmień nazwę (F2) |
Wartość |
Widoczna tylko w prawym oknie Edytora Rejestru, w kolumnie Nazwa. Każdy klucz może zawierać jedną lub więcej wartości. Można je porównać do tej części wpisów w plikach INI, która znajduje się po lewej stronie znaku =. |
Wybranie klucza, do którego należeć ma wartość, a następnie z kontekstowego menu klucza Nowy | Wartość ciągu. Można również utworzyć wartość binarną lub DWORD. |
Jeżeli chodzi o zmianę nazwy wartości, wybieramy z jej menu kontekstowego Zmień nazwę (F2). |
Dane |
Widoczne w prawym oknie edytora, w kolumnie Dane. Dane porównać można do wpisu w pliku INI po prawej stronie znaku =. Dane mogą być tekstowe, binarne lub typu DWORD. Dwa ostatnie rodzaje danych stosują tylko aplikacje. |
Dane są ściśle przyporządkowane wartościom. |
Podwójne kliknięcie na nazwie wartości (ENTER). |
Kopiowanie gałęzi... |
Współpraca Edytora Rejestru ze Schowkiem jest znikoma, a z mechanizmem przeciągnij-i-upuść -- żadna. Działalność na polu eksport-import może więc niekiedy okazać się jedynym ratunkiem przed ręcznym przepisywaniem. Sposób eksportowania i importowania danych Rejestru opisanemy w następnych częściach, ale odrobina namysłu pozwoli samodzielnie poradzić sobie z poleceniami Importuj plik Rejestru i Eksportuj plik Rejestru z menu Plik. |
Dwie główne grupy przechowywanych w Rejestrze danych to:
HKEY_LOCAL_MACHINE (HKLM) -- komputer. Konfiguracja sprzętowa oraz zainstalowanych aplikacji i samego systemu operacyjnego. Są one przechowywane w pliku SYSTEM.DAT.
HKEY_USERS (HKU) -- użytkownicy. Profile konfiguracyjne użytkowników, ustawienia niektórych aplikacji, indywidualne opcje drukowania i sieci. Przechowywane w pliku USER.DAT, który może być przechowywany na lokalnym dysku systemowym lub serwerze sieci.
W rzeczywistości kategorii jest tyle co plików, czyli dwie. Pozostałe klucze główne powstają następująco:
HKEY_CLASSES_ROOT (HKCR) w rzeczywistości jest wskaźnikem do HKEY_LOCAL_MACHINE\Software\Classes,
HKEY_CURRENT_CONFIG (HKCC) jest kopią HKEY_LOCAL_MACHINE\Config\numer wykrytej konfiguracji,
HKEY_CURRENT_USER (HKCU) jest kopią HKEY_USERS\nazwa zalogowanego użytkownika,
HKEY_DYN_DATA (HKDD) zmienia się dynamicznie i jest przechowywana w pamięci RAM.
Pliki SYSTEM.DAT i USER.DAT znajdziemy w folderze WINDOWS. Jest tam również kopia Rejestru wykonywana w momencie uruchomienia Windows -- pliki SYSTEM.DA0 i USER.DA0, użyteczne w razie popełnienia pomyłki. Wszystkie cztery mają atrybuty plików systemowych, ukrytych i tylko-do-odczytu, dzięki czemu są widoczne w oknach Eksploratora tylko wtedy, gdy włączona jest opcja Pokaż wszystkie pliki.
Warto zwrócić uwagę, że Windows 95 tworzy kopię Rejestru tylko po bezproblemowym uruchomieniu -- znakomicie zabezpiecza to przed utratą "ostatniej deski ratunku". W razie, gdy w trakcie uruchamiania Windows, stwierdzony zostanie brak lub uszkodzenie któregoś z plików DAT, po poinformowaniu o tym użytkownika wykorzystany zostanie DA0 (dodatkowym zabezpieczeniem jest kopia systemowej części Rejestru w pliku SYSTEM.1ST tworzonym przy pierwszym po instalacji uruchomieniu Windows 95, a przechowywanym w głównym folderze dysku).
Windows 98 automatycznie tworzy szereg kopii zapasowych rejestru i innych plików konfiguracyjnych. Znajdują się one w folderze SysBackup w plikach *.cab. Przywracanie, w razie awarii, poprzednich (dobrze działających kopii) znakomicie wykonuje (z poziomu DOS) program Scanreg.exe. |
Niezależnie od kopii automatycznej, w przypadku takich danych jak Rejestr przed rozpoczęciem jakichkolwiek modyfikacji bezwzględnie należy wykonać własną kopię wspomnianych plików DAT. Zabezpieczy to zarówno przed błędami drobnymi, jak i takimi, które uniemożliwią uruchomienie Windows 95. W tym ostatnim przypadku możliwość odtworzenia kopii daje wciśnięcie klawisza f8 na samym początku inicjalizacji systemu operacyjnego -- gdy widać na ekranie napis Uruchamianie Windows 95. Ukaże się wtedy rozbudowane menu startowe, z którego w najgorszym wypadku możemy wybrać linię komend trybu awaryjnego.
Jeżeli musimy skorzystać z kopii zapasowej Rejestru, kopiowanie należy wykonać poza środowiskiem graficznym. Należy więc zamknąć system wybierają opcję Uruchomić komputer ponownie w trybie MS-DOS (oznacza to zamknięcie Windows 95 i pozostawienie użytkownika w DOS-ie). Jeżeli powodem skorzystania z kopii zapasowej jest brak możliwości uruchomienia Windows 95, należy skorzystać ze wspomnianego menu startowego i wybrać jedną z opcji Tylko wiersz poleceń. Pliki SYSTEM.DAT, USER.DAT, SYSTEM.DA0 i USER.DA0 posiadają atrybuty "ukryty", "systemowy" i "tylko-do-odczytu", które można usunąć wyłącznie poleceniem attrib -r -h -s nazwa_pliku. |
Choć jesteśmy dopiero na początku zapoznawania się z Rejestrem, konieczne jest umieszczenie w tym miejscu informacji, że jeżeli chcemy zabezpieczyć się przed edycją Rejestru przez niepowołane osoby, powinniśmy umieścić w kluczu
HKEY_CURRENT_USER\SOFTWARE\Micorosoft\Windows\CurrentVersion\Policies\System
(jeżeli nie korzystamy z profili użytkowników) lub
HKEY_USERS\użytkownik\SOFTWARE\Micorosoft\Windows\CurrentVersion\Policies\System
(jeżeli korzystamy z profili użytkowników) wartość DWORD DisableRegistryTools równą 1. W przypadku, gdy korzystamy z profili użytkowników zmianę warto wprowadzić nie tylko w odniesieniu do istniejących użytkowników, ale również do nowych (.Default). Łatwiejsze wprowadzenie tych wartości umożliwia Edytor założeń systemowych, który znajdziemy na CD-ROM-ie w folderze ADMIN.
Jak zmniejszyć i przeczyścić Rejestr z Windows 95?
To często zadawane pytanie. Publikujemy przepis polegający na eksporcie i imporcie (pod DOSem) pliku Rejestru. Pełny przepis i gotowe pliki wsadowe BAT znajdziesz w archiwum Przepis.zip (2 kB). Uważnie przeczytaj plik CZYTAJ.TXT...
Jak to zrobić w Windows 98?
Tutaj mamy do dyspozycji wspaniałe narzędzie SCANREG.EXE, które należy uruchamiać z poziomu DOS. Jeśli uruchomimy program komendą scanreg /fix to nastąpi:
Skanowanie i sprawdzenie struktury Rejestru
Przebudowanie Rejestru
Program działa bardzo sprawnie i rzeczywiście zmniejsza Rejestr w znaczny sposób (usuwa niedopuszczalne zapisy i puste bloki danych). Program znajduje się w folderze COMMAND w Windows 98 i działa również pod Win95.
Wystarczy w trybie MSDOS wpisać komendę
c:\scanreg /fix
Problemem w edycji Rejestru jest przedzieranie się przez gąszcz gałęzi do szukanego miejsca. Pomocą w szybkim docieraniu do np. odwiedzonego ostatnio klucza może być RegEditX -- ciekawa nakładka na Edytor Rejestru, dodająca pole do wpisywania szukanych kluczy, oraz zapamiętująca odwiedzone miejsca.