Festplatten sicher löschen

Festplatten sicher löschen, also so dass man den Computer oder Laptop sicher weiterverkaufen kann, ist eine knifflige Sache. Einfach löschen reicht nicht, formatieren auch nicht. Weil bei beidem sind die Daten noch da, und können relativ einfach wiederhergestellt werden.

Um sicher zu gehen, dass nichts wiederhergestellt werden kann, muss man die Festplatte überschreiben, Und zwar am besten mehrmals und das ganze auch noch mit mehr als nur Nullen.

Man kann dazu entweder ein Tool wie DBAN nutzen, eine Live-CD die fürs löschen von Festplatten gemacht wurde. Oder aber mann nimmt eine normale Linux Live-CD, bootet von der und nutzt einen der folgenden drei Befehle:

dd bs=1M if=/dev/zero of=/dev/sd#

Dieser Befehl überschreibt die Festplatte mit Nullen (sd# durch die passende Festplatte ersetzen).

dd bs=1M if=/dev/urandom of=/dev/sd#

Dieser Befehl überschreibt die Festplatte mit Zufallswerten (sd# durch die passende Festplatte ersetzen).

badblocks -wvs /dev/sd#

Dieser Befehl ist eigentlich dazu da, die Festplatte auf defekte Blöcke zu überprüfen. Mit diesen Optionen aber wird jeder Block der Festplatte vier mal mit verschiedenen Mustern (0xaa, 0x55, 0xff, 0x00) überschrieben und, was für unseren Anwendungsfall unnötig ist, wieder ausgelesen (sd# durch die passende Festplatte ersetzen).

Quelle: superuser.com

Update

Ich möchte, nachdem ich auf Twitter zu Recht darauf hingewiesen wurde klarstellen, dass das nur für normale Festplatten gilt. Für SSD’s sieht die Sache etwas anders aus. Hierfür bitte Google konsultieren, oder z.B. diesen Artikel lesen.

Advertisements

Linux: Partitionen oder ganze Festplatten über das Netzwerk klonen oder sichern

Heute war ich wieder einmal in der Verlegenheit, dass ich die Festplatte eines Laptops auf die Festplatte eines anderen klonen musste. Bei diesen Gelegenheiten nutze ich gerne dd durch eine SSH-Verbindung.

Also flugs auf beiden Laptops eine gute Live-CD gebootet, und auf dem Ziellaptop den SSH-Server gestartet (nicht vergessen dem User ein Passwort zu geben, sonst klappt es mit dem Login nicht 😉 ).

Auf dem Quellrechner dann diesen Befehl eintippen:

dd if=/dev/sda | ssh 192.168.11.11 dd of=/dev/sda

Das klont die Festplatte sda auf die gleiche Platte auf dem entfernten Laptop mit der IP 192.168.11.11.

Man könnte das ganze natürlich auch noch komprimieren, zum Beispiel mit gzip. Das erspart Traffic, erhöht aber die Last auf den beiden Rechnern. Aber nehmen wir mal, wir möchten den Laptop sichern und ein Backup in einem komprimierten Image auf dem Server ablegen. Das ginge dann in etwa so:

dd if=/dev/sda | gzip -c9 | ssh username@backupserver:/zielverzeichnis/filename.dd.gz

Um die komprimierten Daten statt ins Image auf die Platte zu schreiben müssen sie natürlich wieder ausgepackt werden. Und wenn man sich den SSH-Tunnel sparen will, mit netcat gehts auch, aber einfach unverschlüsselt. Das müsste (ungetestet) etwa so laufen:

Auf der Zielmaschine einen Port öffnen und lauschen:
nc -l -p 9000 | dd of=/dev/sda

Auf dem Quellrechner:
dd if=/dev/sda | nc 192.168.11.11 9000

Last, but not least: Die Zielfestplatte müsste eigentlich mind. gleich gross sein wie die Quellfestplatte. Ist sie es nicht, kann man die Partition der Quellplatte vor dem kopieren passend verkleinern, oder nur gewisse Partitionen kopieren. In dem Fall kann man sfdisk benutzen um die Partitionstabelle zu kopieren (und zwischendrin zu editieren). In dem Fall kann es auch hilfreich sein, den einzeln zu kopieren, damit das Betriebsystem auch wieder startet… Der MBR ist in den ersten 446 Bytes der Festplatte:

dd if=/dev/sda of=/dev/sdb bs=446 count=1

Auch hier kann man natürlich wieder das Netzwerkspielchen machen 😉