Na własną rękę

Nieszczęścia chodzą po ludziach – a nieszczęściem może być wirus masakrujący tablicę partycji albo młodszy brat pozostawiony sam na sam z włączonym komputerem. Oczywiście najwygodniej byłoby wtedy sięgnąć po kopie zapasowe zbiorów, ale pewnie okaże się, że po prostu ich nie mamy. Pozostaje zatem udać się do firmy, która odzyska nasze pliki, albo wysupłać z kieszeni pieniądze na pakiet typu EasyRecovery Pro. Narzędzie kosztuje mniej więcej 2000 złotych.

Możemy też spróbować uratować dane samodzielnie, korzystając z darmowych aplikacji. Istnieją bowiem narzędzia, które pozwalają naprawić uszkodzoną tablicę partycji albo pliki, których nie znajdziemy już w systemowym Koszu. Jak to zrobić, wyjaśnimy w niniejszym artykule.

Bez złudzeń

Nie róbmy sobie nadziei, że uda nam się tak dopracować domowe sposoby odzyskiwania danych, aby podważyć sens istnienia firmy Ontrack albo innych, podobnych laboratorów. Nic z tego – zaprezentowane dalej “patenty” mają zdecydowanie chałupniczy charakter i przeznaczone są do własnego użytku. Choć efekty pracy mogą być niezłe, to osiągniemy je sporym nakładem sił. I już tylko dlatego zaznaczam, że to, co opiszę dalej, robi się wyłącznie wtedy, gdy nie ma innego wyjścia. Nie powinniśmy szukać w ten sposób rozrywki albo metod zabicia czasu. Zapewniam, że rozrywka jest żadna, a czasu zabijemy naprawdę zbyt wiele.

Jeszcze jedno: programy, które będą nam potrzebne, nie pomogą, w przypadku gdy doszło do mechanicznego uszkodzenia dysku. W takiej sytuacji nie ma rady – musimy skorzystać z pomocy specjalistów. Ich adresy znajdziecie w ramce “Więcej informacji” na końcu artykułu.

W zerowym sektorze

Przyjmijmy, że po uruchomieniu komputera wita nas komunikat o uszkodzeniu tablicy partycji bądź o niewłaściwych wpisach w całym sektorze zajmowanym przez Master Boot Record. Nie mamy wtedy co liczyć na załadowanie systemu operacyjnego. Zanim zajmiemy się metodami pozbywania się kłopotu, musimy przypomnieć sobie wiadomości na temat głównego rekordu ładującego.

Master Boot Record ma rozmiar 512 bajtów i zajmuje w całości pierwszy fizyczny sektor na dysku. Rekord składa się z dwóch części: umieszczonego na początku kodu wykonywalnego i tablicy partycji. Kod ładowany jest do pamięci RAM i uruchamiany podczas startu komputera. W samym kodzie znajdziemy program odpowiedzialny za odnalezienie i odczytanie tablicy partycji oraz określenie, która partycja jest aktywna – czyli z której powinien być uruchamiany system operacyjny.

Na razie te wiadomości powinny nam wystarczyć. Wynika z nich jasno, że dobrze jest mieć zapasową kopię Master Boot Recordu. Można ją zrobić, posługując się programem MBRutil, który zamieszczamy na CHIP-CD. Wystarczy wydać komendę mbrutil /S=plik_z_kopia_MBR. Odtwarzanie rekordu startowego wymaga wydania komendy mbrutil /R=plik_z_kopia_MBR .

Gdy kopii brak

Zazwyczaj jednak jest tak, że żadnej kopii MBR nie mamy. Ale nawet wtedy możemy spróbować naprawić sektor rozruchowy.

Najczęstszym – i dość banalnym – zdarzeniem jest uszkodzenie kodu wykonywalnego, zapisanego w Master Boot Recordzie. W takiej sytuacji musimy dysponować dyskietką startową z programem fdisk. Po wystartowaniu komputera z dyskietki wydajemy komendę fdisk /mbr. Wystarcza to do naprawienia kodu. Jeżeli jednak problemu nie da się rozwiązać poprzez skorzystanie z dyskietki startowej i fdiska, to najwyraźniej doszło do awarii w innej części MBR.

A co właściwie mogło ulec uszkodzeniu? Miejmy nadzieję, że przypadek jest w miarę prosty. Nieuszkodzony Master Boot Record kończy się specjalną sygnaturą. Ma ona rozmiar dwóch bajtów o szesnastkowej postaci 55 AA. Jeśli sygnatura jest inna, to podczas startu komputera oglądamy komunikaty: “The system did not load because of a computer disk hardware configuration problem (…)”, “Boot Record Signature AA55 Not Found”, “NTDETECT failed” itp. Możemy zatem sprawdzić sygnaturę i ewentualnie ją skorygować. Posłużymy się aplikacją WinHex. Jest to darmowy edytor dyskowy, za pomocą którego spróbujemy poprawić uszkodzone dane.

Bajt po bajcie

Po uruchomieniu WinHeksa wydajemy komendę Tools | Disk Editor. Następnie zaznaczamy ikonkę dysku, którego zawartość chcemy edytować. Naciskamy przycisk OK. Pojawi się okno prezentujące zawartość “twardziela”. Klikamy pole Access i wybieramy opcję Partition | Partition table. Teraz pokazuje się cały Master Boot Record. Każda wyświetlona na ekranie para szesnastkowych cyfr to jeden zapisany bajt. Na razie WinHex pracuje w trybie przeglądania danych i nie grozi nam żadne przypadkowe zmodyfikowanie dysku.

Trzeba jakoś się orientować w tych wszystkich liczbach wyświetlanych na ekranie. Przypominam: szukamy dwóch ostatnich bajtów Master Boot Recordu (tych o numerze 510 i 511, czyli szesnastkowo 1FE i

1FF

). W kolumnie oznaczonej jako Offset odnajdujemy linię 1F0 i przesuwamy się w prawo o 15 pozycji. Powinna tam być wpisana liczba 55. O jeden bajt w prawo znajdziemy miejsce dla drugiej części sygnatury, czyli AA. Jeżeli widzimy, że sygnatura jest niepoprawna, wydajemy komendę

Options | In-Place Editor

(albo naciskamy kombinację [Shift]+[F6]). W ten sposób przechodzimy do trybu edycji dysku. Po zaakceptowaniu ostrzeżenia o tym, że wszystkie zmiany zostaną wprowadzone bez pytania o potwierdzenie, wpisujemy wartość 55 AA na dwóch ostatnich pozycjach Master Boot Recordu.

Zamykamy WinHeksa i próbujemy załadować system z “poprawionego” dysku. Udało się? Jeśli nie, potrzebna będzie kolejna dawka informacji.

Więcej:bezcatnews