Whenever I assemble and configure a Linux PC for someone, I always run into the problem of what happens if they want to restore their system back to the way it was when they got it. Either they screwed up something bad to where the system no longer works, or their hard drive died (or they want to upgrade to a bigger hard drive), etc. Usually, when something like this happens, I have to have them bring the machine back to me, and I basically repeat all the steps I took when I configured it for them in the first place.
I am wondering if there is a way that, once I have the system configured and working, I can save an image of the fully-installed-and-configured system. Then I somehow create a CD/DVD or a USB key that I can give them that, if booted from, wipes the hard drive and restores the fully installed system, including any custom apps, configuration files, drivers, etc.
Basically I would like to create the Linux equivalent of the "system restore" CDs that typically come with Windows PCs. I am looking for something that would ideally fit on one (or a few) DVDs (or a USB key) and is completely automated... boot it, and it basically does all the work (format the drive, restore the OS, etc.) with as little user interaction as possible (aside from a screen explaining what the tool is about to do, along with a "Are you REALLY, ABSOLUTELY, POSITIVELY SURE you want to do this?" sort of prompt).
I know Clonezilla can create an image of a fully installed system, as well as restoring said image (I believe it can even resize partitions, e.g. if you are restoring to a system with a bigger hard drive than the original system). If I am mistaken please let me know. But as far as I know, you can't create a CD/DVD/USB stick that boots Clonezilla and automatically performs a restore. Or can you? And are there any other software packages out there that are better suited to my needs as described? Would prefer a F/OSS tool, but I would consider a commercial product as well.