Wie führe ich einen einzelnen Durchgang mit Badblocks im destruktiven Modus durch?

Wie führe ich einen einzelnen Durchgang mit Badblocks im destruktiven Modus durch?

ich benutzeschlechte Blöckeum alle Daten auf der Festplatte vollständig zu löschen; verwenden Sie dazu den folgenden Befehl:

badblocks -wsp 0 /dev/sdb1

Ich habe die Option -p 0in der Hoffnung ausgewählt, dass dies nur zu einem einzigen Durchlauf führt, aber ich erhalte mehrere Durchläufe:

Testing with pattern 0xaa: done
Reading and comparing: done
Testing with pattern 0x55: done
Reading and comparing: done
Testing with pattern 0xff: done
Reading and comparing: 19.01% done, 7:43:47 elapsed. (0/0/0 errors)

Aus der Manpage erkenne ich, dass die -wOption selbst vier Durchläufe umfasst:

-w Schreibmodustest verwenden. Mit dieser Option sucht badblocks nach fehlerhaften Blöcken, indem es einige Muster (0xaa, 0x55, 0xff, 0x00) in jeden Block des Geräts schreibt, jeden Block liest und den Inhalt vergleicht. Diese Option darf nicht mit der Option -n kombiniert werden, da sie sich gegenseitig ausschließen.

Das ist für meine Bedürfnisse zu viel. Gibt es eine Möglichkeit, einen einzigen destruktiven Durchgang zu erreichen?

Antwort1

Nachdem ich die Manpage weiter gelesen hatte, habe ich das Problem gelöst. -wführt tatsächlich einen einzelnen Durchgang aus, wie aus der Beschreibung der -pOption hervorgeht:

Der Standardwert ist 0, was bedeutet, dass Badblocks nach dem ersten Durchgang beendet werden.

Ein Pass besteht aus vier Testmustern:

-w Schreibmodustest verwenden. Mit dieser Option sucht badblocks nach fehlerhaften Blöcken, indem es einige Muster (0xaa, 0x55, 0xff, 0x00) in jeden Block des Geräts schreibt, jeden Block liest und den Inhalt vergleicht.

Das Muster kann mit der folgenden Option überschrieben werden -t:

-t Testmuster Gibt ein Testmuster an, das in Plattenblöcke gelesen (und geschrieben) werden soll. Das Testmuster kann entweder ein numerischer Wert zwischen 0 und ULONG_MAX-1 (einschließlich) oder das Wort „random“ sein, das angibt, dass der Block mit einem zufälligen Bitmuster gefüllt werden soll. Für den Lese-/Schreibmodus (-w) und den zerstörungsfreien Modus (-n) können ein oder mehrere Testmuster angegeben werden, indem für jedes gewünschte Testmuster die Option „-t“ angegeben wird. Für den Nur-Lese-Modus kann nur ein einziges Muster angegeben werden, und dieses darf nicht „random“ sein. Beim Nur-Lese-Testen mit einem Muster wird davon ausgegangen, dass das angegebene Muster zuvor auf die Platte geschrieben wurde. Andernfalls schlägt die Überprüfung bei einer großen Anzahl von Blöcken fehl. Wenn mehrere Muster angegeben werden, werden alle Blöcke mit einem Muster getestet, bevor mit dem nächsten Muster fortgefahren wird.


Beispielbefehl und Ausgabe:

# badblocks -wsvt 0 /dev/sdz
Checking for bad blocks in read-write mode
From block 0 to 488386583
Testing with pattern 0x00: done                                                 
Reading and comparing: done                                                 
Pass completed, 0 bad blocks found. (0/0/0 errors)

Antwort2

Wenn das Ziel darin besteht, die Daten zu zerstören, anstatt nach Fehlern zu suchen, dann könnten Sie einfach verwenden

dd if=/dev/zero of=/dev/sdX status=progress

wobei X der Buchstabe Ihres Zielgeräts ist.

Wenn Sie sich jedoch wirklich Sorgen um die Daten auf Ihrer Festplatte machen, können Sie dd mehrmals ausführen, andere Tools wie Wipe oder Shred verwenden oder einfach Badblocks seine Arbeit machen lassen. Es hängt alles davon ab, wie viel Zeit Sie in das Löschen der Daten investieren möchten.

verwandte Informationen