There are many ways to do that, one of which is using the tools provided by vmware to combine the disks into one and then mounting it with
kpartx -av mydisk.vmdk;
Then
mount -o /dev/mapper/loop0p1 /hds/disk
While another method, which is simpler
apt-get install qemu-utils qemu-img convert disk-s001.vmdk s01.raw .... qemu-img convert disk-s013.vmdk s13.raw .... qemu-img convert disk-s032.vmdk s32.raw
The above will be sparse files, so you will not have disk usage as big as the file, a “df -h” should not result in any lost of disk space beyond the data that is used by files in the image
following the above, we need to combine the RAW files like so
cat s01.raw s02.raw s03.raw s04.raw s05.raw s06.raw s07.raw s08.raw s09.raw s10.raw s11.raw s12.raw s13.raw s14.raw s15.raw s16.raw s17.raw s18.raw s19.raw s20.raw s21.raw s22.raw s23.raw s24.raw s25.raw s26.raw s27.raw s28.raw s29.raw s30.raw s31.raw s32.raw > combined.raw
losetup /dev/loop0 combined.raw kpartx -a /dev/loop0 mount /dev/mapper/loop0p1 /hds/img1
THANK YOU !!!
it worked like charm. My .vmdk file was corrupted and I only had the -sxx.vdmk ones, with your tutorial I was able to mount it and get all my work back.
cheers,
Andre
Thank you for your article. qemu-img now knows what to do with multipart vmdks and you can just run as follows:
qemu-img convert -p disk.vmdk combined.raw
Also of note, if your disk image has multiple partitions and you do not have kpartx handy, you can use fdisk and a bit of math:
fdisk -l combined.raw
Device Boot Start End Sectors Size Id Type
combined.raw1 * 2 999999 2000 1G 83 Linux
losetup -o 1024 /dev/loop0 combined.raw # 1024 = 2(Start)*512
mount /dev/loop0 /hds/img1