Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Kopia posektorowa dysku 500 na 750 GB

zombie82 04 Jan 2012 09:33 8936 19
  • #1
    zombie82
    Level 11  
    Witam

    Posiadam dysk Seagete Barracuda 7200.11 500GB, który pod systemem odmówił wspólpacy, ale jest widoczny w BIOS oraz kompletnie nowy dysk WD 750GB.
    Ponieważ na dysku mam bardzo wiele ważnych dla mnie danych, chciałbym za pomocą HDD Clone (wersja free) wykonać kopię posektorową dysku.
    Mam pytanie. Ponieważ na uszkodzonym dysku mam 4 partycje w systemie NTFS, czy da się w programie sklonować ten dysk (bez uprzedniego formatowania i partycjonowania dysku docelowego) i jak będzie wyglądać kopia jeżeli cała operacja się uda ?
    Co sie stanie z nadmiarowym miejscem (jeden dysk 500 drugi 750), jak będą wyglądać partycje, w jakim systemie plików będą sklonowane dane oraz czy póżniejsze podpięcie dysku na którym będą zgrane dane (do późniejszego odzyskiwania ) będą normalnie widoczne w systemie ?

    Mój system to Fedora 14, a uszkodzony dysk służył mi jako magazyn danych, nie ma na nim systemu operacyjnego.

    Z góry dziękuję za pomoc.
  • #2
    linuks
    IT specialist
    Kopia posektorowa to zapis bit po bicie z jednego dysku na drugi.Nic nie trzeba formatować na czystym dysku. Nadmiarowe miejsce będzie widoczne jako nieprzydzielony obszar.
    Z dowolnego linuksa liveCD
    Polecenie
    ddrescue /dev/sda /dev/sdb
    lub
    dd if=/dev/sda of=/dev/sdb
    zrobi kopię dysku sda na dysk sdb
    Partedmagic powinien być dobry
    http://www.sciagnij.pl/programy/p/Linux-Dystrybucje-Profesjonalne-Parted_Magic/1601
  • #3
    zombie82
    Level 11  
    Witam. Dziekuje za podpowiedź.

    Okazało sie, że mój nowy dysk nie jest obsługiwany normalnie przez mój BIOS (płyta ASUS AV8 Deluxe) i moge go jedynie uruchomić poprzez ustawienie opcji w BIOS i podpięciu do złącz SATA Raid. Wtedy dysk jest widoczny w BIOS, ale nie widzi go w żaden sposób HDDClone.
    Czy ktoś może wie dlaczego ??

    Pozostaje mi narazie znalezienie LiveCD Linuksa z opcją dd i dokonanie odpowiednich zabiegów. Mam nadzieje, że pójdzie i uda mi się sklonowac dysk.
  • #5
    helmud7543
    Level 43  
    Jeśli mamy do czynienia z uszkodzeniami to odradzam HD Clone w wersji darmowej. DD jet dobrą alternatywą więc jesteś na dobrej drodze tylko pamiętaj, żeby nie pomylić dysku źródłowego z docelowym bo będzie pozamiatane. Co do układu partycji na dysku docelowym to będzie on taki jak na źródłowym (pod warunkiem, że istotne informacje o partycjach są możliwe do odczytania) a dodatkowe miejsce (różnica wielkości w tym wypadku) będzie oznaczone jako nieprzydzielone.
  • #6
    Hack_leberry Finn
    Level 12  
    Witaj zombie82, czy udało ci się rozwiązać problem?
    Tak jak napisał linuks, wystarczy ddrescue, skoro używasz fedory. Program dd też może wystarczyć, ale to wszystko zależy od tego co się tak naprawdę stało z tym dyskiem. To tzw "czarna seria" - było o tym głośno w Internecie i na tym forum. To może być problem z firmware-m i potrzebny będzie terminal dyskowy.
    Jeśli nie chcesz się bawić z ustawieniami biosu to użyj kieszeni lub przejściówki USB i tak podepnij tego WD (cenne dane są chyba warte takiej inwestycji, która może się przydać również w przyszłości, do innych celów). Programy dd i ddrescue znajdziesz w repozytoriach fedory, więc dystrybucja live nie będzie ci potrzebna. Przeczytaj man lub wyświetl pomoc tych programów opcją -h lub --help, to sprawdzisz sobie potrzebne opcje, bo to co napisał linuks to użycie default-owych ustawień, nie koniecznie najlepszych.
    O nadmiar miejsca się nie martw. Jak się domyślam, masz jedną partycję "podstawową" a drugą "rozszerzoną" i w niej pozostałe 3 "logiczne", kopia 1 do 1 ma to do siebie, że zobaczysz klon dysku plus jeszcze trochę (ok 250 MB) wolnego miejsca na tym Western Digitalu.
    Możesz mieć też tablicę partycji GUID i wtedy wszystkie partycje to "podstawowe", co nie zmienia faktu, że i tak na końcu zostanie wolne miejsce. Ale to obsługa takich tablic przez twoją dystrybucję linuxa może być właśnie problemem i dla tego nie możesz się dostać do danych.
    Co do wszystkich Hd Clo(w)n-ów i innych dziwnych komercyjnych windowsowych programów w wersjach free i trial, to rację ma helmud7543. Na szczęście, jak napisałeś używasz linuxa i masz dostęp do profesjonalnych i pełnych wersji dd i ddrescue.
    Na koniec to co powinno być pierwszym działaniem.
    Czy mógłbyś wkleić wynik polecenia "smartctl -a" dla twojego dysku?
    To by ułatwiło diagnozę i pozwoliło ocenić, co tak naprawdę się stało z twoim dyskiem, bo na razie porady są mocno teoretyczne i zakładają możliwość wykonania kopii "posektorowej" czy ja kto woli "1 do 1", co nie koniecznie musi być wykonalne.
  • #7
    zombie82
    Level 11  
    Witam. Dziekuje bardzo za cenne wskazówki oraz porady.

    Na początku zaopatrzyłem się w LiveLinuxa (dystrybucja UbuntuRescueRemix) i podłączyłem dyski uszkodzny (sata) oraz nowy (raid sata). BIOS dyski wykrya, nastepnie startuje LinuxLive i polecenie cat /proc/partitions zwraca mi dwa moje dyski:
    jeden sda oraz drugi jako sdb (dodatkowo widze, że w moim "uszkodzonym" dysku widać jeszcze partycje ponumerowane odpowiednio sda1, sda2 itd.) Ucieszyłem się, że wszystko jest widoczne i uruchomiłem ddrescu z parametrem -f Rozpoczoł się proces, który można nazwać klonowaniem. Licznik "klonowanych bajtów się zwiekszał, co chwila wyskakiwal komunikat Splitting failed blocks.....niestety entuzjazm, że się dysk sklonuje się skończył się po kilkunastu minutach, kiedy komputer zwiesił się (zgasł monitor, kontrolki z klawiatury numerycznej zaczeły migać), pomógł tylko restart. Ponowne uruchomienie znów widzi dyski, mogę znów wykonac polecenie, ale z tym samym efektem.....
    Trzeciej próby juz nie podjąłem.
    Czy jedną z przyczyna zawieszenie może być to, że uruchomiony na płycie LinuxLive podczas klonowania cały czas ostro krecił płytą w napedzie, a kiedy komputer się zawiesił nie reagował wogóle, czy to raczej kwestia dysku i błąd w klonowaniu ??

    Jutro będe miał kieszeń i mogę nowy lub stary dysk podłączyć pod USB, może to coś pomoże ??
    A może lepszy będzie system odpalany z LiveUSB ??

    Wykonałem polecenie smartctrl -all dla uszkodzonego dysku, oto co otrzymałem:

    Vendor: /5:0:0:0
    Product:
    User Capacity: 600,332,565,813,390,450 bytes [650 PB]
    Logical block size: 774843950 bytes
    scsiModePageOffset: response length too short, resp_len 47 offset=50 bd len=46
    >>Terminate command early duo to bad response to IEC mode page
    A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.

    Z góry dziękuję za dalsze wskazówki.
    Pozdrawiam
  • #8
    szafarz
    Level 20  
    No cóż, dysk jest uszkodzony, więc i SMART może nie działać prawidłowo.

    Dodam, że dd ma kilka ciekawych opcji:
    bs - rozmiar bloku danych traktowanych jako jednostka, dla dysków twardych wartość wynosi domyślnie 512 - zmiana do np. 1048576 powoduje kosmiczne przyspieszenie kopiowania,
    skip - pomiń X bloków (o rozmiarze bs) z WEjścia
    seek - przeskocz o X bloków (o rozmiarze bs) na WYjściu

    używając skip i seek może Ci się udać skopiować cały dysk nawet, jeżeli komputer resetuje się co jakiś czas.
  • #9
    Hack_leberry Finn
    Level 12  
    Quote:
    Wykonałem polecenie smartctrl -all

    Po pierwsze, powinieneś wywołać jako root lub poprzez su smartctl -a albo smartctl --all. Albo "minus a" albo "dwa minusy all".
    Na razie wszystko wskazuje na to, że bez terminala może być cienko, bo dysk nie jest prawidłowo rozpoznawany.
    Jeśli dobrze zrozumiałem to twój dysk nie był dyskiem systemowym, na którym pracujesz pod fedorą, spróbuj więc zainstalować odpowiedni rpm z ddrescue pod fedorą i spod tego systemu sprawdzić twój dysk.
    Jeśli piszesz że coś zrobiłeś, fajnie żebyś zamieścił efekt tego polecenia, a nie tylko opisywał to własnymi słowami.
    Prawdopodobnie zawieszenie spowodowało zapisanie całej dostępnej pamięci logiem z kernela bo kolejne odczyty kończyły się errorami.
    Quote:
    Czy jedną z przyczyna zawieszenie może być to, że uruchomiony na płycie LinuxLive podczas klonowania cały czas ostro krecił płytą w napedzie, a kiedy komputer się zawiesił nie reagował wogóle, czy to raczej kwestia dysku i błąd w klonowaniu

    Kręcenie płytą ma tyle do zawieszenia się twojego komputera, że jak system zwisł, przestał czytać z cdromu, więc cd przeszedł w standby.
    Quote:
    Jutro będe miał kieszeń i mogę nowy lub stary dysk podłączyć pod USB, może to coś pomoże

    Do kieszeni zapakuj tego Western Digitala.
    Quote:
    A może lepszy będzie system odpalany z LiveUSB

    To z czego odpalisz system nie ma znaczenia, ważne że system postawiony na dysku ma więcej miejsca na logi, a nie każdy system live dobrze obsługuje logrotate, a że siedzi w pamięci potrafi ją zająć w całości.
  • #10
    linuks
    IT specialist
    Partedmagic uzyj. Dużo mniej RAM zajmuje. Spróbuj najpierw skopiować partycje po kolei. Jak wejdziesz na partycję uszkodzonego dysku to da się skopiować pojedyńcze katalogi lub pliki ?
  • #11
    zombie82
    Level 11  
    Witam forumowiczów

    Do mojego systemu (Fedora14) dograłem pakiet ddrescue, nowy dysk WD powędrował do kieszenia na USB, wadliwy dysk razem z systemowym zajmują sloty SATA.
    BIOS oczywiście rozpoznaje dyski, w systemie widać też podłączony pod USB nowy dysk.

    Wykonanie poleceń (konto root) smartctl oraz hdparm dla uszkodzone dysku zwraca:
    ]# smartctl -a -T permissive /dev/sdb
    smartctl 5.40 2010-10-16 r3189 [x86_64-redhat-linux-gnu] (local build)
    Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
    
    Device: /3:0:0:0  Version: 
    scsiModePageOffset: response length too short, resp_len=47 offset=50 bd_len=46
    >> Terminate command early due to bad response to IEC mode page
    Log Sense failed, IE page [scsi response fails sanity test]
    
    Error Counter logging not supported
    scsiModePageOffset: response length too short, resp_len=47 offset=50 bd_len=46
    Device does not support Self Test logging
    [root@localhost Rafal]# hdparm -i /dev/sdb
    
    /dev/sdb:
     HDIO_DRIVE_CMD(identify) failed: Invalid exchange
     HDIO_GET_IDENTITY failed: No message of desired type


    Utowrzyłem na dysku sytemowym plik Klonowanie.log dla wyniku polecenia ddrescue
    Uruchomienie "klonowania" zwraca nastepujące info:
    
    # ddrescue -f /dev/sdb /dev/sdc /home/Rafal/klonowanie.log
    
    
    Press Ctrl-C to interrupt
    Initial status (read from logfile)
    rescued:         0 B,  errsize:       0 B,  errors:       0
    Current status
    rescued:         0 B,  errsize:    500 GB,  current rate:        0 B/s
       ipos:   223321 MB,   errors:       1,    average rate:        0 B/s
       opos:   223321 MB,     time from last successful read:     1.5 h
    Splitting failed blocks...
    

    Zostawiłem komputer z prącującym ddrescue, otrzymałem następujący komunikat:
    
    ddrescue: Error writing logfile /home/Rafal/klonowanie.log.: No space left on device
    Fix the problem and press ENTER to retry, or Q+ENTER to abort
    

    Plik klonowanie.log zajmuje tylko 3,4 MB i jego fragment wygląda nastepująco:
    
    # Rescue Logfile. Created by GNU ddrescue version 1.13
    # Command line: ddrescue -f /dev/sdb /dev/sdc /home/Rafal/klonowanie.log
    # current_pos  current_status
    0x343E0B0C00     /
    #      pos        size  status
    0x00000000  0x00861E00  -
    0x00861E00  0x00010200  /
    0x00872000  0x00800400  -
    0x01072400  0x00030600  /
    0x010A2A00  0x001E0000  -
    0x01282A00  0x00012C00  /
    0x01295600  0x00600000  -
    0x01895600  0x00010600  /
    0x018A5C00  0x007E0400  -
    0x02086000  0x0006DA00  /
    0x020F3A00  0x00020000  -
    0x02113A00  0x00026C00  /
    0x0213A600  0x00060000  -
    0x0219A600  0x00026200  /
    0x021C0800  0x000E0000  -
    0x022A0800  0x00025C00  /
    0x022C6400  0x001E0000  -
    0x024A6400  0x00025600  /
    0x024CBA00  0x003E0000  -
    0x028ABA00  0x00025400  /
    0x028D0E00  0x007E0000  -
    0x030B0E00  0x00026400  /
    0x030D7200  0x00FC0400  -
    0x04097600  0x000E9800  /
    0x04180E00  0x00020000  -
    0x041A0E00  0x00064C00  /
    0x04205A00  0x00020000  -
    0x04225A00  0x00022600  /
    0x04248000  0x00060000  -
    0x042A8000  0x00062800  /
    0x0430A800  0x00020000  -
    0x0432A800  0x00021400  /
    0x0434BC00  0x00060000  -
    0x043ABC00  0x00021400  /
    0x043CD000  0x000E0000  -
    0x044AD000  0x00061A00  /
    0x0450EA00  0x00020000  -
    0x0452EA00  0x00020C00  /
    0x0454F600  0x00060000  -
    0x045AF600  0x00020C00  /
    0x045D0200  0x000E0000  -
    


    Poszukując pliku, który zajął całe miejsce na dysku znalazłem w katalogu /var/log plik messages, który zajmuje 13,1 GiB !!!

    A jego fragment wygląda następująco:
    Kopia posektorowa dysku 500 na 750 GB

    Nie wygląda to za dobrze, a widmo odzykania moich cennych dla mnie maleje :-(

    Czy ktoś pomoże mi w zinterpretowaniu danych albo podpowie w jakim kierunku mam postepować, żeby "wyciągnąc dane" z dysku ??

    Z góry dziękuję za podpowiedzi.

    PS: linuks pytałe czy potrafię skopiować pojedyncze pliki. Nietstety podczas montowania partycji (NTFS), przy starcie systemu dostaje infomacje:
    
    Montowanie lokalnych systemów plików:  The disk contains an unclean file system (0, 0).
    The file system wasn't safely closed on Windows. Fixing.
    ntfs_attr_pread_i: ntfs_pread failed: Błąd wejścia/wyjścia
    Failed to read NTFS $Bitmap: Błąd wejścia/wyjścia
    NTFS is either inconsistent, or there is a hardware fault, or it's a
    SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows
    then reboot into Windows twice. The usage of the /f parameter is very
    important! If the device is a SoftRAID/FakeRAID then first activate
    it and mount a different device under the /dev/mapper/ directory, (e.g.
    /dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid' documentation
    for more details.
    Failed to sync device /dev/sdb1: Błąd wejścia/wyjścia
    Failed to fsync device /dev/sdb1: Błąd wejścia/wyjścia
    Failed to close volume /dev/sdb1: Urządzenie lub zasoby zajęte
    ntfs-3g: Failed to access volume 'UUID=902076B020769D42': Nie ma takiego pliku ani katalogu
    

    
    Włączanie udziałów na lokalnych systemach plików:  	[  OK  ]
    Włączanie przestrzeni wymiany z /etc/fstab:  	[  OK  ]
    Przechodzenie do uruchamiania nieinteraktywnego
    Starting monitoring for VG VolGroup:   /dev/sdb: read failed after 0 of 4096 at 0: Błąd wejścia/wyjścia
      /dev/sdb1: read failed after 0 of 2048 at 0: Błąd wejścia/wyjścia
      /dev/sdb2: read failed after 0 of 2048 at 0: Błąd wejścia/wyjścia
      /dev/sdb5: read failed after 0 of 2048 at 0: Błąd wejścia/wyjścia
      /dev/sdb6: read failed after 0 of 2048 at 0: Błąd wejścia/wyjścia
      /dev/sdb7: read failed after 0 of 2048 at 0: Błąd wejścia/wyjścia
      /dev/sdb8: read failed after 0 of 2048 at 0: Błąd wejścia/wyjścia
      2 logical volume(s) in volume group "VolGroup" monitored
    	[  OK  ]
    Checking kmods exist for 2.6.35.14-106.fc14.x86_64	[  OK  ]
    
  • #12
    linuks
    IT specialist
    Spróbuj przez dd skopiować sektory do pierwszego errora.Pomiń ten sektor i dalej po kawałku kopiuj.
  • #13
    pidar
    Mass storage specialist
    Jestem ciekaw kiedy zostanie "dobity" ten dysk!!!

    Była próba odczytania SMART-u za pomocą programu MHDD (jaka jest odpowiedź na komendę EID)? Nie da się odczytać SMART-u, to pozostaje jeszcze użyć terminal dyskowy!
  • #15
    zombie82
    Level 11  
    pidar wrote:
    Jestem ciekaw kiedy zostanie "dobity" ten dysk!!!

    Była próba odczytania SMART-u za pomocą programu MHDD (jaka jest odpowiedź na komendę EID)? Nie da się odczytać SMART-u, to pozostaje jeszcze użyć terminal dyskowy!


    Witam

    polecenie EID programu MHDD zwraca:
    
    ST3500320AS  LBA:976,773,168
    SN:6QMONPSF FW:SD15
    Support: LAB 48 HPA DLMC LBA MS16 DMA (UDMA6, MWDMA2)
    SMART: Enabled SelfTest: Supported ErrorLog: Supported
    Security: high,OFF Size=476940
    


    Pozdrawaim
  • #16
    riki007
    Level 17  
    Moja propozycja jest taka, żeby sprawdzić w BIOS'ie jaka pojemność tego uszkodzonego dysku jest wykrywana, i jeśli będzie to "0", to przestać katować dysk takimi próbami odzyskania danych, a podłączyć go przez terminal.
  • #17
    pidar
    Mass storage specialist
    A co z "F8" z MHDD, czy to nie jest ukrywane przed nami?
    "ST3500320AS SD15" nie można było od razu podać te dane!
    Resztę doczytasz po wpisaniu w Szukaj.
  • #18
    zombie82
    Level 11  
    pidar wrote:
    A co z "F8" z MHDD, czy to nie jest ukrywane przed nami?
    "ST3500320AS SD15" nie można było od razu podać te dane!
    Resztę doczytasz po wpisaniu w Szukaj.


    Witam

    Za Waszą poradą zamówiłem terminal dyskowy. W międzyczasie, żeby nie katować już dysku zrobiłem tylko zdjęcie SMART (F8) z programu mhdd. Proszę o komentarz.

    Kopia posektorowa dysku 500 na 750 GB

    Pozdrawiam
  • #19
    Kolobos
    IT specialist
    Lepiej zgraj to co sie da odczytac zamiast katowac dysk kopia calosci. Przy takiej ilosci uszkodzonych sektorow bedzie juz tylko gorzej.
  • #20
    linuks
    IT specialist
    W podobnej sytuacji kopiowałem przez dd sektory które dały się odczytać i udało się odzyskać ok 90% danych. Sytuacja była lepsza bo było tylko ok 100 sektorów relokowanych i niestabilnych też ok 100 ale i tak bardzo to długo trwało.