Anzeige:
Ergebnis 1 bis 8 von 8

Thema: DD - ZIelfestplatte hat fehlerhaften Sektor

  1. #1
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Beiträge
    11

    DD - ZIelfestplatte hat fehlerhaften Sektor

    Hallo!

    Ich möchte mit dd eine komplette Platte kopieren (500gb, sata 300):
    Code:
    dd if=/dev/sdb of=/dev/sda
    Die Quellplatte hat diverse Partitionen (ext, NTFS, swap) und auch die Bootpartition drauf.

    Nach ca. 450gb bricht die Operation durch einen I/O Fehler ab. Nun habe ich die Quellplatte mal mit chkdsk /f und fsck gecheckt. Alles ist ok.
    Wenn ich die Platte nur lese, so tritt der Fehler auch nicht auf:
    Code:
    dd if=/dev/sdb of=/dev/null
    Also vermute ich mal, dass die Zielplatte einen Sektorfehler hat. Wie kann ich die Platte trotzdem kopieren, so dass die Zielplatte funktioniert (d.h. z.B. den Fehlerhaften Sektor einfach skippen)?

    Sollte es mit dem Parameter "conv=noerror" funktionieren? Das Problem ist, dass das Kopieren immer ca. 10 Stunden benötigt, und somit ein "herumprobieren" etwas mühsam ist.

    Grüße,

  2. #2
    Datasette Avatar von gropiuskalle
    Registriert seit
    Nov 2006
    Ort
    West-Berlin
    Beiträge
    2.681
    Repariere vorher die Zielpartition und führe dann erst 'dd' aus. Dafür eignen sich 'badblocks' zum Überprüfen und Lokalisieren der fehlerhaften Sektoren und 'fsck' zum fixen, z.B.

    Code:
    badblocks /dev/hdx# > fehlersektoren
    fsck -t ext3 -l fehlersektoren /dev/hdx#
    Edit: Ich verwende für sowas auch gerne entsprechende Herstellertools oder im Zweifelsfalle den "Hitachi Drive Fitness Test", der scannt fast alle gängigen Marken.
    Geändert von gropiuskalle (06.06.09 um 20:46 Uhr)

  3. #3
    Sith Lord
    Registriert seit
    Apr 2009
    Beiträge
    1.438
    Zitat Zitat von gropiuskalle Beitrag anzeigen
    Code:
    badblocks /dev/hdx# > fehlersektoren
    fsck -t ext3 -l fehlersektoren /dev/hdx#
    Zitat Zitat von man badblocks
    Important note: If the output of badblocks is going to be fed to the e2fsck or mke2fs programs, it is important that the block size is properly specified,
    since the block numbers which are generated are very dependent on the block size in use by the filesystem. For this reason, it is strongly recommended that
    users not run badblocks directly, but rather use the -c option of the e2fsck and mke2fs programs.

    Ich bezweifle aber auch grundsätzlich, dass das geht, weil die Reparatur, meines Wissens, nur auf Dateisystem-Ebene gilt und dnaxx ein ganzes Device auf ein weiteres ganzes Device kopieren möchte. Dabei werden Dateisysteme usw. komplett ignoriert.

    Wenn man aber die Bad-Blocks kennt, kann man sie vielleicht umschiffen, da wären zwei Varianten möglich, die man vielleicht sogar kombinieren sollte:
    • Merhere dd-Vorgänge mit seek-Parameter und evtl. count-parameter. Dabei wird das Dateisystem aber durcheinandergebracht...
    • Falls möglich, Anwenden der Bad-Blocks-Liste auf das Quell-Dateisystem, damit schon bei der Quelle die entsprechenden Stellen unbenutzt sind. So bleibt das Dateisystem nach dem Kopieren intakt.
    Kombiniert man die Erste mit der Zweiten Methode, dann sollte das Ganze reibungslos funktionieren... Denke ich...

  4. #4
    Datasette Avatar von gropiuskalle
    Registriert seit
    Nov 2006
    Ort
    West-Berlin
    Beiträge
    2.681
    Ich finde das mit dem Umschiffen jedenfalls viel zu umständlich - die von schon erwähnten Herstellertools geben 1. am schnellsten darüber Aufschluss, ob bad blocks überhaupt vorliegen und können 2. diese auch am besten flaggen. Die entsprechenden Sektoren sollen ja auch in Zukunft übersprungen werden, nicht nur bei der Anwendung von 'dd'.

  5. #5
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Beiträge
    11
    Danke für eure Antworten. Mit badblocks konnte ich jetzt auf der Quellplatte (!) einige Fehlerhafte Sektoren finden:

    Code:
    438748160
    438748161
    438748162
    438748163
    438748600
    438748640
    438748641
    438748642
    438748643
    438749080
    438749120
    438749121
    438749122
    438749123
    438749560
    438749600
    438749601
    438749602
    438749603
    438750040
    438750076
    438750077
    438750078
    438750079
    438750512
    438750556
    438750557
    438750558
    438750559
    438750992
    438751036
    438751037
    438751038
    438751039
    438752048
    438752076
    438752077
    438752078
    438752079
    Die Entsprechende Partition ist "/dev/sdb7" mit
    Code:
    Startsektor: 409593303
    Endsektor: 558981674
    Führe ich nun folgendes aus:
    Code:
    fsck -t ext3 -l badf.txt /dev/sdb7
    Erhalte ich diese Infos:
    Code:
    fsck 1.41.4 (27-Jan-2009)
    e2fsck 1.41.4 (27-Jan-2009)
    Bad block 438748160 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438748161 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438748162 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438748163 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438748600 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438748640 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438748641 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438748642 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438748643 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438749080 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438749120 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438749121 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438749122 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438749123 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438749560 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438749600 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438749601 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438749602 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438749603 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438750040 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438750076 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438750077 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438750078 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438750079 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438750512 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438750556 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438750557 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438750558 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438750559 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438750992 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438751036 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438751037 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438751038 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438751039 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438752048 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438752076 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438752077 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438752078 außerhalb des gültigen Bereichs; ignoriert.
    Bad block 438752079 außerhalb des gültigen Bereichs; ignoriert.
    /dev/sdb7: Updating bad block inode.
    Durchgang 1: Prüfe Inodes, Blocks, und Größen
    Durchgang 2: Prüfe Verzeichnis Struktur
    Durchgang 3: Prüfe Verzeichnis Verknüpfungen
    Durchgang 4: Überprüfe die Referenzzähler
    Durchgang 5: Überprüfe Gruppe Zusammenfassung
    
    /dev/sdb7: ***** DATEISYSTEM WURDE VERÄNDERT *****
    /dev/sdb7: 24/4669440 Dateien (0.0% nicht zusammenhängend), 10086214/18673546 Blöcke
    Was mache ich falsch?

  6. #6
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Beiträge
    11
    hier noch ein paar Infos:

    Code:
    fsck.ext3 -c -f -v /dev/sdb7
    Code:
    e2fsck 1.41.4 (27-Jan-2009)
    Suche nach defekten Blöcken (Nur-Lesen-Modus):baerledigt                            
    /dev/sdb7: Updating bad block inode.
    Durchgang 1: Prüfe Inodes, Blocks, und Größen
    Durchgang 2: Prüfe Verzeichnis Struktur
    Durchgang 3: Prüfe Verzeichnis Verknüpfungen
    Durchgang 4: Überprüfe die Referenzzähler
    Durchgang 5: Überprüfe Gruppe Zusammenfassung
    
    /dev/sdb7: ***** DATEISYSTEM WURDE VERÄNDERT *****
    
          24 inodes used (0.00%)
           0 non-contiguous files (0.0%)
           0 non-contiguous directories (0.0%)
             # von Inodes mit ind/dind/tind Blöcken: 6/6/4
    10086214 blocks used (54.01%)
           0 bad blocks
           6 large files
    
          10 regular files
           5 directories
           0 character device files
           0 block device files
           0 fifos
           0 links
           0 symbolic links (0 fast symbolic links)
           0 sockets
    --------
          15 files

  7. #7
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Beiträge
    11
    ich konnte mittlerweile auf einer anderen ext3 Partition (die jedoch andere Sektorennummern hat, als die von badblocks ausgegebenen) 16 fehlerhafte Sektoren finden:

    Code:
    e2fsck 1.41.4 (27-Jan-2009)
    Suche nach defekten Blöcken (Nur-Lesen-Modus):erledigt                            
    /dev/sdb3: Updating bad block inode.
    Durchgang 1: Prüfe Inodes, Blocks, und Größen
    Durchgang 2: Prüfe Verzeichnis Struktur
    Durchgang 3: Prüfe Verzeichnis Verknüpfungen
    Durchgang 4: Überprüfe die Referenzzähler
    Durchgang 5: Überprüfe Gruppe Zusammenfassung
    
    /dev/sdb3: ***** DATEISYSTEM WURDE VERÄNDERT *****
    
      442160 inodes used (6.90%)
        8606 non-contiguous files (1.9%)
         427 non-contiguous directories (0.1%)
             # von Inodes mit ind/dind/tind Blöcken: 27057/570/1
     8147339 blocks used (31.83%)
          18 bad blocks
           3 large files
    
      368531 regular files
       42499 directories
         114 character device files
          26 block device files
           4 fifos
         549 links
       30936 symbolic links (24954 fast symbolic links)
          41 sockets
    --------
      442700 files
    Mal schauen, was badblocks jetzt ausgibt. Alternativ werde ich noch ddrescue testen.

    Falls noch bad blocks vorhanden sein sollten, so müssten die dann auf NTFS Partitionen sein...

  8. #8
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Beiträge
    11
    mit
    Code:
    ddrescue /dev/sdb /dev/sda
    erhalte ich:
    Code:
    rescued:   500107 MB,  errsize:   32768 B,  current rate:        0 B/s
       ipos:   449282 MB,   errors:      65,    average rate:   48986 kB/s
       opos:   449282 MB

Ähnliche Themen

  1. platte mit fehlerhaften sektoren formatieren
    Von basti1985 im Forum stationäre Hardware
    Antworten: 5
    Letzter Beitrag: 25.01.07, 11:07
  2. Antworten: 1
    Letzter Beitrag: 23.11.05, 00:15
  3. Host Protected Area von der Größe eines Sektor, welcher nicht existiert
    Von MiMe im Forum System installieren und konfigurieren
    Antworten: 0
    Letzter Beitrag: 29.09.05, 19:40
  4. Defekter Sektor im RAM
    Von foxx im Forum stationäre Hardware
    Antworten: 3
    Letzter Beitrag: 02.07.04, 14:09
  5. Festplatte mit fehlerhaften Sektoren
    Von poet im Forum Linux Allgemein
    Antworten: 2
    Letzter Beitrag: 03.07.02, 12:35

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •