From UIT
Jump to: navigation, search

Here is some commands for playing with disk and partition images. Feel free to have a look at libguestfs tools, they are very handy (apt-get install libguestfs-tools).


Mounting a filesystem image for editing

# Create a destination directory
mkdir /tmp/toto
# Mount your existing filesystem image into it
sudo mount -o loop image.bin /tmp/toto
# Now you can see what is in this filesystem image and change the files ;)
# Don't forget to umount when you're done


sudo umount /tmp/toto

Create an ext4 image from a sdcard

sudo dd if=/dev/sdcard of=/tmp/image.bin

Restore the sdcard

sudo dd if=/tmp/image.bin of=/dev/sdcard

dd status

Sending the user signal 1 will force dd to output it's progress.

kill -SIGUSR1 `pidof dd`

Creating an empty partition image

dd if=/dev/zero of=/tmp/image.bin bs=1M count=512 # a new 512M image
mkfs.ext4 -F /tmp/image.bin # "format" the disk image, works as a normal user !

mount a multi-partition disk image

modprobe nbd max_part=16 # this module is used to mount image of disks (not only partitions)
mkdir /tmp/toto # create a temporary directory
qemu-nbd -c /dev/nbd0 image.bin # this must be a full disk copy, including partitions
mount /dev/nbd0p1 /tmp/toto # p1 is the first parition and so on
# when done :
umount /tmp/toto
qemu-nbd -d /dev/nbd0
Personal tools