Wie weist man fdisk an, den Inhalt der Partition zu löschen, wie es GParted tut?

Wie weist man fdisk an, den Inhalt der Partition zu löschen, wie es GParted tut?

Ich versuche, ein Skript zu schreiben, um einige Vorgänge mit einem USB-Stick durchzuführen, alle gefundenen Partitionen zu löschen und neue zu erstellen (mehr dazu indieser Link).

Wenn ich den Vorgang mit GParted durchführe, funktioniert alles einwandfrei, insbesondere wenn die neuen Partitionen mit ihren Dateisystemen erstellt werden, sind alle alten Daten weg (und dieser Vorgang dauert für den Inhalt, mit dem ich arbeite, nicht lange).

Aber wenn ich das entsprechende Verfahren mit durchführe fdisk, finde ich die alten Daten immer in derselben alten Partition wie vorher!

Wie kann ich vorgehen, damit die Daten der alten Partitionen vollständig gelöscht werden (und zwar so schnell, wie das bei GParted passiert)?

Ich habe Befehle dd if=/dev/zero of=/dev/sdb bs=512 count=1und shred -vzn 0 /dev/sdbähnliches ausprobiert, aber entweder haben sie die Dateien nicht wirklich gelöscht oder es hätte im Vergleich zu GParted zu lange gedauert.

Antwort1

So etwas gibt es in nicht fdisk. Im Gegensatz zu GParted kümmert es sich überhaupt nicht um Dateisysteme und Partitionsinhalte – das müssen Sie manuell erledigen.

Außerdem haben Sie nicht erklärt, wie Sie festgestellt haben, dass „alte Daten weg waren“ – haben Sie das eigentliche Partitionsgerät untersucht oder haben Sie es einfach gemountet und gelöscht? Eine Partition kann voller Datenmüll sein, und das spielt keine Rolle, solange das Dateisystem anzeigt, dass „das Stammverzeichnis 0 Dateien enthält“.

Ich bezweifle, dass GParted eine Funktion hat, um eine Partition vollständig zu leeren – es ist wahrscheinlicher, dass es einfach ein neues Dateisystem erstellt hatoben draufvon dem, was vorher da war. (Das heißt, auf SSDs sind die mkfsWerkzeugeTunverwerfen Sie die gesamte Partition mit TRIM, was nahezu sofort erfolgt. Bei HDDs kann jedoch nichts die Drehzahl einer Festplatte erhöhen – dd kann nicht viel langsamer sein als GParted.)

Also sollte folgendes genügen:

  1. Zum wipefs --all /dev/xxxLöschen der erkennbaren Dateisystemstrukturen,
  2. Verwenden Sie mkfs.ext4 /dev/xxx(oder mkfs.whatever-else), um ein leeres Dateisystem zu erstellen.

verwandte Informationen