Ich muss eine Festplatte abwischen, bevor ich sie verschenke, aber ich möchte die Möglichkeit haben, dies in Portionen zu tun, damit ich an verschiedenen Stellen in der Mitte anhalten und fortfahren kann. Wenn zum Beispiel das Löschen der Festplatte 24 Stunden dauert, ich aber nur Blöcke von 6 bis 8 Stunden pro Nacht zur Verfügung habe, möchte ich die USB-Festplatte in meinen Laptop einstecken, um über Nacht zu wischen, den Stecker herauszuziehen und meinen Laptop mitzunehmen Am Morgen, dann am nächsten Abend weitermachen, bis alles erledigt ist.
Ich benutze dd
von einem Linux-Terminal zB
$ nohup dd if=/dev/zero of=/dev/sdX bs=1M &
Ich dachte ursprünglich nur daran, den Fortschritt zu überwachen kill -USR1 ${ddpid}
, den Überblick zu behalten und dann dort fortzufahren, wo ich nach Unterbrechungen aufgehört hatte. Das gefiel mir sofort nicht, da ich beim ersten Versuch die Mathematik durcheinander brachte und Zeit verlor, einen bereits abgewischten Bereich erneut abzuwischen.
Ich überlege jetzt, das Laufwerk im Voraus zu partitionieren und dann jede Partition einzeln oder paarweise zu löschen. Da es sich um eine 4-TB-Festplatte handelt, konnte ich mit die 2-TB-Grenze nicht überschreiten. Daher fdisk
habe ich gdisk
neue Partitionen erstellt:
Device Start End Sectors Size Type
/dev/sdb1 2048 589826047 589824000 281.3G Linux filesystem
/dev/sdb2 589826048 1179650047 589824000 281.3G Linux filesystem
/dev/sdb3 1179650048 1769474047 589824000 281.3G Linux filesystem
/dev/sdb4 1769474048 2359298047 589824000 281.3G Linux filesystem
/dev/sdb5 2359298048 2949122047 589824000 281.3G Linux filesystem
/dev/sdb6 2949122048 3538946047 589824000 281.3G Linux filesystem
/dev/sdb7 3538946048 4128770047 589824000 281.3G Linux filesystem
/dev/sdb8 4128770048 4718594047 589824000 281.3G Linux filesystem
/dev/sdb9 4718594048 5308418047 589824000 281.3G Linux filesystem
/dev/sdb10 5308418048 5898242047 589824000 281.3G Linux filesystem
/dev/sdb11 5898242048 6488066047 589824000 281.3G Linux filesystem
/dev/sdb12 6488066048 7077890047 589824000 281.3G Linux filesystem
/dev/sdb13 7077890048 7667714047 589824000 281.3G Linux filesystem
/dev/sdb14 7667714048 7814037134 146323087 69.8G Linux filesystem
Ich dd
renne rückwärts von sdb14 nach sdb1, nur damit ich alles klarstellen kann.
Wenn ich jede Partition abgeschlossen habe, überlege ich, wieder zu fdisk / gdisk zurückzukehren und die Partition zu löschen, obwohl nicht die gesamte Festplatte gelöscht wird.
Sobald ich mit allen Partitionen fertig bin, plane ich, auch den Anfang der Festplatte zu löschen:
$ dd if=/dev/zero of=/dev/sdX bs=1M count=512
(Ich verstehe, 512 ist etwas übertrieben. Bitte geben Sie in den Kommentaren eine bessere Zahl an.)
Wird dies mein Ziel erreichen, die Festplatte Stück für Stück vollständig zu löschen, ohne dass irgendwo Lücken übersehen werden?
quelle
dd
: Sie können eine neuere Version vondd
mit der Option ausführenstatus=progress
und erhalten die ganze Zeit den aktuellen Status. Die Ausgabe mit dieser Option sieht wie folgt aus :462858752 bytes (463 MB, 441 MiB) copied, 38 s, 12,2 MB/s
. Also keine Notwendigkeit dafürkill -USR1
.Antworten:
Über den Anfang der Platte. Die erste Partition beginnt im Sektor
2048
. Sektoren sind nummeriert von0
. Die bereitgestelltegdisk
Ausgabe gibt es nicht explizit an, aber ich kann berechnen, dass Ihre Festplatte Sektoren der Größe verwendet512B
. Es gibt also2048
Sektoren von512
Bytes vor der ersten Partition. Dieser Befehl füllt sie mit Nullen:Ich habe die Zahlen analysiert - es gibt keine Lücken zwischen Partitionen. Aber! Das GPT-Schema platziert die Backup-Partitionstabelle ganz am Ende des Datenträgers und benötigt
33
Sektoren. Zusätzlich können Partitionierungswerkzeuge das Ende der letzten Partition irgendwie ausrichten (obwohl die ungerade Anzahl146323087
darauf hindeutet, dass dies hier nicht der Fall ist). Sie sollten diesen Bereich also auch über die letzte Partition hinaus abdecken:Erwarten Sie, dass dieser Befehl fast sofort das Ende des Datenträgers erreicht.
Datenträgeroperationen verwenden Cache, daher sollten Sie
sync
nach alledem ausgeführt werden. Normalerweise wird der gesamte Cache geleert, wenn Sie ordnungsgemäß herunterfahren. Wenn Sie den Datenträger jedoch früher vom Computer trennen (USB trennen), gehen möglicherweise einige Änderungen verloren. Hoffen wir, dass Sie nach dem Löschen bestimmter Partitionen niemals die Verbindung auf diese Weise getrennt haben.Danach wird Ihre gesamte Festplatte auf Null gesetzt. Das sollte reichen (lies dies und das ). Wenn es sich bei der Festplatte um eine SSD handelte, kann dies auf eine Abnutzungsbereinigung zurückzuführen sein. aber ich schätze 4 TB hier ist HDD, also gibt es kein Problem.
quelle
Eine andere Alternative zur @KamilMaiorowski-Lösung wäre, ein Dateisystem auf / dev / sdX zu erstellen und dann leere Dateien darauf zu schreiben. Auf diese Weise können Sie auf halbem Weg anhalten und nach Belieben fortfahren, indem Sie entweder an die Datei anhängen oder eine neue schreiben. Sobald auf der Festplatte nicht mehr genügend Speicherplatz für weitere Dateien vorhanden ist, sind Sie fertig. Sie können die Dateien auch von der Festplatte löschen, sobald Sie dies getan haben.
Um dies zu tun (von einer bootfähigen Festplatte)
quelle