Konserwacja rejestru


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.


Copyright © by MiniMax 1997/2007. All rights reserverd!