Im Allgemeinen können Sie nicht wirklich die gesamte Festplatte aktualisieren, ohne sie vollständig zu lesen/schreiben. fsck
wird wahrscheinlich nicht das bieten, was Sie brauchen - es funktioniert mit dem Dateisystem nicht das zugrunde liegende Gerät, daher scannt es meistens nur Metadaten des Dateisystems (Inodes und andere Dateisystemstrukturen).
badblocks -n
könnte eine Option zu dd if=X of=X
sein . In jedem Fall möchten Sie wahrscheinlich große Blöcke verwenden, um die Dinge zu beschleunigen (für dd
so etwas wie bs=16M
, für badblocks
dies würde -b 16777216
lauten , oder -b $((1<<24))
in vernünftigen Schalen). Wahrscheinlich möchten Sie auch conv=fsync
verwenden mit dd
.
Zur Sicherheit von dd
mit dem gleichen Eingabe- und Ausgabegerät - es liest Block von der Eingabe und schreibt ihn in die Ausgabe, also sollte es sicher sein (ich habe eine verschlüsselte Partition wie diese mehrmals neu verschlüsselt, indem ich Schleifengeräte mit demselben zugrunde liegenden Gerät und unterschiedlichen erstellt habe Passwörter und dann dd
'von einem zum anderen) - zumindest für einige Arten von physischen Medien:Beispielsweise ist es mir bei geschindelten Laufwerken definitiv nicht offensichtlich, dass es 100% ausfallsicher ist.