Vollständige physische Festplattenprüfung

17

Ich möchte eine vollständige sektorweise physische Überprüfung einiger externer Festplatten durchführen. Soweit ich weiß, chkdskliefert diese Option nicht.

Gibt es eine Problemumgehung chkdskoder einen guten Ersatz? Ich verwende Windows 7 auf diesem Computer, aber auch Linux-Lösungen von einer Live-CD sind willkommen.

Vielen Dank,

Adam Matan

Adam Matan
quelle
Welches Betriebssystem verwenden Sie? Da Sie chkdsk erwähnt, gehe ich davon aus es Windows NT, XP, Vista, 7, Server 2003 oder Server 2008
rob

Antworten:

28

In Windows NT / XP / Vista / 7 können Sie eine CMD-Eingabeaufforderung öffnen und verwenden

chkdsk /r x:

Dabei ist x der Laufwerksbuchstabe Ihres USB-Laufwerks, vorausgesetzt, das Laufwerk ist partitioniert und verfügt über einen zugewiesenen Laufwerksbuchstaben.

Ich würde vorschlagen, eine Ubuntu-Live-CD zu kaufen, Linux zu booten und dann mit Badblocks nach physischen Fehlern zu suchen.

Verwenden Sie sudo fdisk -ldiese Option, um alle Laufwerke und ihre Partitionen aufzulisten. Für jedes Laufwerk :

sudo badblocks -nvs /dev/sdx

wo ist deine Festplatte / dev / sdx. Dadurch wird ein zerstörungsfreier Lese- / Schreibtest auf der Festplatte durchgeführt, ohne dass eine Dateisystemprüfung durchgeführt wird.

Wenn Sie sich nicht für die Daten interessieren, können Sie dies stattdessen tun, um einen gründlicheren Scan durchzuführen:

sudo badblocks -wvs /dev/sdx

Die Option -w weist badblocks an, ein bekanntes Muster zu schreiben und dann die Daten zurückzulesen, um sicherzustellen, dass sie mit dem Muster übereinstimmen. Dies geschieht viermal unter Verwendung der Muster 0xaa, 0x55, 0xff und 0x00 (abwechselnd 0en und Einsen, dann alle Einsen, dann alle Nullen). Beachten Sie, dass dies alle Daten auf dem Laufwerk überschreibt und auch alle Partitionen löscht.

Wenn Sie zufällig ein Linux-Dateisystem auf dem Laufwerk haben, können Sie nach Dateisystemfehlern suchen und gleichzeitig Badblocks ausführen. Rufen Sie zunächst die Liste aller Laufwerke und ihrer Partitionen ab:

sudo fdisk -l

Dann für jede Partition :

sudo e2fsck -fcc /dev/sdx#

Wiederum ist / dev / sdx die Festplatte, die Sie scannen möchten. # ist die Nummer der Partition (zB / dev / sdb1). Durch zweimaliges Angeben von c wird fsck zum Ausführen gezwungen, und mithilfe von Badblocks wird ein zerstörungsfreier Lese- / Schreibtest durchgeführt. Wenn Sie die Option c nur einmal verwenden, führt badblocks einen Nur-Lese-Test durch.

Ich starte badblocks -wvs auf jeder neuen Festplatte, die ich kaufe, bevor ich sie in Betrieb nehme.

rauben
quelle
1
Ich glaube nicht, dass chkdsk / r wirklich jeden Block scannt ... es läuft viel schneller als ich erwartet hätte, wenn man jeden einzelnen Block gelesen hätte. Vielleicht möchten Sie die zerstörungsfreie Testoption von Badblocks beachten, sofern er bereits Daten auf den Datenträgern hat.
Davr
@davr: Danke; Ich habe den zerstörungsfreien Test von badblocks bereits im Befehl fsck erwähnt, aber ich habe einen expliziten badblocks -vs hinzugefügt, um gründlich zu sein. chkdsk / r sucht nach fehlerhaften Blöcken und dauert eine Weile, wenn ich es ausführe, ist aber wahrscheinlich nicht so gründlich wie badblocks -w. Sind Sie sicher, dass Sie nicht an chkdsk / f oder chkdsk / p denken, die nur Dateisystemfehler beheben, aber nicht nach fehlerhaften Blöcken suchen?
Rob
@davr: Ich habe an eine Sache gedacht ... chkdsk überprüft wahrscheinlich nicht den Boot-Datensatz oder die Partitionstabelle. Da nur ein Datenträgername (dh Laufwerksbuchstabe, Bereitstellungspunkt oder Datenträgername) als Argument verwendet wird, kann ein logischer Datenträger nur auf Datenträgerfehler überprüft werden, und alles außerhalb des angegebenen Datenträgers (Partition) wird ignoriert. In Bezug auf die Scangeschwindigkeit sollte dies jedoch keinen großen Unterschied machen. Ist es das, wovon du redest?
Rob
1
Ihre Verwendung von fsck ist eigentlich eine Referenz zu e2fsck. Das Lager fsck enthält kein -cBefehlszeilenargument. Ansonsten gute Antwort.
DaveParillo
Richtig, Dave. Vielen Dank; Ich habe die Badblocks-Anweisungen nach vorne verschoben, seit er Windows ausführt, aber die e2fsck-Anweisungen wurden korrigiert und an das Ende verschoben, wenn jemand darauf stößt und Linux ausführt.
Rob
5

Ich möchte eine vollständige sektorweise physische Überprüfung einiger externer Festplatten durchführen.

Laden Sie HD Tune herunter und führen Sie es aus, wählen Sie das zu scannende Laufwerk aus dem Dropdown-Menü aus, klicken Sie auf die Registerkarte Fehlersuche (stellen Sie sicher, dass das Kontrollkästchen Schnellsuche deaktiviert ist) und klicken Sie auf Start .

Bildbeschreibung hier eingeben

HD Tune ist für den persönlichen Gebrauch kostenlos und portabel (keine Installation erforderlich).

Gaff
quelle
1
Freeware ?? 15 Tage testen! Es ist nur HD Tune, das Freeware ist.
Loren Pechtel
Entschuldigung, bearbeitete den Beitrag ... macht jedoch keinen großen Unterschied, da die Funktion, auf die ich mich beziehe, in der kostenlosen Version verfügbar ist, wie Sie dem Screenshot entnehmen können.
1

Viele Laufwerkhersteller wie Western Digital und Seagate bieten Tools an, die diese Art der Überprüfung durchführen. In der Regel ein Windows-Tool.

Dave M
quelle
Soweit ich weiß, wird nur der SMART-Selbsttest ausgeführt, bei dem es sich nicht um einen vollständigen Laufwerksscan handelt.
Endolith
endolith- Die Tests von WD semm gehen über SMART hinaus. Geben Sie Download frei, also probieren Sie es aus, wenn Sie WD-Laufwerk haben
Dave M
1

Unter Windows verwende ich die kostenlose Version von HDTune, um nach fehlerhaften Sektoren zu suchen. Das Linux-Programm BadBlocks ist jedoch viel besser. Es gibt Ihnen eine genaue Liste aller fehlerhaften Blöcke und unterstützt sowohl Lese- als auch Schreibprüfungen (obwohl das Schreiben destruktiv ist).

Dentrasi
quelle
2
badblocks hat auch einen zerstörungsfreien Schreibtest. Es liest den Block, schreibt einen neuen Wert, prüft den neuen Wert und schreibt dann den ursprünglichen Block zurück. Es werden also keine gültigen Daten auf der Festplatte zerstört. Nachteil ist die zusätzliche Operationen machen es viel langsamer.
Davr
1

Jedes moderne Laufwerk ordnet unlesbare / fehlerhafte Blöcke automatisch neu zu. Ein Betriebssystem erhält normalerweise keinen Lesefehler für einen Block, es sei denn, der Block ist wirklich nicht lesbar. Wenn Sie über diesen Block schreiben, wird das Laufwerk neu zugeordnet. Das wird nur scheitern, wenn das Laufwerk keine Ersatzblöcke mehr hat. In diesem Fall ist es an der Zeit, das Laufwerk auszutauschen!

Das Ergebnis ist, dass ein Betriebssystem, das "Bad Blocks" im Scandisk-Stil kennzeichnet, normalerweise sinnlos ist.

Vor diesem Hintergrund würde ich einen erweiterten SMART-Selbsttest durchführen. smartmontools sollte funktionieren. Sie können auch die Anzahl der neu zugeordneten Blöcke abrufen.

Beachten Sie, dass unter Linux eine Ebene dd if=/dev/sdx of=/dev/null, in der sdx das Blockgerät der Festplatte ist, einen vollständigen logischen Lesevorgang der Festplatte ausführt. Wenn irgendwelche Blöcke nicht lesbar sind, wird eine Fehlermeldung angezeigt. Wenn Sie nichts dagegen haben, Daten dd if=/dev/zero of=/dev/sdxzu löschen, können Sie einfach die gesamte Festplatte überschreiben und das Laufwerk bei Bedarf neu zuordnen.

Kapitän Segfault
quelle
1
Anstatt 'dd' zu verwenden, ist es besser, den Linux-Befehl 'badblocks' zu verwenden, der speziell für diese Aufgabe entwickelt wurde.
Davr
1
Mein Punkt ist, dass "diese Aufgabe" so veraltet ist wie das Konzept eines "schlechten Blocks".
Kapitän Segfault
Die Festplatte repariert die fehlerhaften Blöcke erst, wenn Sie darauf schreiben. Eine gute Möglichkeit, ihnen zu schreiben, besteht darin, Badblocks im zerstörungsfreien Modus zu verwenden. : D
Endolith
Ich wünschte, das wäre wahr. Sie verwechseln interne Festplatten mit externen USB-Festplatten. USB-Laufwerkgehäuse benötigen eine bessere Firmware mit SMART-Berichten, die den meisten von ihnen fehlen.
Nicolay77
@endolith Einige Festplatten verschieben auch beim Lesen verdächtige Blöcke. Zumindest einige Enterprise-Festplatten.
Roland Pihlakas
-1

Ich habe mich noch nie so sehr für externe USB-Laufwerke interessiert, da sie nicht wirklich existierten, als einige der besten Tools wie ScanDisk geschrieben wurden. Mir gefällt besonders die Version von ScanDisk, die mit Windows 98 SE geliefert wird.

Wenn es sich also um ein externes Laufwerk handelt, sollten Sie es wahrscheinlich in einen Computer fsck -feinbauen und dann von einer Linux Live-CD wie der PLD Rescue-CD auf dem Laufwerk ausführen .

eleven81
quelle
1
ScanDisk ist veraltet. fsck -f erzwingt die Ausführung von fsck, führt jedoch keinen physischen Medientest durch.
Rob