Ok, it's not often that I recommend a commercial product (or it's actually even the first time for that matter), but I would like to recommend Image for Windows, Linux, and Dos.
Well, doing linux backups and full restores that I can boot is not an issue for me. I realize that some might have a bit harder of a time than I would doing a full linux restore from a boot floppy or CD, and making it bootable, but for the seasoned linux admin, it's not actually that hard.
Doing the same with windows is harder though. To this day I haven't found a good way to do a full file level backup of a windows partition that I can restore and then boot from (especially with ntfs and special file permissions, ACLs, and forks).
As far as I know, windows users just end up using a ghost like solution (i.e. block level backup and not file level backup).
Ghost is however a royal pain in the ass. First, there is not one ghost, but 2 mostly incompatible ones: Symantec Ghost (.gho images) and Norton Ghost (.v2i). Most people know the consumer version of Ghost, aka Norton Ghost which creates .v2i images.
What most people don't realize is that restoring those images if you get a full failure and need to recover from boot media, is actually not that simple. Some ghosts versions do not allow you to recover from the network at all, requiring a USB hard drive that's at least as big as what you're backing up (not always convenient or feasible). If you use the network/corportate Symantec ghost however, and spend enough time figuring things out, you can restore a Norton .v2i ghost over the network, but boy it's not easy.
Read more about Symantec Ghost vs Norton Ghost.
I personally gave up when norton ghost 14 gave me some bullshit error message that I couldn't backup a brand new laptop and compress the image. A search of the error code showed no reasonable fix, and that was enough to entice me to look for a new solution.
I looked at the linux solutions briefly, but didn't find anything that wasn't just a fancy dd, i.e. a full partition backup of all the blocks, whether they are used or not. This is not what I wanted, it's stupid a wasteful.
This is when I stumbled on a reasonably priced shareware program: image for windows (linux and dos). I ended up going with that for the following reasons:
it has full backup and restore support of all supported filesystems (unsupported ones just cause a full partition backup) from windows, linux, and dos
Filesystem aware backups and restores of FAT, FAT32, NTFS, EXT2, EXT3, ReiserFS, and XFS. What this means is that only used blocks will be backed up and in the case of windows, it can skip the backup of the hibernation file and the windows paging file.
the restore supports built in filesystem resize for all those filesystems (no small feat). The only caveat is that if you're restoring a 30GB partition, you need 30GB of partition space before you can resize down to 10GB if you only have let's say 5GB of data.
you can backup or restore to vmware virtual disks without being inside vmware. This is pretty cool since it lets you restore and boot an image without having a machine to restore on.
the windows client has a driver to backup a running system and read open/locked files (trivial on linux, but not on windows).
there is simple but good enough automated backup support for windows (linux is of course easy by using cron, but I really don't need this for linux since rsync to an nfs server will work fine too).
network restores are easy by using either a custom made bootcd with windows (using UBCD4win) or simply booting any linux rescue CD (or the program can make one for you), mounting whatever network share over nfs or smb and doing your restore that way.
the PDF docs are pretty good, the programs have good flags for automation from the command line
the email support is just about the best support I've ever had for a commercial program. There is no SLA or phone number to call, but I've had answers most often within an hour or less 7 days a week so far.
there is a basic program to open up backup images and extract individual files from linux and windows.
the shareware is not crippled in a way that the program is not usable: you can do full backups and restores to properly evaluate the software (you do have to restore backups after 30 days, which is more than reasonable).
it's not open source, no, it's not free as in beer, but neither is ghost and at least this one works and has both a native linux and windows client. Considering that the open source versions don't come close in features, I'm more than ok with using a reasonably priced closed source/commercial app here.
No Mac support, but I'm guessing Mac can be backed up about as easily as linux machines, with rsync and some rescue media to copy the files back over, so support is not as necessary.
You can read more about it and download it from here (windows version includes full linux client too, or linux client can be gotten directly here)
Separately, while I was doing my search, here are other options I found:
G4L (Ghost for Linux) and Ping (Ping is not Ghost) didn't seem to be anything more than fancy DDs that were not filesystem aware, and of course they would not backup a running windows system
partimage also looked interesting, but it doesn't quite seem finished, especially for ntfs support.
clonezilla looked more interesting. It uses ntfsclone which is a pretty cool ntfs partition copier that skips unused blocks (and for bonus points, it uses spartse blocks to make a disk image you can otherwise mount over loopback). Along with ntfsresize, it's not bad for backing up a non running ntfs partition. If you don't need to backup a running windows partition, clonezilla ain't bad.