Zunächst einmal haben Sie Recht damit, fsck auf der Partition auszuführen - fsck funktioniert nur auf Dateisystemen, nicht auf ganzen Festplatten. Mit fdisk -l /dev/sdd
erhalten Sie eine Liste aller Partitionen auf der Festplatte .
Ihr Dateisystemtyp ist wahrscheinlich ext3 (der Standard in den meisten Linux-Distributionen), was bedeutet, dass es normalerweise einen fsck weitergibt, solange sein Journal sauber ist. fsck -f
wird, wie oben erwähnt, eine vollständige Überprüfung erzwingen.
Wenn Sie jedoch Lesefehler auf der Festplatte haben, hilft kein fsck dd - da dd sich wirklich nicht um den Inhalt der Festplatte kümmert.
Um dd dazu zu bringen, die Festplatte zu lesen und bei Lesefehlern fortzufahren, verwenden Sie dd conv=noerror,sync
, die bei Lesefehlern fortfährt und Nullbytes an jeden Block anhängt, wenn ein Lesefehler auftritt.
Nachdem Sie die Sicherung abgeschlossen haben, sollten Sie fsck -f
ausführen auf dem Klon, um ihn wieder zum Laufen zu bringen.
Noch ein Tipp:Wenn Sie die Partition in eine Datei sichern, können Sie diese mit mount -o loop filename.ext3 /mountpoint
loopbacken . Angenommen, Sie klonen eine 200-GB-Partition auf ein 500-GB-Laufwerk, dann können Sie resize2fs /dev/sdx1
ausführen (wobei sdx Ihr neues Laufwerk ist, partitioniert mit einer einzelnen 500-GB-Partition), und das Dateisystem wird auf 500 GB verkleinert.
Wenn die Festplatte in einem solchen Zustand ist, dass Sie Lesefehler erhalten, würde ich Ihnen schließlich raten, die Festplatte nicht aus- und wieder einzuschalten, bis Sie mit der Wiederherstellung der Daten fertig sind. In manchen Fehlermodi dreht sich die Festplatte irgendwann einfach nicht mehr oder wird vom Betriebssystem nicht mehr erkannt, und an diesem Punkt wird es ziemlich teuer, Daten aus dem Laufwerk zu bekommen.
Dies ist in Ihrem Fall möglicherweise nicht relevant, aber ich dachte, ich erwähne es trotzdem:
Für eine Festplattenprüfung auf niedrigerer Ebene können Sie den badblocks
verwenden Dienstprogramm. Es geht durch ein Gerät und meldet alle fehlerhaften Blöcke (es kann natürlich nichts reparieren). Es ist zumindest nützlich, um zu überprüfen, ob eine Festplatte physisch beschädigt ist.
Auch e2fsck
kann badblocks
verwenden um zu vermeiden, dass fehlerhafte Blöcke von einem Dateisystem verwendet werden. Ab e2fsck
Handbuch:
-c This option causes e2fsck to use badblocks(8) program to do a read-
only scan of the device in order to find any bad blocks. If any bad
blocks are found, they are added to the bad block inode to prevent
them from being allocated to a file or directory. If this option is
specified twice, then the bad block scan will be done using a non-
destructive read-write test.
Sie möchten, dass die Option -f fsck (Überprüfung erzwingen, selbst wenn das Dateisystem sauber zu sein scheint.)
Sie sollten fsck im Einzelbenutzermodus ausführen. Eine einfache Möglichkeit, dies ohne einen Live-CD-ROM-Start zu tun, besteht darin, mit der Option -F neu zu starten.
shutdown -rF now