The problem you have is that scp/rsync etc are not preserving the holes. All the empty blocks are being allocated on the disk and take up real space. cp can handle such files, read the man page about sparse files. Another option i have used in the past it to create a cpio archive using --sparse, copy the cpio archive over and then unpack it, again with --sparse. When atempting to use cpio --sparse, I get an error that sparse cannot be used when creating a file. How would you include sparse in the cpio command line? I discovered rsync uses a sparse flag and it seemed to be working fine but then erred out at the end as in other attempts: rsync -av --progress --sparse /home/raymond/LV2/NLS-Storage/NLS-Storage-flat.vmdk /home/raymond/sdf/NLS-Storage/NLS-Storage-flat.vmdksending incremental file list NLS-Storage-flat.vmdk 1,610,924,554,240 100% 236.33MB/s 1:48:20 (xfr#1, to-chk=0/1) rsync: read errors mapping "/home/raymond/LV2/NLS-Storage/NLS-Storage-flat.vmdk": Input/output error (5) WARNING: NLS-Storage-flat.vmdk failed verification -- update discarded (will try again).