Mount SD card image (partitioned image) w/o kpartx¶
This page hasn't recently updated. Information found here could be outdated and may lead to missconfiguration.
Some of the links and references may be broken or lead to non existing pages.
Please use this docs carefully. Most of the information here now is only for reference or example!
If you are working with SD card image I pretty sure that you were in the situation when you had to mount the image before write it to the SD card.
Particular example when you want to modify
cmdline.txt in a Raspberry PI image (because you want to use different partition for booting).
With kpartx utility¶
If your system doesn't have
kpartx utility install it for example with
apt-get install kpartx command in case of Debian-Like systems.
For demonstration I use
set up loop devices
losetup -f 2016-05-27-raspbian-jessie-lite.img
(optional) Check the loop device
Create device maps from partition tables
(optional) Check mapped partitions with
Mount these partitions
losetupcommand, it should return with "nothing".
Without kpartx utility¶
It is possible to mount partitions inside an image without kpart utility as well, but I think this way a little bit more complicated.
Follow these steps:
Determine the size partitions (where is it started and ended)¶
u b and enter. --> This will change the display unit to bytes.
parted 2016-05-27-raspbian-jessie-lite.img GNU Parted 3.2 Using /home/vinyo/Downloads/2016-05-27-raspbian-jessie-lite.img Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) u b (parted) print Model: (file) Disk /home/vinyo/Downloads/2016-05-27-raspbian-jessie-lite.img: 1387266048B Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 4194304B 70254591B 66060288B primary fat16 lba 2 70254592B 1387266047B 1317011456B primary ext4 (parted) q
Set up loopbak devices¶
As you can see there are two partition inside the image file. We need to create two loopback device for them:
Please double check the offset and sizelimit parameters!
Mount the partitions¶
df -hT /dev/loop* Filesystem Type Size Used Avail Use% Mounted on /dev/loop0 vfat 63M 21M 43M 33% /mnt/tmp1 /dev/loop1 ext4 1.2G 738M 389M 66% /mnt/tmp2 udev devtmpfs 10M 0 10M 0% /dev udev devtmpfs 10M 0 10M 0% /dev udev devtmpfs 10M 0 10M 0% /dev udev devtmpfs 10M 0 10M 0% /dev udev devtmpfs 10M 0 10M 0% /dev udev devtmpfs 10M 0 10M 0% /dev udev devtmpfs 10M 0 10M 0% /dev
After you are done with you work unmount everything.
Unmount the partitions¶
root@debian:~# umount /mnt/tmp1 /mnt/tmp2/ root@debian:~# losetup NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE /dev/loop0 66060288 4194304 0 0 /home/vinyo/Downloads/2016-05-27-raspbian-jessie-lite.img /dev/loop1 1317011456 70254592 0 0 /home/vinyo/Downloads/2016-05-27-raspbian-jessie-lite.img root@debian:~# losetup -d /dev/loop0 /dev/loop1 root@debian:~# losetup root@debian:~#