It doesn't matter the file sysem as it is a RAW read and write. Because of which you might want to zip the file up.

use this to do it


Code:
dd if=/dev/hda(or other drive) | gzip -(1 through 8 with 1 being fastest and 8 having best compresion, --fast =1 --best =8) -c | dd of=~/sambabu/hda.img.gz
changing files and folders as desired. (I sent it over to a windows computer)

then to put it back run
Code:
xcat ~/sambabu/hda.img.gz | dd of=/dev/hda
once again changing things as desired.