Ministerstwo Miłości

Is that gasoline I smell?

Odzyskiwanie systemu Windows z plików .swm

2013-07-15 przez szarpaj, oznaczony jako imagex, recovery, swm, toshiba, truecrypt, windows

Proste rzeczy czasem niesamowicie się komplikują... Oto jest Toshiba, która zawiera następującą mieszankę: uszkodzona partycja recovery, dysk zaszyfrowany TrueCryptem, powycierany klucz licencyjny. Pierwsze, niestety, wynikło z drugiego - TrueCrypt zmienił bootloader, więc odzyskiwanie systemu przestało działać. Licencja, prócz wersji systemu (dziwne, że akurat to się nigdy nie wyciera), była czytelna w 70%. Na szczęście, na partycji D:, pozostał katalog HDDRecovery, a w nim pliki .swm.

System na starym dysku jeszcze działał, więc w pierwszej kolejności wydłubałem z niego klucz i próbowałem na nim aktywować świeżą instalację. Niestety, nic z tego („klucz nie jest odpowiedni na potrzeby aktywacji” - cóż, OEMkey.)

Czy ten zbieg okoliczności to nie dobra okazja na odzyskanie systemu z .swm?

Co było potrzebne: Teoretycznie cała operacja wygląda tak:
  1. Formatuję nowy dysk wedle własnego widzimisię.
  2. Uruchamiam komputer z płyty DVD Windows:
    » Napraw komputer » Wiersz polecenia. Odnajduję dysk zewnętrzny z plikami .swm i imagex i klepię:
    imagex /ref 112358XSP*.swm /apply 112358XSP.swm 2 c:\
    /ref pokazuje aplikacji imagex lokalizację podzielonych plików obrazu (stąd *) /apply definiuje imagex lokalizację pierwszego pliku obrazu
  3. Restartuję komputer i ponownie uruchamiam z płyty:
    » Napraw komputer
    Pozwalam mu się samonaprawić przy uruchomieniu.
  4. Restartuję komputer i raz jeszcze uruchamiam z płyty: » Napraw Komputer » Wiersz polecenia
    bootrec /fixmbr
  5. Restartuję komputer i działa.

Niestety w punkcie 5 pojawił się problem. Wszystko ruszyło z dysku, ale przygotowanie do uruchomienia trwało i trwało i trwało... Wkrótce znalazłem problem z większością poradników odzyskiwania z .swm (dzięki stronie Sauron IT [1]). Okazało się, że w .swm może być informacja o kilku partycjach. Jak to sprawdzić?

imagex /ref 112358XSP*.swm /apply 112358XSP.swm * c:\

Wyjściem komendy będzie plik XML, który da się zbadać okiem i wyciągnąć wnioski. Wniosek w moim wypadku był taki: mamy tam schowane dwie partycje. Partycja pierwsza, to „ukryta” część Windows 7. Partycja druga, to normalny „dysk C:”.

Poszedłem na skróty i do listy wymaganych rzeczy dodam:

cokolwiek pozwalające skopiować partycje z dysku na dysk

Sam użyłem CloneZilla z pendrive (5), a następnie dd bez żadnej finezji (dd if=/dev/starydysk of=/dev/nowydysk, ^c po kilku sekundach). Na nowym nośniku pojawiły się trzy partycje ze starego dysku, ale interesują mnie tylko dwie pierwsze.

Tym razem kroki wyglądają następująco:
  1. Formatuję dwie partycje nowego dysku (wyszło tak, że C: to ta „ukryta” partycja Windows 7 o pojemności ~400MB, a D: to „partycja z Windows”)
  2. Uruchamiam komputer z płyty DVD Windows:
    » Napraw komputer » Wiersz polecenia
    Odnajduję dysk zewnętrzny z plikami .swm i imagex i klepię na podstawie tego co widziałem oczkami w pliku XML:
    imagex /ref 112358XSP*.swm /apply 112358XSP.swm 1 c:\
    imagex /ref 112358XSP*.swm /apply 112358XSP.swm 2 d:\
    Testowo uruchamiam komputer z dysku — zgłasza się TrueCrypt o hasło. Po podaniu hasła wyświetla błąd bootloadera.
  3. Restartuję komputer i ponownie uruchamiam z płyty: » Napraw komputer
    Pozwalam mu się samonaprawić przy uruchomieniu.
    Ponownie testowo uruchamiam komputer z dysku — ponownie zgłasza się TrueCrypt o hasło. Po podaniu hasła ponownie wyświetla błąd bootloadera.
  4. Restartuję komputer i raz jeszcze uruchamiam z płyty » Napraw Komputer » Wiersz polecenia
    bootrec /fixmbr (co wywala bootloader TrueCrypt i zapisuje czysty, goły, działający)
  5. Restartuję komputer i działa, odzyskiwanie idzie pełną parą
[1] http://www.sauron-it.nl/index.php?view=article&id=100