Ich vermute, es könnte einen fehlerhaften Sektor auf einer Festplatte geben. Ich habe das ext3-Dateisystem verwendet.
Welches Tool entspricht am besten dem Fehlerprüfungs-Tool von Windows?
Ich vermute, es könnte einen fehlerhaften Sektor auf einer Festplatte geben. Ich habe das ext3-Dateisystem verwendet.
Welches Tool entspricht am besten dem Fehlerprüfungs-Tool von Windows?
Antworten:
Um nach fehlerhaften Sektoren zu suchen, überprüfen Sie die SMART-Daten, die wahrscheinlich am besten durch Starten des Festplatten- Dienstprogramms ( Palimpsest ) zugänglich sind . Selbst wenn Sie dort keine fehlerhaften Blöcke sehen, starten Sie zur Sicherheit einen Selbsttest.
Das Programm ist im gnome-disk-utility
Paket enthalten. Laufgksudo gnome-disks
Oder in Ubuntu 16.04 Version (3.18):
Sie können auch verwenden badblocks
sudo badblocks -sv /dev/sda
Um nur zu überprüfen oder zu überprüfen und zu beheben, schreiben Sie das Ergebnis in eine temporäre Datei:
sudo badblocks -sv /dev/sda > bad-blocks-result
sudo fsck -t ext4 -l bad-blocks-result /dev/sda1
überprüft die gesamte Festplatte und druckt alle fehlerhaften Blöcke aus, die auf / dev / sda gefunden wurden .
Aus dem badblocks
Handbuch:
Wichtiger Hinweis: Wenn die Ausgabe von Badblocks an die Programme e2fsck oder mke2fs weitergeleitet wird, ist es wichtig, dass die Blockgröße korrekt angegeben wird, da die generierten Blocknummern stark von der vom Dateisystem verwendeten Blockgröße abhängen . Aus diesem Grund wird dringend empfohlen, dass Benutzer badblocks nicht direkt ausführen, sondern die Option -c der Programme e2fsck und mke2fs verwenden.
fsck
fsck
selbst wird Ihnen nicht helfen, fehlerhafte Sektoren zu finden, noch schlimmer, wenn es viele fehlerhafte Sektoren gibt, können Ihre Daten noch mehr beschädigt werden. Verwenden Sie es nur, wenn die Festplatte fehlerfrei ist.
In dieser Antwort gehe ich davon aus, dass ein Speicherlaufwerk als Blockgerät im Pfad angezeigt wird /dev/sdc
. Verwenden Sie zum Ermitteln des Pfads eines Speicherlaufwerks in unserem aktuellen Setup Folgendes:
palimpsest
), wenn eine GUI verfügbar ist, oderlsblk
und ls -l /dev/disk/by-id
und versuchen Sie, das richtige Gerät nach Größe, Partition, Hersteller und Modellname zu finden.Manchmal weigert sich ein Speichermedium einfach, überhaupt zu arbeiten. Es wird dem Kernel und dem Datenträgermanager weiterhin als Blockgerät angezeigt, aber sein erster Sektor, der die Partitionstabelle enthält, ist nicht lesbar. Dies kann leicht überprüft werden mit:
sudo dd if=/dev/sdc of=/dev/null count=1
Wenn dieser Befehl zu einer Meldung über einen "Eingabe- / Ausgabefehler" führt, ist unser Laufwerk defekt oder kann nicht wie erwartet mit dem Linux-Kernel interagieren. In einem früheren Fall kann ein Datenrettungsspezialist mit einem entsprechend ausgestatteten Labor mit etwas Glück seinen Inhalt retten. Im letzteren Fall ist ein anderes Betriebssystem einen Versuch wert. (Ich bin auf USB-Laufwerke gestoßen, die unter Windows ohne spezielle Treiber funktionieren, aber nicht unter Linux oder OS X.)
Geräte, die dies unterstützen, können über SMART nach ihrem Zustand gefragt oder angewiesen werden, Integritätsselbsttests unterschiedlicher Gründlichkeit durchzuführen. Dies ist im Allgemeinen die beste Option, ist jedoch normalerweise nur auf (nicht alten) Festplatten und Solid-State-Laufwerken verfügbar. Die meisten austauschbaren Flash-Medien unterstützen dies nicht.
Weitere Ressourcen und Anleitungen:
Um die Leseintegrität des gesamten Geräts zu testen, ohne darauf zu schreiben, können wir Folgendes verwenden badblocks(8)
:
sudo badblocks -b 4096 -c 4096 -s /dev/sdc
Dieser Vorgang kann viel Zeit in Anspruch nehmen, insbesondere wenn das Speicherlaufwerk tatsächlich beschädigt ist. Wenn die Fehlerzahl über Null steigt, wissen wir, dass es einen fehlerhaften Block gibt. Wir können den Vorgang jederzeit sicher abbrechen (auch gewaltsam wie bei einem Stromausfall), wenn uns die genaue Menge (und möglicherweise die Position) der fehlerhaften Blöcke nicht interessiert. Mit der Option ist es möglich, bei Fehlern automatisch abzubrechen -e 1
.
Hinweis für den fortgeschrittenen Gebrauch: Wenn wir die Ausgabe für wiederverwenden möchten e2fsck
, müssen wir die Blockgröße ( -b
) auf die des enthaltenen Dateisystems einstellen . Wir können auch die Menge der -c
auf einmal getesteten Daten ( in Blöcken) optimieren , um den Durchsatz zu verbessern. 16 MiB sollten für die meisten Geräte in Ordnung sein.
Manchmal - insbesondere bei Flash-Medien - tritt ein Fehler nur beim Schreiben auf. (Dadurch werden (Flash-) Medien, die für eine größere Größe werben, nicht zuverlässig erkannt . Verwenden Sie stattdessen Fight Flash Fraud .)
Verwenden Sie dies NIEMALS auf einem Laufwerk mit gemounteten Dateisystemen ! badblocks
weigert sich, diese zu bearbeiten, es sei denn, Sie erzwingen es.
Unterbrechen Sie diesen Vorgang nicht mit Gewalt ! Ctrl+ C(SIGINT / SIGTERM) und das Warten auf eine ordnungsgemäße vorzeitige Beendigung ist in Ordnung, killall -9 badblocks
(SIGKILL) jedoch nicht. Bei erzwungener Beendigung badblocks
kann der ursprüngliche Inhalt des aktuell getesteten Blockbereichs nicht wiederhergestellt werden und wird mit Junk-Daten überschrieben und möglicherweise das Dateisystem beschädigt.
Fügen Sie die -n
Option zum obigen badblocks
Befehl hinzu, um zerstörungsfreie Lese- / Schreibprüfungen zu verwenden .
Wie oben, jedoch ohne Wiederherstellung des vorherigen Laufwerkinhalts nach dem Schreibtest, daher etwas schneller. Da Daten ohnehin gelöscht werden, bleibt die gewaltsame Kündigung ohne (zusätzliche) negative Konsequenzen.
Fügen Sie die -w
Option zum obigen badblocks
Befehl hinzu, um zerstörerische Lese- / Schreibprüfungen zu verwenden .
fsck - Überprüft und repariert ein Linux-Dateisystem. Rufen Sie es mit auf
fsck /dev/sda1
Dabei ist / dev / sda1 das Laufwerk, das Sie überprüfen möchten. Siehe 'man fsck' für weitere Details.
Es gibt auch den Befehl 'badblocks', der ein Gerät auf fehlerhafte Blöcke überprüft.
Das Laufwerk muss bei Auswahl des Kontrollkästchens ausgehängt werden. Um die Root-Partition zu überprüfen, müssen Sie eine Datei 'forcefsck' im Root der Partition erstellen und neu starten. Das Gerät wird beim nächsten Start überprüft:
sudo touch /forcefsck
sudo reboot
Alternativ können Sie von einer Live-CD booten und die Überprüfung von dort aus ausführen.
sudo dumpe2fs -b /dev/sda9
. Aber ich denke, es ist besser, wenn sich die Festplatte um fehlerhafte Sektoren kümmert, nicht um das Dateisystem (SMART, Badblocks usw., siehe meinen Beitrag).
Sie können nach Badblocks suchen, auf denen der Befehl ausgeführt wird
sudo badblocks -nsv /dev/[device-partition] > bad-blocks-result
für einen zerstörungsfreien Lese-Schreib-Test. Dadurch wird eine Datei bad-blocks-result
mit den beschädigten Sektoren erstellt.
-n Verwende den zerstörungsfreien Lese-Schreib-Modus. Standardmäßig wird nur ein zerstörungsfreier Nur-Lese-Test durchgeführt.
-s Zeigt den Fortschritt des Scans an, indem der grobe prozentuale Abschluss der aktuellen Badblocks über die Festplatte geschrieben wird.
-v Ausführlicher Modus.
sudo fsck -t ext3 -l bad-blocks-result /dev/[device-partition]
dem Dateisystem mitteilen, wo sich die fehlerhaften Sektoren befinden, und, falls möglich, Daten von ihnen entfernen.Weitere Informationen dazu finden Sie hier .
fsck
Befehl schlägt bei btrfs
Dateisystemen fehl .
IMO Smartctl ist ein besseres Werkzeug. Sie müssen es wahrscheinlich zuerst installieren
sudo apt-get install smartmontools
Dann
sudo smartctl -a /dev/sda | less
zum Drucken von Laufwerkzustandsdaten, Attributen und verfügbaren Testergebnissen. Um weniger zu beenden, geben Sie ein q
. Alternative
sudo smartctl -H /dev/sda
um nur Gesundheitsdaten auszudrucken.
So starten Sie einen neuen kurzen (einige Minuten) oder langen (bis zu vielen Stunden) Selbsttest im Hintergrund:
sudo smartctl -t [short|long]
GSsmartControl ( Homepage ) und Gnome Disks sind grafische Frontends, wenn Sie dies vorziehen.
smartctl
gemeldet wurde: "Unbekannte USB-Brücke", "Bitte geben Sie den Gerätetyp mit der Option -d an". Die benötigten Daten habe ich unter smartmontools.org/wiki/Supported_USB-Devices gefunden .
F3 (Fight Flash Fraud) ist eine weitere Option, die zusätzlich gefälschte Flash-Laufwerke erkennen sollte (Flash-Laufwerke, deren tatsächliche Kapazität einen Bruchteil der beworbenen Kapazität ausmacht):
Installieren Sie F3
sudo apt install f3
Legen Sie Ihr Laufwerk ein
Schreiben Sie Testdaten in den freien Speicherplatz auf dem Laufwerk (überprüfen Sie, wo Ihr Laufwerk gemountet ist lsblk
).
f3write /media/$USER/D871-DD7C/
Lesen Sie die Testdaten
f3read /media/$USER/D871-DD7C/
Referenz:
Badblocks funktionieren gut, sind jedoch nicht für die Erkennung gefälschter Flash-Laufwerke ausgelegt und melden möglicherweise keine Fehler für diese .
badblocks
mit -w
oder mit der fsck
Markierung von Sektoren als schlecht / beschädigt, sodass sie nicht verwendet werden. f3 kann so etwas zurückgeben Corrupted: 16.01 MB (32784 sectors)
, markiert diese aber als fehlerhafte Sektoren? Oder brauchen wir dafür noch Badblocks? Ich versuche es mitdumpe2fs -b
und es sieht so aus, als würde ich nichts markieren.
Sie können die gesamte Festplatte testen und dabei einen Fortschrittsindikator anzeigen:
time sudo pv /dev/sdc >/dev/null
Bestimmte Festplattenprobleme treten als gemeldete E / A-Fehler auf. Dies ist ein bisschen netter als dd
aufgrund der Fortschrittsanzeige und weil die Befehlszeilenschnittstelle ein bisschen standardmäßiger und etwas weniger anfällig für Tippfehler ist . Beachten Sie, dass dies pv
im Grunde genommen eine erweiterte Version von ist cat
. Es ist möglicherweise nicht standardmäßig installiert, kann aber mit installiert werden sudo apt-get install pv
.
Ein ähnlicher Ansatz besteht darin, den Datenträger mit einem der verschiedenen verfügbaren Tools zu lesen, die speziell auf Datenträger-E / A-Fehler aufmerksam sind - und die Funktion haben, "Daten schwer zu retten". Suchen Sie ddrescue
im Paketmanager nach.
dd count=1
ist auch ziemlich schnell, es sei denn, das Speichermedium ist völlig kaputt (oder wird nicht unterstützt).
ddrescueview
dd
gibt es eine Fortschrittsanzeige mit status=progress
.
Wenn Sie eine Partition haben, die Sie NICHT VERLIEREN KÖNNEN, befolgen Sie diese Schritte
$fdisk -l commnd
Nehmen wir an, dass die zu überprüfende Partition / dev / sdPTC (zu überprüfende Partition) heißt und dass Sie eine andere Partition zum Speichern der in / scan / resultPath / gemounteten Ergebnisse haben
2.Dann können Sie diesen Befehl ausführen
$sudo badblocks -v /dev/sdPTC > /scan/resultPath/badsectors.txt
Dadurch werden die fehlerhaften Blöcke des angegebenen Geräts ermittelt und in einer Datei namens badsectors.txt gespeichert
fsck
Befehl verwenden, um Ubuntu anzuweisen, die in der Datei badsectors.txt genannten fehlerhaften Sektoren nicht zu verwenden.$sudo fsck -l /scan_result/badsectors.txt /dev/sda
Auf diese Weise wird die Lebensdauer der Festplatte ein wenig verlängert, bis Sie eine neue für den Austausch erhalten.
Wenn Sie über eine vollständige Partition verfügen, die Sie auf fehlerhafte physische Sektoren überprüfen möchten, und auf dieser Partition ALLE DATEN VERLIEREN KÖNNEN oder LEER sind, befolgen Sie diese Schritte
$sudo apt-get install gnome-disk-utility
$sudo gnome-disks
Überprüfen und überprüfen Sie, ob auf dieser Partition keine wichtigen Daten vorhanden sind
Mit gnome-disks
DELETE / REMOVE die Partition von Hand mit dem "-" Zeichen entfernen
Erstellen Sie mit gnome-disks
CREATE eine neue Partition und wählen Sie die Option "slow", mit der der angegebene Speicherplatz auf Fehler überprüft wird
bionic beaver
Disk Checks anders?