Post by Alexander GoetzensteinHallo,
# badblocks -s -n -o badblock.log /dev/sdb2
badblocks: Value too large for defined data type invalid end block (5859997255): must be 32-bit value
Dasselbe passiert auch bei weglassen einer, mehrerer oder aller
Optionen. Was kann da stören?
Das ist eine Limitierung von badblocks. Der interne Zähler für die zu
testenden Blöcke hat nur 32 Bit. Das hat wahrscheinlich historische
Gründe und es fand noch Niemand wichtig genug, um es zu Überarbeiten.
An der Stelle im Quellcode, der die Fehlermeldung erzeugt, findet sich
der folgende Kommentar:
/* ext2 badblocks file can't handle large values */
Damit bekommst du bei Festplatten/Partitionen mit mehr als 4 TiB
(echte TB, keine Marketing-TB) und der Standard-Blockgrösse von 1024
Byte die obige Meldung.
Als Abhilfe kannst du einfach mit -b eine andere Blockgröße angeben.
4096 Byte sollten reichen. Aufruf dann etwa so:
# badblocks -s -v -n -o badblock.log -b 4096 ...
Bevor du das aber machst, noch ein paar gut gemeinte Ratschläge:
0. Bei Operationen mit der fragwürdigen Festplatte immer ein dmesg im
Follow-Modus (dmesg -w) irgendwo sichtbar mitlaufen lassen, damit
man sofort sieht, wenn irgendwelche Fehler geworfen werden.
1. Falls du noch keine Sicherung der Daten hast, wäre JETZT ein guter
Zeitpunkt dafür. Das wäre auch gleichzeitig ein Lesetest für die
Festplatte.
2. Solange du noch nicht weißt, dass der USB-Teil OK ist, würde ich
Schreiboperationen (auch das nicht-destruktive Scheiben von
badblocks ist eine Schreiboperation) vermeiden. Das kann dir im
schlimmsten Fall die Daten unbemerkt kaputtmachen. (Ich hatte schon
USB-Kartenleser, die manchmal falsche Daten geliefert haben. Wenn
man die dann zurückschreibt, sind die Originaldaten halt kaputt.)
3. Ich würde deshalb erstmal einen erweiterten SMART-Test mittels
# smartctl -t long ...
machen. Dabei wird im Wesentlichen die Platte einmal gelesen. Wenn
das fertig ist (dauert bei einer 6TB Festplatte mehrere Stunden,
die erwartete Zeit wird bei "smartctl -a ..." in der Übersicht mit
ausgegeben), kann man das Ergebnis im SMART "Self-test log" ablesen.
4. Man kann die Festplatte auch mit
# dd if=... of=/dev/null bs=1M status=progress
oder mit badblocks ohne die Option "-n" einmal komplett lesen
lassen und schauen, wass passiert.
5. Wenn immernoch keine Fehler aufgetreten sind, kannst du ja mal den
Schreibtest wagen. Ich würde aber immer die ganze Platte (also in
deinem Fall /dev/sdb) testen und nicht nur eine Partition.
6. Und wenn du das jetzt mit dem Stundensatz für deine Freizeit
verrechnest, bekommst du wahrscheinlich mindestens 2 neue Platten
und ein neues Dock. ;)
Lutz