dd (Disk Dump)

I use the UNIX dd command (on Linux). It creates a bit for bit copy of a file (or device), in this case a partition or entire disk. Before I install Windows on a disk, I make sure the bits are zeroed out (shred -z) so that whatever space Windows is not using compresses well. I have an image of a fresh XP install on an 80GB disk which only takes up 1.7GB (the size of the disk doesn't really change the image size any). You should be able to do this with any bootable Linux disk.
Here's my script for backup:
dd if=/dev/sdb | bzip2 > /linuxDisk/xp.img.bz2

And for restore:

bunzip2 -c /behemoth/backup/xp.img.bz2 | dd of=/dev/sdb

/dev/sdb should be the device your Windows install is on.

SyncToy v2.0 Beta

I use it for local backups to USB drives and also in conjunction with SftpDrive to backup to my BSD machine at work.