I use 'dd' on linux. It does a byte by byte copy of the device. It doesn't look at or care about the format or contents. It's just a raw dump. It's not as friendly as ghost, or similar apps. But, it's free, and it just works.
Boot from a linux rescue floppy, or Knoppix boot CD (or just boot into Linux, if it's on a seperate physical disk).
dd if=/dev/hda of=/mnt/hdb/diskimg
or, if You have Windows in a partition on a shared disk, you could do somthing like this: dd if=/dev/hda1 of=/home/tji/windows.img
You could also use gzip or bzip, to compress the image down nicely: dd if=/dev/hda | gzip -9 > /mnt/smbsrv/winimage.gz
To extract it, just switch if & of:
dd if=/mnt/hdb/diskimg of=/dev/hda
or, gzip -d /mnt/sbbsrv/winimage.gz | dd of=/dev/hda
---
Warning.. As with most low level Unix/Linux tools, it gives you more than enough rope to hang yourself. You can easily overwrite something you didn't intend, or trash your system in various ways. So be careful.
But, typical of Linux, there are also some cool hacks to verify the image, etc. If you did a partition backup, you can mount that image, just as if it was a physical disk or ISO CD-ROM/DVD image:
mount -t vfat -o loop windows.img /mnt/windows
mount -r -t ntfs -o loop winxp.img /mnt/winxp
mount -r -t iso9660 -o loop RH90_disk1.iso /mnt/cdimg
You can also do that with complete disk images, by specifiying the offset to the partition, but that's much trickier.