First, let me say I have a very small amount of experience imaging drives, so I probably don't know what I'm talking about.

There is quite a lot of imaging software available for Windows, the most well known being Norton Ghost. It's been several years since I used it, but I seem to recall that it is capable of taking an image and applying it remotely or from a second drive.

What I'd do is use dd on Linux to create an image file and compress it using p7zip or something:
Code:
$ dd if=/dev/sda1 of=~/image.img
$ 7z a ~/image.7z ~/image.img
Then to restore:
Code:
$ 7z x ~/image.7z
$ dd if=~/image.img of=/dev/sda1
I've used dd to reimage a flash drive and to restore the first sector of a flash drive before, and there were no problems.

I had a Gateway years ago that was pretty much impossible to get any component out of. I had to bend the case to take out the hard drive.