Ich möchte eine SSD von allen Partitionen und Daten säubern, damit ich sie neu partitionieren kann (dies dient nicht der Sicherheit).
Ich habe mir das angeschaut, sudo dd if=/dev/zero of=/dev/sdb bs=1M
aber wenn dies nur jede Partition mit Nullen füllt, bin ich mir nicht sicher, was ich tun möchte.
Ich habe vor, diesen Befehl ziemlich oft auszuführen, und ich möchte die Schreibvorgänge meiner SSD nicht erschöpfen. Kann mir jemand einen Rat geben, wie ich dieses Problem angehen kann?
Antworten:
Auf einer SSD: Sie können ganze Festplatten oder Partitionen mit TRIM
blkdiscard
. Es ist nicht sehr sicher, aber praktisch sofort (die Festplatte markiert lediglich alle Zellen als unbenutzt).Aus Sicherheitsgründen: Verwenden Sie die Festplattenverschlüsselung. Löschen Sie nicht die gesamte Festplatte, wenn diese verschlüsselt ist - Sie müssen nur den Bereich löschen, der Ihre Schlüssel enthält (z. B. die ersten 1–2 MB jeder verschlüsselten Partition).
Für die Neupartitionierung: Auch hier müssen Sie nicht alle Daten löschen. Sie müssen lediglich die Dateisysteme mit zerstören
wipefs
und anschließend die ersten 1 MB Ihrer Festplatte löschen, um die verbleibenden Bootloader zu entfernen. Nachdem Sie eine Partition mit formatiert habenmkfs
, geht das Betriebssystem einfach davon aus, dass sie vollständig leer ist.(Unter Linux schneidet mkfs.ext4 die gesamte Partition vor dem Formatieren automatisch zu.)
quelle
mkfs
wird es sowieso Müll Aber verschiedene seltsame Situationen. Sie passieren -wipefs
existiert , weil es nötig war.)man wipefs
sagt das? (Hinweis: Schauen Sie sich das erste Beispiel im Abschnitt mit den Beispielen auf der Manpage an.)blkdiscard
wäre auch nett, da dies ein Rätsel aus dem Rest der Festplatte erstellen würde, selbst wenn der Angreifer den Schlüssel kennt (vorausgesetzt, die alte Zuordnung kann ebenfalls nicht wiederhergestellt werden). "Scrubben Sie dann die ersten 1 MB Ihrer Festplatte, um verbleibende Bootloader zu löschen" - der zusätzliche Abschnitt wird nur als Überlauf der ersten 512 MB verwendet. Wenn Sie zuerst 512B löschen, werden Sie vom Rest von 1M nicht verletzt.Wie Kamil Maciorowski erwähnt , besteht die beste Möglichkeit zum Löschen einer gesamten Festplatte mit dem geringsten Schreibaufwand darin, den ATA-Befehl zum sicheren Löschen zu verwenden. Dadurch wird die Hardware angewiesen, einen einzelnen vollständigen Löschvorgang durchzuführen, anstatt die Zellen wiederholt zu überschreiben, wie dies bei Tools wie z
shred
. Dies ist nur für die gesamte Festplatte möglich. Wenn Sie Partitionen selektiv löschen müssen, lesen Sie die Antwort von grawity (blkdiscard
).Die genaue Implementierung des Befehls hängt von der Hardware ab.
Die meisten SSDs verwenden ein elektrisches Massensignal, um ganze Chips auf Alles-oder-Nichts-Weise zu löschen. Dies führt zu (normalem) Schreibverschleiß, jedoch nur in einem möglichst geringen Umfang (~ einzelner Schreibzyklus).
Selbstverschlüsselnde SSDs löschen normalerweise nur den Verschlüsselungsschlüssel im Controller-Chip (wirklich augenblicklich). Selbstverschlüsselnde Laufwerke verschlüsseln immer , auch ohne Voreinstellung (mit einem werkseitigen Standardschlüssel). Das Wischen des Schlüssels hinterlässt also nur ein nicht entschlüsselbares Durcheinander auf den Flash-Chips, selbst wenn kein Benutzerschlüssel festgelegt wurde.
dd if=/dev/zero
.Der Prozess ist hier recht gut dokumentiert: https://www.thomas-krenn.com/en/wiki/SSD_Secure_Erase (Ich habe diesen Prozess bei der Neuinstallation von Betriebssystemen auf meinen eigenen SSDs wiederholt verwendet.)
Bearbeiten: Wenn Sie an den Sicherheitsaspekten interessiert sind, überprüfen Sie die Frage von Security.SE
quelle
Denken Sie daran, dass Sie nach einer Lösung zum schnellen Löschen von Festplatten gefragt haben. Ersetzen Sie / dev / sdx durch Ihre Festplatte, am ehesten / dev / sda
Dadurch wird die Partitionstabelle gelöscht.
Dadurch wird die gesamte Festplatte gelöscht. Dies dauert eine Weile.
quelle
cat
. Verwenden Siedd
diese Option , um die Leistung zu verbessern.dd
verwendet 512-Byte - Puffer, der wird ruinieren Leistung ... Coreutils (cp
und vermutlich auchcat
) eine empfindlicheren Puffergröße. Es gibt nichtsdd
, was es irgendwie von Natur aus schneller macht.dd
. Das letzte Mal, als ich versuchtecat
, ein Image auf eine Festplatte zu schreiben, war es erheblich langsamer alsdd
mit einer geeigneten Puffergröße.