Jak sklonować partycję NTFS (WinXP) z uszkodzonego dysku na nowy?

10

Muszę sklonować partycję NTFS z uszkodzonego, prawie umierającego dysku twardego (SCSI, jeśli to ma znaczenie) na nowy (SATA).

Zainstalowałem ostatnią wersję narzędzi Boot CD Hiren na pamięci USB i próbowałem z GParted, który powiedział mi, że nie może skopiować / wkleić partycji, ponieważ jest uszkodzona i „oflagowana” przez Windows do uruchomienia CHKDSK. Postępowałem zgodnie z radą Ostrzeżenie i próbowałem ją naprawić przy użyciu CHKDSK /f(zajęło to 9 godzin i zakończyłem z błędem po „fazie 3”) oraz programu Linux, którego nie mogę sobie teraz przypomnieć, bez powodzenia.

Próbowałem sklonować za pomocą Clonezilli, ale również nie powiodło się, z tych samych powodów. W HBCD jest dd_rescue, ale znów się nie powiódł, ponieważ nie może znaleźć „ntfs.something”.

Ostatecznie wszystko, czego chcę, to sklonować tę partycję w jej obecnym stanie, z jego błędami i wszystkim. Mogę to naprawić na nowym dysku.

Więc co powinienem zrobić?

Parduz
źródło
Jaki komunikat o błędzie został zwrócony CHKDSK /fpo „fazie 3”?

Odpowiedzi:

5

Możesz oczywiście spróbować naprawić partycję NTFS na oryginalnym dysku, ale nie mogę tego zalecić, ponieważ problemy mogą być spowodowane awarią sprzętu, a naprawa może pogorszyć sytuację.

Najpierw utwórz blok do kopiowania bloku za pomocą ddrescue do pliku. Jeśli jest jakikolwiek blok, którego nie można skopiować, ddrescuebędzie kontynuowany z resztą płyty.

Jeśli ddrescuenie znajdzie żadnych złych bloków, możesz spróbować użyć oprogramowania naprawczego w pliku (zamontowanego przez sprzężenie zwrotne). Jeśli występują problemy z dyskiem SCSI lub po prostu chcesz mieć pewność, że możesz zacząć od nowa od zera, zrób kopię pliku i spróbuj naprawić system plików NTFS na drugiej kopii. Ponieważ kopiowanie dysku z błędami może być czasochłonne, konieczne może być przerwanie procesu (ponieważ potrzebujesz komputera, aby ostygnąć dysk lub ponownie uruchomić oprogramowanie układowe dysku).

Dlatego z mojego doświadczenia ddrescuewynika, że ​​jest znacznie lepszy w problematycznych przypadkach niż ddz conv=noerror. ddrescueprowadzi dziennik tego, co zrobił, i uruchamia się ponownie na podstawie tych informacji, co jest niedostępne dd. ddrescuejest również mądrzejszy w czytaniu bloków od końca, jeśli napotka problem. O wiele szybciej pojawi się w stanie kopii obrazu, którego można użyć jako podstawy do sprawdzenia systemu plików (i można przejść do ddrescueoryginalnej kopii). Możesz zrobić coś takiego, ddjeśli chcesz poświęcić dużo czasu na ręczne obliczanie przesunięć.

Możesz także skopiować plik na partycję NTFS o odpowiednim rozmiarze, umieścić dysk na komputerze z systemem Windows i stamtąd skorzystać z natywnych narzędzi naprawczych.

Anthon
źródło
1
Bardzo przydatne! Czy możesz dodać dokładny przykład ddrescueakcji w wierszu polecenia , podobny do ddprzykładu w innej odpowiedzi?
landroni
2
@landroni Mógłbym (w zasadzie ddrescue /dev/sdX driveimage logfile), ale naprawdę powinieneś poświęcić wysiłek na czytanie ddrescuedokumentacji. Jeśli twój system jest uszkodzony, istnieje wiele powodów, aby przeczytać instrukcję przed potencjalnym pogorszeniem sytuacji.
Anthon
Patrzę teraz na stronę podręcznika, ale niektóre opcje są tajemnicze. Jaki byłby najbardziej konserwatywny ddrescueodpowiednik dd if=/dev/olddisk of=/dev/newdisk bs=4k conv=noerror,sync? Pamiętając, że byłby uruchamiany na uszkodzonym (i ginącym) dysku i że „trudność ratowania danych w przypadku błędów odczytu” nie jest tak naprawdę opcją. Dzięki!
landroni
@landroni z opcjami podanymi w poprzednim komentarzu każdy sektor w bloku jest wypróbowywany tylko raz. Jedyny sposób, w jaki wiem, że możesz to poprawić, to to, że wiesz, które obszary są na pewno OK, użyj ich -ii -sje odzyskaj.
Anthon
Ostatnim razem, gdy próbowałem ddrescue /dev/sr0 driveimage.iso(na zarysowanej płycie CD), program wielokrotnie próbował czytać wiele złych sektorów. Mogę się mylić, ale byłbym niefrasobliwy, jeśli chodzi o bieganie ddrescuebez innych opcji ograniczających na umierającym dysku.
landroni
3

Miał ten sam problem: dysk, który wkrótce umiera,
z partycją NTFS, którą chciałem najpierw uratować, a potem naprawić
(zanim dysk całkowicie zniknie).

Był w stanie rozwiązać to za pomocą ntfsclone :

  1. Połącz dwa dyski - stary i nowy
  2. Uruchamianie z Live-Linux z USB
    (do tego też można użyć Parted Magic )
  3. Utwórz wystarczająco dużą partycję na nowym dysku
    (użyj do tego gparted )
  4. Zanotuj nazwę partycji, ponieważ są one nazwane w gparted
    ( /dev/sdaX, /dev/sdbX)
  5. Otwórz okno terminala i uruchom następującą komendę: (zamień i na nazwy z kroku „4.” - ) ntfsclone będzie narzekał, że przeoczyłeś niespójności, ale powinien kontynuować kopiowanie partycji
    ntfsclone --force --ignore-fs-check --rescue --overwrite NEW-part OLD-part
    NEW-partOLD-part/dev/sd...

- po zakończeniu -

  1. Wyłącz komputer
  2. Odłącz wadliwy dysk
    (teraz chcesz go używać jak najmniej)
  3. Uruchom ponownie komputer - w systemie Windows lub Linux
    i spróbuj naprawić partycję na nowym dysku

EDYTOWAĆ:

- UWAGA -
Wadliwy (niestabilny) zasilacz może spowodować, że kontrolery dysków zwariują
i są bardziej narażone na awarię niż dyski, dlatego najlepiej to sprawdzić.
Możesz doświadczyć zachowania, że ​​wszystko działa dobrze przez kilka minut
(lub sekund), a następnie system zaczyna wariować, gdy tylko się rozgrzeje, dosłownie.

(naprawienie zasilacza nie przywróci oczywiście utraconych danych, ale zapobiegnie ich utracie)

Gonen
źródło
1

Spróbowałbym naprawić dysk za pomocą HDAT (darmowy) lub ewentualnie Spinrite (komercyjny). Użyłem obu tych narzędzi do odzyskania dysków, które uległy awarii i oba działały dobrze w przeszłości.

Dopóki dysk nie będzie w stanie się nadawać do użytku, nie przewiduję, abyś posunął się zbyt daleko w swoich wysiłkach przywracania. Po wyczyszczeniu dysku skorzystam z Clonezilli, aby jak najszybciej go zreplikować na alternatywny dysk twardy.

slm
źródło
0

Uważam, że to pytanie powinno mieć działający przykład, więc w ten sposób wykorzystałem ddrescue

0) Zainstalowałem dysk zastępczy identycznej wielkości (i marki) w ramach gwarancji i przeniosłem stary dysk do drugiego gniazda

1) Użyłem płyty rozruchowej Ubuntu

Wypróbowałem tę prostą opcję, ale natychmiast spowodowało wiele błędów i zawiesiło się

dd if=/dev/sdb of=/dev/sda bs=512 conv=noerror,sync
root@ubuntu:~# dd if=/dev/sdb of=/dev/sda bs=512 conv=noerror,sync
dd: error reading ‘/dev/sdb’: Input/output error
57496+0 records in
57496+0 records out
29437952 bytes (29 MB) copied, 6.02927 s, 4.9 MB/s
dd: error reading ‘/dev/sdb’: Input/output error
57496+1 records in
57497+0 records out
29438464 bytes (29 MB) copied, 8.86693 s, 3.3 MB/s
dd: error reading ‘/dev/sdb’: Input/output error
57496+2 records in
57498+0 records out
29438976 bytes (29 MB) copied, 11.7068 s, 2.5 MB/s
dd: error reading ‘/dev/sdb’: Input/output error
57496+3 records in
57499+0 records out

2) Przeczytaj te artykuły:

Zwróć uwagę, że ten ostatni zalecił korzystanie z -dbezpośredniego dostępu do płyty, ale go nie użyłem

3) Zainstalowano ddrescue

sudo apt-get install gddrescue
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sudo apt-get update
sudo apt-get install gddrescue
man ddrescue

Może także potrzebować (?)

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe restricted multiverse"

4) Wreszcie uruchomione (jeśli kopiujesz i wklejasz, przestań, sda to mój nowy dysk ... uważaj i odrabiaj pracę domową)

ddrescue -v -r3 /dev/sdb /dev/sda ~/ddrescue.log
  • -v verbose
  • -r 3 próby
  • Plik dziennika ~ / xx, którego można najwyraźniej użyć do ponownej próby. Uwaga: jest przechowywany tylko w pamięci, ale można go skopiować na dysk USB

Wynik:

GNU ddrescue 1.17
About to copy 1000 GBytes from /dev/sdb to /dev/sda
    Starting positions: infile = 0 B,  outfile = 0 B
    Copy block size: 128 sectors       Initial skip size: 128 sectors
Sector size: 512 Bytes

Press Ctrl-C to interrupt
rescued:    22555 MB,  errsize:    196 kB,  current rate:   91815 kB/s
   ipos:    22555 MB,   errors:       5,    average rate:   68975 kB/s
   opos:    22555 MB,    time since last successful read:       0 s
Copying non-tried blocks...

5) Uruchomione okna i ponownie aktywowane ... do potwierdzenia

KCD
źródło
0

Dobry dzień!

Chodzi o to, jak bardzo uszkodzony jest dysk źródłowy. Jeśli jest prawie zrujnowany, jedynym sposobem klonowania danych jest użycie profesjonalnego sprzętu do odzyskiwania danych. Jak Atola Insight

George Gaál
źródło