Posts Tagged ‘umount’

h1

Diskimage-File (img) mit dd auf OS X erstellen

1. Juli 2009

Wer z.B. ein ext2fs oder ext3fs in Form einer startfähigen Speicherkarte oder anderen Mediums hat, möchte davon vielleicht eine Kopie in eine Datei oder auf ein anderes Medium erstellen. Das Festplatten Dienstprogramm von OS X eignet sich dazu nicht. Dafür kann das aus der UNIX-Welt kommende dd (disk dump) dies erledigen. Und so geht es:

Um von einer Disk (z.B.  SD-Karte mit startfähigem Ubuntu-Linux) eine Kopie in eine Datei zu erzeugen und diese dann für die Erzeugung beliebig vieler „Clones“ dieser SD-Karte zu verwenden, gebe man diese Komandos auf der Komandozeile (im Terminal) von Mac OS X ein:

$ sudo -s 
# diskutil list
/dev/disk0
 #:                       TYPE NAME                    SIZE       IDENTIFIER
 0:      GUID_partition_scheme                        *232.9 Gi   disk0
 1:                        EFI                         200.0 Mi   disk0s1
 2:                  Apple_HFS Macintosh HD            232.6 Gi   disk0s2

# --> Einlegen der SD-Karte mit dem z.B. starfähigen Ubuntu

# diskutil list
/dev/disk0
 #:                       TYPE NAME                    SIZE       IDENTIFIER
 0:      GUID_partition_scheme                        *232.9 Gi   disk0
 1:                        EFI                         200.0 Mi   disk0s1
 2:                  Apple_HFS Macintosh HD            232.6 Gi   disk0s2
/dev/disk1
 #:                       TYPE NAME                    SIZE       IDENTIFIER
 0:     FDisk_partition_scheme                        *3.7 Gi     disk1
 1:                      Linux                         3.5 Gi     disk1s1
 2:                 Linux_Swap                         219.6 Mi   disk1s5

# --> Ok, wir wissen nun dass diese als /dev/disk1 angesprochen werden kann.

# diskutil umount /dev/disk1
# dd if=/dev/disk1 of=Zauberkarte.img
7729152+0 records in
7729152+0 records out
3957325824 bytes transferred in 631.937897 secs (6262207 bytes/sec)
# --> Der Inhalt von disk1 wurde nun in die Datei Zauberkarte.img kopiert

# --> Die Karte, von der kopiert wurde aus dem Kartenleser nehmen und
#     stattdessen die neue, zu überschreibende Karte einlegen.

# diskutil list
/dev/disk0
 #:                       TYPE NAME                    SIZE       IDENTIFIER
 0:      GUID_partition_scheme                        *232.9 Gi   disk0
 1:                        EFI                         200.0 Mi   disk0s1
 2:                  Apple_HFS Macintosh HD            232.6 Gi   disk0s2
/dev/disk1
 #:                       TYPE NAME                    SIZE       IDENTIFIER
 0:     FDisk_partition_scheme                        *3.7 Gi     disk1
 1:                 DOS_FAT_32 NO NAME                 3.7 Gi     disk1s1

# diskutil umountDisk /dev/disk1
Unmount of all volumes on disk1 was successful

# dd if=Zauberkarte.img of=/dev/disk1 bs=1m
3774+0 records in
3774+0 records out
3957325824 bytes transferred in 617.424331 secs (6409410 bytes/sec)

# --> Fertig, die Karte im Leser ist nun eine exakte Kopie des Images Zauberkarte.img

Fehler „Resource busy“:

Es kann folgender Fehler beim Kopieren der IMG-Datei auf die frische Karte auftreten: dd: /dev/disk1: Resource busy

$ diskutil umount /dev/disk1
$ sudo dd if=Zauberkarte.img of=/dev/disk1 bs=1m
dd: /dev/disk1: Resource busy

Der Fehler war, dass anstelle von umountDisk der Befehl unmount verwendet wurde, das nur einzelne Partitionen und nicht die ganze Disk aushängt.

So ist es richtig:

$ diskutil umountDisk /dev/disk1
Unmount of all volumes on disk1 was successful
$ sudo dd if=Zauberkarte.img of=/dev/disk1 bs=1m

Advertisements