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

7 Kommentare

  1. Hi.

    Kopiere ich ein IMG mit dd auf meinen USB-Stick (hier geht es um Ubuntu-NBR: http://wiki.ubuntuusers.de/Ubuntu_Netbook_Remix ) klappt diese Metode ohne Probleme. Mache ich das allerdings mit einem ISO-Image, geht es nicht.

    Ich hätte gerne das eeeubuntu auf meinem USB-Stick
    (http://eeebuntu.org/index.php?page=nbr). Da es aber ein ISO-Image ist geht es nicht mit dd. Er kopiert zwar alles rüber, aber ich kann davon nicht starten.
    Mit dem Ubuntu-NBR geht es wunderbar. Das liegt jedoch als IMG vor. Blöde Sache jetzt. Kann ich das ISO konvertieren oder muss ich etwas anderes tun?

    Hättest du eine Idee?


    • Ich denke, wenn es ein ISO ist, dann ist das eine Installations-CDROM. Du kannst das Image (ISO) entweder auf eine CD brennen, dann einlegen ins Laufwerk und davon installieren. Oder du kopierst es auf eine Festplatte oder USB-Stick, mountest es als CD-ROM-Laufwerk (mit dem mount Befehl auf der Komandozeile oder ein GUI deiner Wahl) und installierst dann von dort. In jedem Fall eine nicht ganz einfache Aktion, bei der man sich gerne das bereits installierte System zerschiesst – also Vorsicht und Backup vorher machen.

      Ein IMG ist im Gegensatz dazu das Abbild eines bereits einmal installierten Systems, das sektorenweise mit dd kopiert und daher mit dd auch wieder zurück kopiert werden kann.

      Hoffe das hilft dir weiter … Ingo


  2. Hi.
    Danke für die schnelle Antwort.

    Naja. Ich möchte ja neu installieren. Von daher ist kein Backup nötig ;-) . Es handelt sich um ein altes Linux auf dem ersten eee. Dem 704.

    Mit der ISO wird eine Live-Cd erstellt. Ebenso wie mit der IMG. Den weg über die CD (DVD) möchte ich ja eben nicht gehen. Hatte es auch vor einiger Zeit schon mal erfolgreich mit dd gemacht. Aber eben mit dem IMG. Nun bin ich eben auf diese Problematik gekommen. Geht halt doch nicht alles so einfach.

    Könnte ich denn ein IMG aus der „gemounteten“(was für ein unmögliches denglisch) ISO erstellen?

    Gruß


  3. Um aus einem Instalationsiso einen Installationsimage zu erstellen gibt es ein Programm für Windows und Linux, ob für Mac OSX weiß ich gerade nicht.

    Ich wollt mich bloß mal für die Anleitung bedanken, scheint zu klappen!


  4. Hi,

    bei mir dauert dd mit bs=1 ca gefühlt eine Ewigkeit, nach einer Stunde wurden erst 400Mb geschrieben. Die Befehle gebe ich sonst alle richtig ein und es kommt auch zu keiner Fehlermeldung? Bitte um Ratschläge


    • Ich kann mir gut vorstellen dass das einfach so lange dauert. Dieser Artikel ist ja schon sehr alt. Damals war eine Terrabytedisk im Privatgebrauch noch was sehr exotisches.


    • lass „bs=1m“ weg dann geht es viel schneller mit dem befahl bs sagt du dem rechner in wie grossen paketen er die daten kopieren soll.

      mit crtl+t kannst du dir anzeigen lassen wie weit der fortschritt schon ist.



Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: