Rejestr Windows – backup z prawdziwego zdarzenia
Niektórzy z nas (mam nadzieję, że wszyscy, a nie tylko „niektórzy”) korzystają z jakichś narzędzi do backupowania. Linux jest osobną sprawą, tam jak coś pada, to po update pakietów, etc. Pomimo to, da się jednak jakoś edytować konfigurację z np. LiveCD i ulubionym edytorem w powłoce. Wszystko da się zrobić.
Pod Windows 2k/XP sprawa jest trochę bardziej skomplikowana. Czemu?
studium przypadku
Ano to, że rejestr jest przechowywany w plikach binarnych. Owszem, można wyeksportować całość do plików reg i łudzić się, że można spać spokojnie. Jednak, to tylko pozory; geek może się o tym przekonać przy pierwszym padzie. I wtedy pozostaje wyłącznie konsola odzyskiwania, można sobie co najwyżej opluć twarz, że nie ma backupu. Fakt, czasem pliki reg są przydatne, aby naprawić coś, co sami unieruchomiliśmy – i nie wyszło, ale co w sytuacji, gdy ani konsola odzyskiwania nie pomaga, o padach systemu przy samym bootowaniu – BSOD-zie zamiast ekranu logowania nie wspomnę?
Dlaczego wspomniana przeze mnie konsola odzyskiwania jest zwykle bezużyteczna? No ok, można się zalogować, włączać/wyłączać usługi, czy sterowniki, ale co w sytuacji, gdy i to nie pomaga? Producent radzi, aby próbować odzyskiwać bazę ustawień z \windows\repair, ale zafunduje to nam spory powrót do przeszłości i pechowy użytkownik czuje się wtedy jakby świeżo przeinstalował system. Ale tak nie musi być.
Swoją drogą, gdyby użytkownik odrobinę częściej używał wyszukiwarki i wyciągał wnioski, skończyłoby się stwierdzenie, że jak coś nawala, to trzeba od razu robić format
, a z polskiego na nasze – przeinstalowywać system. Najczęściej można go po prostu odtworzyć, tylko trzeba się najpierw do wszystkiego przygotować.
teoria
W skrócie – rejestr Windows NT (NT, 2000, XP, itp), to tak naprawdę kilka plików będących odpowiednikami głównych gałęzi rejestru (zaczynają się od HKEY_) – czyli zbiorów bez rozszerzenia znajdujących się w katalogu \windows\system32\config. Zwykle mają łącznie poniżej 50 MiB (software, system, security i kilka innych). Swego rodzaju wyjątkiem jest klucz HKEY_CURRENT_USER – jest dołączany dynamicznie w zależności od zalogowanego użytkownika. Sam plik znajduje się w katalogu domowym użytkownika (\Documents and Settings\user\ntuser.dat). Jeśli katalog domowy jest przetrzymywany na osobnej partycji, awaria nie stanowi problemu – większość ustawień osobistych pozostaje nienaruszona. Gorzej, jeśli na partycji systemowej, ale to zupełnie inna sytuacja.
Kolejną wadą plików reg jest problem z odtwarzaniem niektórych kluczy – niektóre mogą być używane, brak uprawnień, etc, etc. Jeśli chodzi o skopiowanie plików binarnych, to jest problem – są one cały czas używane i tak zwyczajnie nie da się ich skopiować. Pozostaje w zasadzie tylko konsola odzyskiwania, czy jakiś program bazujący na VSS (Volume Shadow Service). Ale jest prostsze rozwiązanie, nie wymagające aż tak wielkiego zachodu.
Jeśli w tej chwili stoisz przed systemem, który nie może wstać nawet w trybie awaryjnym, a nie masz kopii zapasowej rejestru – doprowadź Windows do stanu, w którym chciałbyś go zachować, potem wróć do czytania tego tekstu. Możesz również spróbować odzyskać stary backup rejestru, który znajduje się w katalogu \Windows\repair.
kopia rejestru 1:1 – czyli ERUNT
Widocznie autor ERUNT cierpiał z tego samego powodu, co ja. Przyznam, że aplikacja jest genialna w swojej prostocie i w 90% przypadków jest w stanie uchronić peceta przed tzw. „formatem”. Twórca zasłynął ze stworzenia aplikacji NT Registry Optimizer, który jest dołączony do paczki.
Tak naprawdę, na ERUNT wpadłem po tym, że NTREGOPT podczas optymalizacji zawsze tworzy pliki zapasowe rejestru. Pomyślałem, że może autor jeszcze inaczej spożytkował algorytm dostępu do plików rejestru i nie przeliczyłem się.
Program zawiera właściwie wszystko, co jest do backupów potrzebne – narzędzie do ręcznego wykonywania kopii (erunt), i automat (autoback). Pierwszy oferuje interfejs do wyklikania, ale do regularnego użytkowania raczej się nie przyda – po pewnym czasie stanie się to nudne, żmudne i się po prostu odechce. A nam zależy przecież na działającej i aktualnej kopii.
Dlatego niech kopia zapasowa tworzy się raz dziennie, podczas startu systemu. A co tam. Dodatkową zaletą narzędzia autoback jest fakt, iż pilnuje ono, aby katalog z kopiami nie rozrósł się za bardzo zapychając miejsce na dysku. Nie posiada interfejsu graficznego, odpalany jest wyłącznie z linii komend. Wystarczy sobie wygospodarować katalog na dysku przeznaczony na kopie, dodać do autostartu skrót i spać spokojnie. Komenda może wyglądać np. tak:
C:\system\erunt\AUTOBACK.EXE G:\etc\reg\#date# sysreg curuser otherusers /days:7 /alwayscreate
Klasycznie – ścieżka do programu, a następnie:
- G:\etc\reg\#date#
Jest to ścieżka na przechowywane kopie rejestru. #date# oznacza, iż podfolder będzie nazwany wg daty.
- sysreg curuser otherusers
Oznaczają one odpowiednio: rejestr systemowy, bieżącego użytkownika, pozostałych użytkowników.
- /days:7
Maksymalny wiek kopii. Backupy starsze niż N dni zostaną skasowane.
- /alwayscreate
Jeśli kopia na np. dany dzień już istnieje, tworzy ją ponownie.
Sporządzanie kopii zapasowej trwa dość krótko, poniżej 10 sekund dla rejestru o wadze ~37,5 MiB.
odzyskiwanie
Rejestr można odzyskać identycznie jak w podlinkowanym przeze mnie artykule – wszystkie pliki są w katalogu kopii. Autor ERUNT poszedł o krok dalej i wraz z kopią dodaje programik erdnt, który umożliwia odzyskanie plików nawet z poziomu DOS-a. Daje to spore możliwości – jeśli nie posiadamy dostępu do płyty instalacyjnej z Windows, można wystartować jakiegoś starocia z obsługą NTFS i przekopiować rejestr wklepując dosłownie jedną komendę (po wcześniejszym przejściu do odpowiedniego katalogu przez np. cd /d D:\kopia, rzecz jasna ;)).
LiveCD z Linuksem też może być, do wyboru, do koloru. Mamy nawet wygenerowany plik, który uwalnia nas od żmudnego wklepywania wielu komend w konsoli odzyskiwania – wystarczy wówczas batch erdnt.con i restart komputera.
epilog
Systemy Microsoftu wyrobiły sobie opinię, że jeśli coś się zepsuje – format C: albo kompletna reinstalacja systemu. Tak nie musi być, wystarczy kopia rejestru. Nawet bardzo stara – zwykle wystarczy przywrócić tylko plik system, który zawiera ustawienia dla kluczowych elementów systemu, typu usługi, czy sterowniki. Najważniejsze – ustawienia aplikacji – powinny zostać nienaruszone.
Teraz, to i BSOD niestraszny.
Od kilku lat używam ERUNT (z nieco innymi parametrami) i mogę powiedzieć, że jeszcze nigdy mnie nie zawiódł. To najlepsze tego typu rozwiązanie jakie znam, w dodatku całkowicie bez opłat.