Imagedatei .img mounten

Aus SiWiki
Wechseln zu: Navigation, Suche

Image-Dateien sind (meistens) keine Abbilder von Partitionen sondern von ganzen Disks. Das heisst, sie starten mit einem Bootloader und einer Partitionstabelle. Gemountet werden können aber nur Partitionen. Darum muss zuerst der Offset der zu mountenden Partition gefunden werden.

Den finden wir mit fdisk: fdisk -l Imagedatei.img

Zum Beispiel:

$ fdisk -l Image.img

Disk Image.img: 1.4 GiB, 1541160960 bytes, 3010080 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: 0x063753c1

Device     Boot  Start     End Sectors  Size Id Type
Image.img1 *      8192  262143  253952  124M 83 Linux
Image.img2      262144  327679   65536   32M ef EFI (FAT-12/16/32
Image.img3      327680 2805279 2477600  1.2G 83 Linux

Dieses Image hat 3 Partitionen, .img1 wahrscheinlich die Bootpartition, .img2 der EFI Loader, und .img3 die Root-Partition.
Die Platte hat eine Blocksize/Sectorsize von 512 Bytes.
Der Offset der Root-Partition ist somit 512 * 327680 = 167772160, also Blocksize mal Startsektor der Partition:

$ echo $((512*327680))
167772160

Nun der Loop-Mount:

$ sudo mount -o loop,offset=167772160 Image.img /mnt/temp

Die Partition ist nun unter /mnt/temp/ zu finden.