Back in the day (late 90s) I worked with a school who partitioned their desktop systems into two drives, the main Windows drive and a secondary hidden drive which held a system image for easy restore when the users inevitably screwed up the main Windows drive. They could restore an entire computer suite in half an hour (or so they claimed). I've been trying to replicate this setup but failing.
I'm aware of Ghost and Clonezilla but they're not working quite right for me. Ghost is a commercial product which would be a problem for us - we'd then have to license that to the people we're selling Desktops to, which although isn't the end of the world is a lot of admin work in tracking licenses. Clonezilla isn't quite right because it's not automated enough - you have to mount the drives, find the image, then restore it to the right place; I want a boot option which will let the users do all of this automatically.
I'm aware of system manufacturers who provide this sort of setup, HP in particular, but we mostly work with refurbed machines of all different manufacturers and I'd like a solution to handle every machine. And yes I know the image would have to be created for each machine, so I'm hoping that can be automated as much as possible too.
Is there some better software that will handle this or am I going to have to start creating something myself?
You actually wouldn't need to license Ghost to them, just XP. But you do need to buy licenses for the number of computers you are ghosting.
My recommendation would be to use Clonezilla. Load the image on a USB drive or thumb drive then when you have to image a computer just pop in the USB drive or thumb drive, pop in the CD, and restore. Very easy, no mounting of drives necessary, and should be very quick.
Acronis is not free, but its "Secure Zone" feature within its "True Image" product fits what you described - http://www.acronis.com/homecomputing/products/trueimage/tour/5/.
You can use RIS or WDS to do what you are talking about. Create the RIS/WDS server, create your images, then if the client needs to be "re-imaged" you reboot and "boot to network/PXE" and then your local RIS/WDS server will boot the client and allow you to select the image you want and then...well...reimage the PC.
More info:
http://en.wikipedia.org/wiki/Remote_Installation_Services
http://en.wikipedia.org/wiki/Windows_Deployment_Services