Dd

Aus Foxwiki

dd (disk dump) erstellt bit-genaue Kopien von Datenträgern, Partitionen oder Dateien. Bit-genau bedeutet, dass Bit-für-Bit bzw. Byte-für-Byte ausgelesen und beschrieben wird, unabhängig von dessen Inhalt und Belegung.

Übersicht

dd [Option] if=Inputfile of=Outputfile

Optionen

Schalter Bedeutung
if= Steht für Input File, also die Quelle
of= Steht für Output File, also das Ziel
count= Legt fest wie viele der mit BS festgelegten Blöcke kopiert werden sollen. Z.B.: „count=10“ kopiert genau 10 Blöcker der mit „bs“ angegebenen Größe.
bs= Steht für Block Size. Z.B.: „bs=1M“ beutet das die Blockgröße genau 1 Megabyte ist. Angaben können in K (Kilobyte), M (Megabyte), G (Gigabyte), etc… angegeben werden

Anwendungen

Backup eines MBR erstellen

dd if=/dev/hda bs=512 count=1 of=/tmp/mbr.bin

Komprimiertes Archiv einer Partition erstellen

Komprimieren

dd if=/dev/hda1 | gzip > /tmp/image.gz

Dekomprimieren

gunzip -c /tmp/image.gz | dd of=/dev/hda1

Datenträger klonen

Mit folgendem Befehl, kann man einen Datenträger (sda) auf einen anderen Datenträger klonen. Hierbei gibt man die Blocksize an, um eine bessere Performance zu erreichen.

ACHTUNG: Die Datenträger sollten nicht im Dateisystem gemountet sein. Am besten eine Live CD verwenden.

dd if=/dev/sda of=/dev/sdb bs=2048

Fortschritt anzeigen

dd status=progress if=/dev/hda of=/dev/hdb bs=2048

Datenträger-Image erstellen

dd if=/dev/sda1 | pv -s18G | gzip | ssh -p2227 root@mx10.foxtom.de "dd of=/media/daten/backup/mx50sda1.gz"

Datenträger mit zufälliger Zeichenfolge überschreiben

dd if=/dev/urandom of=/dev/sda

Datei mit fester Größe erstellen

dd if=/dev/zero of=/mnt/name bs=1M count=500

Synchrones Schreiben

Um die Geschwindigkeiten eines Datenträgers zu testen, sollte der Cache des Betriebssystems abgeschaltet werden.

Lese-Cache: iflag=sync
Schreib-Cache: oflag=sync

Schreibgeschwingigkeit

dd if=/dev/zero of=/tmp/lesetest bs=1M count=1000 oflag=sync

Lesegeschwindigkeit

dd if=/tmp/lesetest of=/dev/null iflag=sync