Zipped hard drive image very big

How is that? Shouldn't gzip manage to compress all those zeros?

Yes, if they were zeroes.

Unused disk space does not mean it contains zeros; it means it is unused, and may contain anything.

There are programs that wipe unused disk space to zeroes. I suggest you use those before making the disk image. (I don't recall any offhand; in Linux, I'd just use dd if=/dev/zero bs=1048576 of=somefile to create files containing only zeroes, filling up each filesystem; then remove them before making the image. Also, I prefer xz over gzip.)


For backups of individual partitions you could use partclone instead.

Partclone reads the file system to see where files are stored, and backs up only those parts of the partition.