Today I had to move a linux root partition to another disk (in the same computer) because I needed more space. Instead of relying on programs such as partimage, I simply tried to use the command cp with option -a:
cp -a /mnt/source/* /mnt/dest/
where of course, /mnt/source is the mount point of the source partition and /mnt/dest/ is the (possibly empty) target partition.
Of course, I'm copying the root partition (/mnt/source) of another linux distribution, not the one where I'm executing this command. For instance, you can execute this command using a live distribution.
I then updated my /etc/fstabs (especially the version in the target partition) to use the new /dev device, and rebooted.
Everything worked fine :-)