Ich habe diese großartige Antwort auf die Frage auf der allgemeinen Mailingliste der Atlanta Linux Enthusiasts gefunden:
Ich habe das endlich herausgefunden, nachdem ich lange nachgedacht und die Manpage etwa 10 Mal gelesen hatte. Ich dachte, ich würde es teilen, falls jemand anderes die Informationen braucht. Googeln hat nicht viel geholfen, da diese Einträge normalerweise nur die Manpage zitieren. Wenn die Manpage Last-Block First-Block sagt, will sie nicht, dass Sie diese WÖRTER eingeben, sondern eine ZAHL. Sie erwähnt, dass beide optional sind, aber ich kann nicht herausfinden, wie ich Last-Block weglassen kann, wenn ich ersten Block angeben möchten.
Angenommen, Sie haben Ihren Test ursprünglich bei Block 33000001 beendet. Ich würde den Test bei einem Block weniger neu starten, also bei 33000000.
Zunächst müssen Sie die letzte Blocknummer auf der Partition ermitteln. Ich habe zwei Möglichkeiten dafür gefunden.
-
Sie können
badblocks
starten ohne Blocknummern. Es wird Ihnen den Blockbereich mitteilen, den es verarbeitet.Beispiel:
sudo badblocks -sv /dev/sda3
Und es sagt so etwas wie:
Searching for badblocks in read only nondestructive mode from block to 66828373
Notieren Sie sich diese Endblocknummer. Beenden Sie den Test mit CTRL-C und geben Sie dann den Befehl mit den gewünschten Blocknummern ein.
-
Sie können den
fdisk
verwenden (oder ich denke auchsfdisk
) Befehl zum Auflisten von Partitionsinformationen. Eine der Informationsspalten ist # ofblocks. Finden Sie die Anzahl der Blöcke in der Partition, an der Sie interessiert sind, und SUBTRAHIEREN Sie 1, da die Blöcke bei 0 beginnend nummeriert sind.sudo fdisk -l /dev/sda
(Diese Option ist ein kleines L. In diesem Fall geben Sie nicht die Partitionsnummer an, sondern nur die Festplattenbezeichnung.)Und es sagt so etwas wie:
/dev/sda2 ... /dev/sda3 ... 66828374 /dev/sda4 ...
Suchen Sie die gewünschte Partition, lesen Sie die Anzahl der Blöcke ab und subtrahieren Sie 1, um die letzte Blocknummer zu finden.
Nun können Sie den
badblocks
eingeben Befehl wie folgt. Angenommen, Sie möchten in der Mitte der Partition bei Block 33000000 mit dem Testen beginnen. Dieses Beispiel gilt für den nicht destruktiven Lese-/Schreibmodus mitbadblocks
Liste in eine Textdatei. Wenn Sie von einer Live-CD booten, verlieren Sie diese Textdatei beim Neustart.sudo badblocks -nsv -o ~/Desktop/badblocks.txt /dev/sda3 66828373 33000000
Dadurch wird von Block 33000000 bis zum Ende der Partition getestet. Wenn Sie 66828374 als letzten Block angeben, wie in
fdisk
angegeben , wird diese Blocknummer als fehlerhaft gemeldet, aber tatsächlich existiert diese Blocknummer nicht.
Ich hoffe, dass andere dies nützlich finden, da es mich eine Zeit lang wirklich verwirrt hat.
Mit freundlichen Grüßen
Ron
Es gibt eine Möglichkeit, anzugeben, ab welchem Block badblocks
beginnen soll und der letzte Block, (siehe man badblocks
):
badblocks [ -svwnfBX ] [ -b block-size ] [ -c blocks_at_once ] [ -e
max_bad_blocks ] [ -d read_delay_factor ] [ -i input_file ] [ -o
output_file ] [ -p num_passes ] [ -t test_pattern ] device [
last-block ] [ first-block ]