Externe Festplatte fehlerhafte Sektoren wiederherstellen / markieren Dienstprogramm unter Linux

4

Ich habe gerade die neue Version von Ubuntu, Karmic Koala, in meinem Laptop installiert. Alles ist in Ordnung, bis auf die Tatsache, dass das System ungefähr 300 fehlerhafte Sektoren auf meiner externen 1-TB-Festplatte identifiziert hat. Ich möchte mich dann erholen oder nur markieren. Gibt es ein kostenloses Dienstprogramm, das ich unter Linux ausführen kann, um dies zu erreichen?

Aktualisieren:

Die Partition ist in NTFS formatiert.

Danke im Voraus

Quacksalber
quelle

Antworten:

6

Wenn das Betriebssystem selbst fehlerhafte Sektoren anzeigt, geht Ihr Laufwerk bergab. Die Hardware sollte fehlerhafte Sektoren transparent aus dem Dienst entfernen und möglicherweise nicht mehr genügend freie Sektoren für die Neuzuordnung haben. In diesem Fall sind Ihre Daten einem hohen Risiko ausgesetzt.

Ich würde Davids Vorschlag zu Herzen nehmen und Ihre Daten so schnell wie möglich migrieren. Möglicherweise möchten Sie "smartmontools" installieren und smartctl ausführen, um zu sehen, was das Gerät selbst meldet.

Sie können versuchen, das Dienstprogramm "badblocks" auf dem Raw-Gerät zu verwenden, auf dem sich Ihr NTFS-Laufwerk befindet, da es auf dem Gerät funktioniert und nicht vom Dateisystem abhängig ist. Stellen Sie sicher, dass Sie die Handbuchseiten sorgfältig lesen und den zerstörungsfreien Modus verwenden. Es sollte in der Lage sein, jeden Sektor zu lesen und dann jeden Sektor neu zu schreiben. Dadurch sollte das Laufwerk selbst gezwungen werden, problematische Sektoren neu zuzuordnen. Testen Sie diesen Vorgang zuerst auf einem USB-Stick oder einem anderen Medium.

Ich empfehle Ihnen, badblocks anzuweisen, eine große Anzahl von Sektoren gleichzeitig zu verarbeiten, da das Scannen eines 1-TB-Laufwerks sehr lange dauern wird.

Nochmals ... stellen Sie sicher, dass Sie wissen, was Sie tun. Ein Beleg und Ihre Daten sind Toast.

Wenn die Daten für Sie wertvoll sind und Sie sich in Ihren Fähigkeiten nicht sicher sind, möchten Sie möglicherweise eine kommerzielle Lösung wie SpinRite verwenden (diese ist jedoch teuer und erfordert eine Windows-Maschine). Beachten Sie, dass ich SpinRite noch nie verwendet habe, aber ich habe online gute Dinge darüber gehört.

Geoff Fritz
quelle
1
Zu Link-Zwecken, da diese Antwort für Mac-Benutzer von gleichem Interesse sein kann, die Blöcke eines Volumes überprüfen möchten, das NTFS verwendet: Beheben Sie fehlerhafte Blöcke auf der Mac-Festplatte und in Ask Different, Welche kostenlose oder Open Source-Software kann ich mit Mac verwenden Hardware zur Überprüfung der Integrität jedes Blocks einer Festplatte, auf der Core Storage verwendet wird?
Graham Perrin
Die Verwendung von Badblocks mit -n erhöht die Wahrscheinlichkeit, dass das Laufwerk weiter beschädigt wird, insbesondere wenn es viele fehlerhafte Blöcke gibt, wodurch die Firmware die "Ersatz" -Blöcke erschöpft.
Taryn
2

Dies hängt vom verwendeten Dateisystem ab. Wenn Sie ext2, etx3 oder ext4 verwenden (IIRC Ubuntu 9.10 verwendet bei Neuinstallationen standardmäßig ext4, frühere Versionen standardmäßig ext3), können Sie ausführen

e2fsck -c -c -k -C 0 /dev/device

dh

e2fsck -c -c -k -C 0 /dev/sdc1

für das Dateisystem auf der ersten Partition des Laufwerks sdc. Das Dateisystem sollte währenddessen nicht gemountet werden. Wenn es also für Ihr normal laufendes System benötigt wird, müssen Sie es e2fsckbeim Booten von einer "Live-CD" oder ähnlichem ausführen .

Die -cOption bewirkt, dass der Oberflächenscan zu dem hinzugefügt wird, was der Checker tut. Anschließend -cführt er einen zerstörungsfreien Schreib- -kund -C 0Lesetest durch, fordert ihn auf, eine vorhandene Liste von Badblocks beizubehalten, anstatt sie erneut zu testen, und erhöht lediglich die Ausgabe von e2fsck Fortschrittsinformationen wie es seine Arbeit macht. Siehe man e2fsckfür weitere Einzelheiten.

Das obige markiert die fehlerhaften Blöcke, die in Zukunft nicht mehr verwendet werden. Sie müssen es erneut ausführen, wenn Sie jemals das Laufwerk oder diese einzelne Partition neu formatieren. Sie sollten es auch gelegentlich wiederholen, falls es "fast schlechte" Sektoren gibt, die sich weiter verschlechtern. Es gibt keine Möglichkeit, fehlerhafte Sektoren "wiederherzustellen".

Ich empfehle Ihnen jedoch, Ihre Daten auf ein anderes Laufwerk zu migrieren, es sei denn, es gibt nichts wirklich Wichtiges auf dem Laufwerk (dh es würde Sie nicht übermäßig stören, wenn sich das Laufwerk plötzlich erheblich verschlechtert und die Daten praktisch unlesbar oder fehlerhaft werden). Wenn Sie das Laufwerk nicht austauschen, stellen Sie sicher, dass gute Backups für alle wichtigen Dinge vorhanden sind (obwohl Sie ohnehin ein gutes Backup-Regime haben sollten).

David Spillett
quelle
1
Vielen Dank, aber ich verwende das NTFS-Dateisystem auf meiner externen Festplatte. Gilt dieser Befehl auch für diese Situation?
Meines Wissens gibt es keinen Standard-Linux-Befehl / Dienstprogramm zum Überprüfen / Reparieren von NTFS-Volumes mit oder ohne Oberflächen-Scan. Sie müssen es von einem Windows-Computer aus versuchen.
David Spillett
0

Nicht sicher, ob NTFS-bezogen:

Bad Block HOWTO für smartmontools


quelle
Während dies theoretisch die Frage beantworten mag, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier einzuschließen und den Link als Referenz bereitzustellen.
Tamara Wijsman
0
# ntfsresize -i /dev/sdb3

Device name        : /dev/sdb3
NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 287967052288 bytes (287968 MB)
Current device size: 287967052800 bytes (287968 MB)
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use       : 178645 MB (62.0%)
Collecting resizing constraints ...
You might resize at 178644316160 bytes or 178645 MB (freeing 109323 MB).
Please make a test run using both the -n and -s options before real resizing!

# ntfsresize -ns  /dev/sdb3

Non-destructive resize

# ntfsresize -s  /dev/sdb3

Real resize! careful...
RAJ
quelle
1
Es wäre wahrscheinlich nützlich, dem von Ihnen geposteten Codeblock einen kleinen Kontext zu geben. Diejenigen, die es wissen, werden mit Sicherheit kein Problem damit haben, es zu verstehen. Wenn Ihre Antwort aber auch für andere nützlich sein soll, sollten Sie hier beschreiben, was die Befehle tatsächlich tun.
JoshP
0

Wenn Sie hoffen, die Daten auf dieser externen Partition beizubehalten, möchten Sie nicht mehr auf dieses Laufwerk schreiben, wie in einigen dieser Antworten vorgeschlagen. Verwenden Sie stattdessen ein forensisches Wiederherstellungstool, um ein Image des Laufwerks zu erstellen. ddrescue ist mein Lieblingswerkzeug für solche Arbeiten.

Hier sind meine "Notizen zu sich selbst", die für den Mac spezifisch sind, aber die wichtigsten Punkte abdecken: Identifizieren der Hardware- / Entwickler-Mount-Namen von Quelle und Ziel, Aufheben der Bereitstellung und Aufnehmen der Quelle auf das Ziel mit deaktivierter Lese-Wiederholung und Leseprotokollierung Fehler, aber überspringen Sie die fehlerhaften Blöcke für den letzten.

Forensisches Imaging von Datenträgern und / oder Rettung fehlerhafter Datenträger: Gnu ddrescue (nicht dasselbe wie dd_rescue, jedoch ähnlich) Alle Schritte müssen als Root ausgeführt werden. Stellen Sie zunächst sicher,
dass Ihr Gerät
gemountet ist : diskutil list
Unmounted source (zB disk1) (und destination, wenn an eine physische Partition
gesendet wird , anstatt an eine Raw-Image-Datei): diskutil unmounted disk1 Kopieren
Sie ein Block-by-Block-Image von disk1 auf ein Mountable Disk-Image-Datei, die ein Protokoll erstellt und sich zunächst auf die lesbaren Teile konzentriert:
ddrescue -v / dev / disk1 myrescueddisk.dmg rescue.log

Taryn
quelle