dd unter OS X

Mit dem Befehl dd werden Daten aus einer Imagedatei auf einen Datenträger (SD-Karte, USB-Stick) kopiert. Der normale Befehl

sudo dd if=/path/to/source.img of=/dev/diskX bs=1m

führt meist zur Fehlermeldung „Device Busy“. Auf dem Mac reicht es nicht, den Zieldatenträger im Finder auszuwerfen. Es funktioniert nur, wenn im Terminal vorher der Befehl

sudo diskutil umountDisk /dev/diskX

ausgeführt wurde.

Nach dem Start von dd beginnt dann das große Warten. Leider gibt es standardmäßig keine Fortschrittsanzeige. Bei sehr großen Image-Dateien nervt das wirklich 😉

Eine einfache Lösung ist es, ein zweites Terminal zu öffnen oder mit CMD-T einen zusätzlichen Tab im Terminalfenster aufzumachen. Mit

ps a

sucht man such dann die PID von dd heraus und lässt sich mit

sudo kill -SIGINFO [PID]

den aktuellen Status anzeigen. Wem das zuviel Arbeit ist, der kann diese „Komplettlösung“ verwenden:

$ sudo -s
# diskutil umountDisk /dev/diskX
# dd if=Quellimage.img of=/dev/diskX bs=1m & pid=$!
# while true; do clear; kill -SIGINFO $pid; sleep 10; done