|
Po dłuższym okresie intensywnego użytkowania Windows da się zauważyć
pogorszenie stabilności systemu. Często przyczyną rozwiązującą worek z
komunikatami błędów jest instalacja nowej aplikacji lub – co miewa gorsze skutki
–odinstalowanie jednej z niepotrzebnych. Diagnoza: prawdopodobnie coś złego
stało się z Rejestrem systemowym.
W tym artykule pokażę jak ustrzec się awarii Rejestru, a także – jeśli już
przydarzy nam się takie nieszczęście – w jaki sposób temu przeciwdziałać.
Nie wszystkie problemy związane ze stabilnością systemu Windows muszą być
spowodowane błędami w Rejestrze. Często kłopoty mają swoje źródło w niepoprawnie
napisanych aplikacjach instalowanych w komputerze, np. wersje beta
oprogramowania z definicji mogą zawierać błędy, także pewien procent programów
typu shareware i freeware napisanych przez niezbyt doświadczonych programistów.
Jednak w takich przypadkach, prawdopodobieństwo że błąd w aplikacji przełoży się
na uszkodzenie Rejestru (fizyczne jednego z jego plików na dysku bądź logiczne –
skasowanie części z wpisów w rejestrze lub nawet zamazanie kopii Rejestru
przechowywanej w pamięci RAM) jest całkiem poważne. Rejestr systemowy w Windows
to bardzo kapryśny twór.
Aby dobrze radzić sobie z obsługą Rejestru systemowego, musimy go poznać.
Począwszy od wersji 95 Rejestr systemowy w Windows pełni rolę centralnej bazy
zawierającej informacje niezbędne do prawidłowego działania sytemu operacyjnego
oraz służy instalowanym aplikacjom do przechowywania ich własnych ustawień. W
ten sposób Microsoft „wydał wojnę” plikom konfiguracyjnym .INI, które w czasach
MS-DOS i Windows 3.x zaśmiecały dyski, a także, po ich przypadkowym skasowaniu
lub uszkodzeniu, powodowały wiele problemów. Ta „wojna” bynajmniej nie
zakończyła się pełnym zwycięstwem: do dziś wiele programów nadal korzysta z
plików .INI (jak chociażby program... Microsoftu: MS ScanReg, o którym nieco
dalej), natomiast skasowanie jednego z plików Rejestru wpływa zgubnie na cały
system (a nie na pojedynczą aplikację).
Windows 9x przechowuje zawartość Rejestru w dwóch plikach o
nazwach: System.dat i
User.dat, znajdujących się w katalogu systemowym (domyślnie jest to
„C:\Windows”).
Windows Millenium podzieliło Rejestr na trzy pliki (dodatkowy nosi
nazwę Classes.dat).
Windows NT/2000 pliki Rejestru przechowuje w folderze systemowym
\Winnt\System32\config, a składają się na niego
pliki o nazwach Sam, Security, Software, System, Default
oraz Ntuser.dat (ten ostatni w katalogu osobistym użytkownika).
W systemach Windows opartych na jądrze DOS może występować jeszcze jeden plik:
policy.pol lub
config.pol, lecz jego zastosowanie jest tematem na odrębny artykuł.
Ponieważ usunięcie (nawet niezamierzone) wspomnianych plików Rejestru powoduje
katastrofalne skutki dla systemu operacyjnego, Microsoft wyposażył go w pewien
mechanizm ochronny, polegający na częstym tworzeniu kopii zapasowej Rejestru.
Kopie zapasowe:
Windows 98 tworzy kopie zapasowe Rejestru codziennie, podczas pierwszego
zalogowania się (uruchomienia) systemu w danym dniu. W tym celu po starcie
systemu automatycznie uruchamia się narzędzie „Kontroler Rejestru systemu
Windows” (scanregw.exe), które zapisuje pliki System.dat, User.dat oraz Win.ini
i System.ini w specjalnym skompresowanym archiwum (pliki rb001.cab, rb002.cab,
... w folderze C:\Windows\Sysbckup).
Uruchomienie scanregw.exe podczas normalnej pracy w Windows spowoduje
wyświetlenie komunikatu o dokonaniu już tego dnia kopii zapasowej oraz pytania,
czy chcemy wykonać kolejną kopię. Na proces tworzenia backupu Rejestru możemy
wpłynąć przez edycję pliku konfiguracyjnego Scanreg.ini (z reguły znajdziemy go
w domyślnym katalogu instalacyjnym systemu, czyli C:\Windows). Warto zajrzeć do
tego pliku (otwierając go w Notatniku), jego edycja pozwala na łatwą modyfikację
zachowania się narzędzia ScanRegW nawet przez niedoświadczonego użytkownika.
Mamy wpływ m.in. na liczbę przechowywanych starych kopii zapasowych Rejestru
systemowego (domyślnie pięć, opcja „MaxBackupCopies=5”), którą warto zwiększyć
do np. 10.
Optimize=1 - jeśli ScanRegW wykryje w pliku Rejestru więcej niż 500 kB
niewykorzystanego miejsca (po usuniętych wcześniej kluczach), nastąpi
automatyczna optymalizacja połączona z usunięciem pustej przestrzeni. Z moich
doświadczeń wynika, że optymalizacja Rejestru powinna przebiegać znacznie
częściej niż dopiero po spełnieniu wymienionego warunku – na wydajność Windows
wpływ ma nie tylko ilość niewykorzystanego miejsca w Rejestrze, ale także (a
może przede wszystkim) sposób ułożenia już istniejących kluczy i wartości. Na
szczęście istnieje dosyć prosta metoda na optymalizację Rejestru, posłużymy się
do tego celu DOS-ową wersją programu „Kontroler Rejestru systemu Windows” (ScanReg.exe):
– uruchamiamy pełny tryb MS-DOS (a nie tylko okienko MS-DOS!), np. wykorzystując
dyskietkę startową,
– przechodzimy do katalogu WINDOWS,
– wpisujemy polecenie „scanreg /opt” i wciskamy Enter, po czym restartujemy
komputer.
Ten sam program w wersji MS-DOS bardzo się przydaje w razie „wypadku przy
pracy”, czyli poważnego uszkodzenia Rejestru. Odtworzenie jednej z posiadanych
dobrych kopii zapasowych sprowadza się do wykonania tych samych kroków, co
podczas optymalizacji, lecz z innym poleceniem: tym razem brzmi ono „scanreg/restore”.
Wyświetlona zostanie lista znalezionych kopii zapasowych, spośród których
wybieramy jedną – z reguły tą o najnowszej dacie utworzenia.
Inne podejście do tematu fizycznego zabezpieczenia napotkamy w Windows NT/2000.
Otóż systemy te nie dokonują automatycznej archiwizacji Rejestru – o to musi
zadbać użytkownik (z prawami administratora), posługując się programem „Kopia
zapasowa” (Programy - Akcesoria - Narzędzia systemowe), w którym na głównym
ekranie wciskamy „Awaryjny dysk naprawczy” oraz zaznaczamy odpowiednią opcję.
Program „Scanregw” kontroluje Rejestr tylko pod względem jego poprawności
fizycznej. Brak komunikatu o błędzie oznacza jedynie, że główne gałęzie Rejestru
są czytelne, a sam Rejestr w poprawny sposób reaguje na rozkazy odczytu lub
zapisu danych. Aby zapewnić poprawność logiczną, musimy sięgnąć po bardziej
zaawansowane narzędzia.
Czyszczenie programowe:
Dobrze znane są dwa darmowe programy sprawdzające dane w Rejestrze systemowym
pod kątem poprawnej zawartości: Microsoft RegClean i EasyCleaner. Pierwszy z
nich raczej pobieżnie skanuje Rejestr, lecz jest w stanie wychwycić najczęstsze
błędy (i działa dosyć szybko). EasyCleaner uruchomiony jako drugi usunie
wszystkie pozostałe „śmieci” z Rejestru. Po takim czyszczeniu polecam
optymalizację Rejestru w sposób, jaki opisałem wcześniej.
Jako zabezpieczenie swojej działalności obydwa programy tworzą plik .REG, gdzie
są zapisywane wszystkie usuwane przez nie klucze. Gdyby któryś z „czyścicieli”
wykasował zbyt wiele (co będzie dosyć łatwe do stwierdzenia ze względu na prawie
natychmiast występujące „dziwne” komunikaty o błędach) wystarczy tylko podwójne
kliknięcie w taki plik (*.reg)
D.F.
|