.img-File (disk image) unter Linux mounten

Um ein Datenträgerabbild bzw. ein disk image im Form einer *.img-Datei unter Linux zu mounten um dann auf dessen Inhalte zugreifen zu können, hat sich für mich folgendes Vorgehen bewährt:

Zuerst einmal ein paar Informationen über das Image anzeigen lassen:

fdisk -l /path/to/img/arch.img

Das ergibt dann folgende Ausgabe:

Disk arch.img: 15.1 GiB, 16172187648 bytes, 31586304 sectors

Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00057540

Device Boot Start End Blocks Id System
arch.img1 2048 186367 92160 c W95 FAT32 (LBA)
arch.img2 186368 31586303 15699968 5 Extended
arch.img5 188416 31584255 15697920 83 Linux

Uns interessieren nur die Start-Sektoren, also zum einen der Startsektor 2048 der FAT32 Partition und zum einen der Sektor 188416 der Linux Partition.

 

Um diese beiden Partitionen zu mounten erstellt man sich zunächst 2 Mountpoints:

mkdir /mnt/sd1

mkdir /mnt/sd2

Dann kann man auch schon die beiden Partitionen mounten. Den Offset mit den zuvor ermittelten Startsektoren anpassen (in meinem Fall 2048 und 188416). Solltet ihr eine andere Sektorgröße als 512 bytes haben, gilt es diesen Wert ebenfalls anzupassen.

mount -t auto -o loop,offset=$((2048*512)) /path/to/img/arch.img /mnt/sd1

mount -t auto -o loop,offset=$((188416*512)) /path/to/img/arch.img /mnt/sd2

Und schon kann man ganz normal über die Mountpoints auf die Daten zugreifen.

 

5 Comments

  1. sinh

    Great help just in time! Thx.

  2. Wing Art

    Vielen Herzlichen Dank! Das ist die einfachste Lösung die ich bisher zu diesem Thema gefunden habe. Leider lassen sich bei mir beide Partitionen nicht gleichzeitig mounten, da ich sonst die Meldung “overlapping loop device exists” bekomme.

  3. Me

    Kann mich den Vorpostern nur anschlissen – Genial einfach erklärt. Hat mir schon viele Umstände erspart. Hatte früher immer zusätzlich zum kompletten Disk-Image die einzelnen Partitionen für evetuelles Einhängen ins Dateisystem gespeichert. Das kann ich mir nun sparen. Danke.

  4. iFreilicht

    Super! Ich habe wie @WING_ART auch “overlapping loop device exists” bekommen. Das passiert wohl mit util-linux v2.29+. Hier muss man dann zum mounten der vorderen Partitionen den Parameter sizelimit angeben, im obigen Beispiel wären das dann:

    mount -t auto -o loop,offset=$((2048*512)),sizelimit=$(((188416-2048)*512)) /path/to/img/arch.img /mnt/sd1
    mount -t auto -o loop,offset=$((188416*512)) /path/to/img/arch.img /mnt/sd2

  5. Joe

    Danke für den Super-Tipp.

    Musste allerdings eine Kopie des Images machen, wenn gleichzeitig mehrere Partitionen des selben Images gemountet werden sollten.

Leave a Reply

Your email address will not be published. Required fields are marked *