1 ⚔️ dd (Das zweischneidige Sektoren-Skalpell)
Unter Linux ist bekanntlich alles eine Datei – auch Festplatten (/dev/sda) oder NVMe-SSDs (/dev/nvme0n1). Der Befehl dd macht sich dieses Unix-Prinzip radikal zunutze. Er arbeitet nicht auf der Ebene von Ordnern und Dateien, sondern liest und schreibt rohe Datenströme direkt von Sektor zu Sektor.
Im Linux-Volksmund hat der Befehl den berüchtigten Spitznamen „Data Destroyer“ (Datenzerstörer). Der Grund: dd fragt nicht nach, warnt nicht und löscht bei einem kleinen Tippfehler im Ziel-Parameter kompromisslos Terabytes an Daten in Millisekunden.
Die Kernphilosophie von dd lautet:
„Kopiere Datenstrom A exakt bitweise an Ort B, ohne zu fragen, was es bedeutet.“
2 🛠️ DIE ANATOMIE DES BEFEHLS & CORE-PARAMETER
Im Gegensatz zu fast allen modernen Linux-Befehlen nutzt dd keine klassischen Flags (wie -v oder --output), sondern eine eigene, historische Zuweisungs-Syntax:
2.1 Die wichtigsten Parameter:
- if= (Input File):
Die Datenquelle. Kann eine Image-Datei (.iso, .img), eine einzelne Partition (/dev/sdb1) oder ein ganzes Laufwerk sein. Auch virtuelle Kernel-Generatoren wie /dev/zero (liefert unendlich Nullen) oder /dev/urandom (Zufallszahlen) sind typische Quellen. - of= (Output File):
Das Schreibziel. Hier entscheidet sich Leben und Tod des Systems. Gibt man hier versehentlich seine Hauptfestplatte an, wird diese gnadenlos überschrieben. - bs= (Block Size):
Bestimmt, wie viele Daten auf einmal in den RAM gelesen und geschrieben werden (z. B. bs=4M für 4 Megabyte). Ein höherer Wert beschleunigt den Klonvorgang bei modernen SSDs massiv. Standardmäßig liest dd sonst in winzigen 512-Byte-Schritten, was das System ausbremst. - status=progress:
Schaltet die Live-Fortschrittsanzeige im Terminal ein. Ohne dieses Flag arbeitet dd absolut lautlos, bis der Vorgang komplett abgeschlossen ist. - conv=fsync:
Zwingt das System, die Daten physisch vollständig auf das Medium zu schreiben, bevor der Befehl beendet wird. Verhindert, dass Daten im Linux-Schreibcache hängen bleiben und der USB-Stick beim zu frühen Abziehen korrupt wird.
3 📋 TYPISCHE PRAXIS-ANWENDUNGEN
3.1 Bootbaren Linux-USB-Stick erstellen
Erstellt aus einem geladenen ISO-Abbild (z. B. Debian 13 oder Arch Linux) einen bootfähigen Live-Stick.
⚠️ Wichtig: Hier darf niemals eine Partitionsnummer angegeben werden (nicht /dev/sdX1), sondern immer das nackte Basislaufwerk (/dev/sdX).
3.2 Eine Festplatte bitgenau klonen
Erstellt ein 1:1-Abbild einer Festplatte auf einer zweiten, physisch identischen oder größeren Platte.
3.3 Eine Festplatte sicher löschen (Überschreiben)
Überschreibt alle Sektoren einer Festplatte mit Nullen, um alte Daten vor dem Verkauf unwiderruflich zu vernichten.
4 🔄 ABGRENZUNG: DD VS. CLONEZILLA / PARTCLONE
| Kriterium | dd ⚔️ | Clonezilla (Partclone) 🦖 |
|---|---|---|
| Arbeitsweise | Stumpfer Sektor-für-Sektor-Transport | Intelligent (liest nur belegte Dateisystemblöcke) |
| Geschwindigkeit | Langsam bei großen, fast leeren Platten | Extrem schnell, da leerer Raum ignoriert wird |
| Zielgröße | Ziel muss physisch exakt gleich groß oder größer sein | Kann über den Expert-Modus (-icds) flexibler skalieren |
| Datensicherheit | Gefährlich (Keine Sicherheitsabfragen) | Sicherer durch Menüführung und Validierung |
5 DIE DREI GOLDENEN DD-REGELN
5.1 Regel 1: „Prüfe dreimal das Ziel via lsblk“
- Das Problem:
- Der Klassiker: Nutzer wollte ein ISO auf den USB-Stick /dev/sdb flashen, hat aber im Eifer des Gefechts /dev/sda (seine SSD mit dem installierten Hauptsystem) eingetippt.
- Die Folge:
Das System läuft meist noch ein paar Sekunden im RAM weiter und verabschiedet sich dann mit einem Kernel Panic ins digitale Nirwana. Die Partitionstabelle und die ersten Systemdaten sind unwiderruflich weg.
5.2 Problem nach dem Klonen: Doppelte UUIDs
- Das Problem:
Ein Nutzer hat eine Partition erfolgreich mit dd auf eine zweite interne Festplatte geklont. Nach dem nächsten Neustart verhält sich das System völlig instabil, mountet zufällige Platten oder bootet nicht. - Die Ursache:
Da dd bitgenau kopiert, besitzt die Kopie exakt dieselbe UUID (Universally Unique Identifier) wie das Original. Wenn Linux nun bootet und in der /etc/fstab nach der UUID sucht, findet es zwei identische IDs und bindet die falsche oder beide Festplatten gleichzeitig ein. Die Lösung:
Nach dem Klonen muss auf einer der beiden Platten zwingend die UUID geändert werden. Bei einer ext4-Partition geschieht dies im Host-Terminal über:
6 📝 FAZIT
Der Befehl dd ist das älteste und verlässlichste Brecheisen der Systemadministration. Es hat keine grafische Oberfläche, keinen Schnickschnack und verzeiht keinen einzigen Fehler. Wer es jedoch mit Respekt und Präzision bedient, besitzt ein Werkzeug, das jedes System und jede Partitionierung ohne Rücksicht auf Verluste bezwingt.