Wie überprüfe ich den Gesundheitszustand eines USB-Sticks?
Woher weiß ich, dass ein USB-Stick irreparabel oder reparabel ist?
linux
usb-flash-drive
valpa
quelle
quelle
Antworten:
Es gibt keine Möglichkeit, einen USB-Speicherstick nach SMART-ähnlichen Parametern abzufragen. Mir sind keine Memory Sticks bekannt, die dies auch über öffentlich verfügbare proprietäre Software unterstützen. Das Beste, was Sie tun können, ist zu überprüfen, ob Sie mit erfolgreich auf dem gesamten Gerät lesen und schreiben können
badblocks
.https://en.wikipedia.org/wiki/Badblocks
Sie möchten einen der Schreibtests angeben, bei dem alle Daten auf dem Stick gelöscht werden. erst ein Backup machen.
Suchen Sie das Gerät, indem Sie
dmesg
nach dem Einstecken des USB-Sticks nachsehen. Sie sehen einen Gerätenamen (höchstwahrscheinlich sd_, dh sdc, sdd usw.) und Herstellerinformationen. Stellen Sie sicher, dass Sie das richtige Gerät verwenden!Wenn der Stick mit einem gültigen Dateisystem formatiert ist, müssen Sie es möglicherweise
unmount
zuerst.Beispielsyntax für einen USB-Stick mit der Aufzählung / dev / sdz, der Fortschrittsinformationen ausgibt und einen datenschädigenden Schreibtest und ein Fehlerprotokoll in die Datei usbstick.log schreibt:
Sie müssen den Stick danach neu partitionieren und formatieren, sofern er erfolgreich ist. Dieser Test wird alles auf dem Stick abwischen. Alle Fehler weisen auf einen Fehler des Speichercontrollers des Geräts hin, oder es sind keine freien Blöcke mehr vorhanden, um die fehlgeschlagenen Blöcke neu zuzuordnen. In diesem Fall kann keinem Bereich des Geräts vertraut werden.
quelle
e2fsck -c
verwendetbadblocks
und effektiv ausgeblendet, um beschädigte Schreibvorgänge zu vermeiden. Es sollte jedoch beachtet werden, dass die Festplatte, wenn sie neue Badblocks hat, wahrscheinlich beschädigt wird und später neue eintreffen können.Über [ubuntu] Error Check USB Flash Drive fand ich schließlich Folgendes, was hilfreich sein könnte:
Nachtrag von @pbhj: F3 ist in den Ubuntu-Repos. Es besteht aus zwei Teilen: f3write schreibt 1-GB-Dateien auf das Gerät und f3read versucht, sie anschließend zu lesen. Auf diese Weise werden Kapazität und Fähigkeit zum Schreiben und effektiven Lesen von Daten getestet.
quelle
badblocks
?Es kommt auf den Fehlermodus an, nehme ich an. Sie sind aus einem bestimmten Grund billig.
Wenn Sie als USB-Gerät den Bus über den Geräte-Manager in Windows oder die Ausgabe von dmesg in Linux überwachen, werden Sie darüber informiert, ob das Gerät überhaupt als angeschlossen erkannt wurde. Ist dies nicht der Fall, müssen Sie entweder den Controller an Bord oder die physischen Verbindungen überprüfen sind kaputt.
Wenn das Gerät als angeschlossen erkannt wird, aber nicht als Festplattencontroller identifiziert wird (und ich weiß nicht, wie das passieren könnte, aber ...), wird der Controller abgeschossen.
Wenn es als Laufwerk erkannt wird, Sie es jedoch nicht mounten können, können Sie es möglicherweise über fdisk reparieren, die Partitionstabelle neu schreiben und dann ein anderes Dateisystem erstellen.
Wenn Sie nach dem Äquivalent von SMART suchen , werden Sie es nicht finden. Thumbdrive-Controller sind billig. Sie sind Warenlager und sollen nicht die normalen Failafes und Intelligenz haben, die moderne Laufwerke haben.
quelle
Auf dem Weg bis heute hat dieser Thread einige Fragen aufgeworfen.
- Wie lange wird dies dauern (impliziert durch die Diskussion, es über Nacht laufen zu lassen).
Ich teste derzeit einen USB 3.0 128G Sandisk mit
sudo badblocks -w -s -o
, der an meine USB 3 / USBC PCIe-Karte in einem älteren Athlon 64x2 angeschlossen ist. USB3 in USB3 auf PCIe sollte also ziemlich schnell sein.Hier ist meine Konsolenbefehlszeile bei 33% Abschluss:
Testing with pattern 0xaa: 33.35% done, 49:47 elapsed. (0/0/0 errors)
und später nochmal:
Testing with pattern 0xaa: 54.10% done, 1:17:04 elapsed. (0/0/0 errors)
Als nächstes kam dieses Segment:
Reading and comparing: 43.42% done, 2:23:44 elapsed. (0/0/0 errors)
Dieser Vorgang wiederholt sich mit oxaa, dann mit 0x55, 0xff und schließlich mit 0x00.
ArchLinux gab eine uneingeschränkte Erklärung ab:
For some devices this will take a couple of days to complete.
NB: Der Test wurde gegen 20:30 Uhr gestartet. Der Test wurde vor 8:45 Uhr am nächsten Tag abgeschlossen. Für meine Situation dauerte der Test ungefähr 12 Stunden .
- Zerstörungsfreie Prüfung ist nicht die einzige mögliche Methode.
Wikipedia hat diese Aussage angeboten:
badblocks -nvs /dev/sdb This would check the drive "sdb" in non-destructive read-write mode and display progress by writing out the block numbers as they are checked.
Meine aktuelle Distributions-Manpage bestätigt, dass -n nicht destruktiv ist.
-n Use non-destructive read-write mode. By default only a non- destructive read-only test is done.
Und schließlich, dass es sich nicht lohnt. Aussage.
Bei einer zusammenfassenden Aussage, die auf der Situation von Milliarden von Speicherplätzen in einem Flash-Chip basiert, handelt es sich um eine Zelle, die bereits zehntausende Male beschrieben und gelöscht wurde und jetzt ausfällt. Und wenn ein Test zeigt, dass eine Zelle ausgefallen ist, denken Sie daran, dass jede von Ihnen hinzugefügte und gelöschte Datei diese Zyklen durchläuft.
Die Idee hier ist, dass, wenn eine Zelle ausfällt, viel mehr Zellen den gleichen Fehlerpunkt erreichen. Eine Zelle ist heute ausgefallen, aber Sie verwenden sie normalerweise eine Weile länger, dann fallen 3 weitere Zellen aus, dann fallen 24 weitere aus, dann 183, und bevor Sie es wissen, ist das Speicherarray mit schlechten Stellen übersät. Es gibt nur so viele Zellen, die absterben können, bevor Ihre nutzbare Kapazität zu sinken beginnt und schließlich schnell sinkt. Woher wissen Sie, dass mehr Zellen ausfallen? Daher schützen Posts hier Ihre Daten, indem sie sagen, sobald Sie eine fehlerhafte Zelle haben, sind Sie im Hinblick auf eine vertrauenswürdige Speicherung ziemlich fertig. Ihre Nutzung kann noch einige Monate dauern.
Es sind deine Daten.
HTH
quelle
Viele Fehler sind entweder vollständig oder ermöglichen, dass ein Standort mehrere Standorte unterstützt. Ich habe ein kleines Zufallsschreib-Leseprogramm geschrieben, das eine Primzahl für einen Pseudozufallszahlengenerator verwendet, sowohl für Muster als auch für Adressen. Die Lesevorgänge sind hinter den Schreibvorgängen um genügend Seiten versetzt, um sicherzustellen, dass ich den RAM-Cache auf dem System nicht teste. Es ist noch nicht parametriert, nur für ein 64G-Gerät auf meinem System mit 8G-RAM eingerichtet. Sie können jederzeit kritisieren, parametrisieren und intelligenter gestalten.
Dies ist eine leistungsstarke Prüfung und schneller als jedes Byte von unten nach oben, aber auch ein großartiger Swap-Generator (bringt fast alles andere raus). Ich habe swapiness vorübergehend auf 1 gesetzt und es wurde langsamer, aber für andere Apps erträglicher. Tipps, wie Sie gegen Auslagerungen vorgehen können, sind ebenfalls willkommen:
$ sudo ksh -c 'echo 1> / proc / sys / vm / swappiness'
quelle
USB-Sticks sind ziemlich rudimentär, da kann nicht viel schief gehen! Wenn es als Laufwerk angezeigt wird und Sie es formatieren können, funktioniert es im Allgemeinen. Sie können versuchen, sich die Portable-Version von CrystalDiskInfo anzuschauen, da es sich um ein schnelles, kompaktes Analysetool handelt. Nur sehr wenige USB-Sticks geben SMART-Informationen und ähnliches zurück.
quelle