I'm a bit of tester too. And I'm a bit... no, maybe very lazy so I use very ofter imaging programs to make backup images and restore them automatically.
Just thought it may be a good beginning A free and simple solution. Not completely automatic though...
You can follow these simple steps:
1. Make at least two partition on your hard drive - first one (C: ) will be for your system and the second one (D: ) will be for your data. There could be a few more partitions if you like. I don't recommend using Acronis products for creating partitions because it has its own understanding on the subject and other tools could not work after Acronis. (Please note that I only say about manipulating with partitions, making and restoring images with Acronis should be fine.)
2. Install Windows on first partiont (disk C: ), install needed programs and move all sensitive data to disk D: (like mail store folders, Documents folder, Profile folder in Opera, bookmarks in FireFox, etc.). It usually can be done through programs settings or (in some hard cases) manually through editing their configuration files.
3. Make BootSDI project with imaging app DriveImageXML. Make image of disk C: (system partition) and save it on disk D: (you can create a folder "Backup" on D: if you wish for different systems images - why different, I'll explain later
4. Create folder BOOT on disk C: and place there: NTDETECT.EXE and SETUPLDR.BIN (last one from Windows 2003 SP1 for booting in RAM, it was long ago and I also don't remember if I hex-edited it for path change?).
5. From BootSDI project with DriveImageXML take only BootSDI.ima file (extention doesn't metter, I just don't remember which it is...) and place it in BOOT folder.
6. Create text file WINPE.SIF and save it on disk C: . Contents of WINPE.SIF:
[SetupData] BootDevice = "ramdisk(0)" BootPath = "\I386\SYSTEM32\" OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportashd /rdpath=\boot\WinPE.ima"
7. Place GRLDR file (withoug extention) from Grub4DOS package on disk C: too.
8. Create text file MENU.LST (not the extention) and save it on disk C: too. Contents of MENU.LST file:
color white/red black/red default 0 timeout 10 title Start Windows root (hd0,0) chainloader +1 title WinPE find --set-root /grldr chainloader /boot/setupldr.bin title Reboot savedefault --wait=2 reboot title Shutdown halt
9. Add to BOOT.INI one line with "GRLDR" and change "timeout" from default 30 to, say, 5 seconds:
[boot loader] timeout=5 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Start Windows" /execute /fastdetect C:\grldr="Restore"
So, what we have: every time you boot your computer, you will see boot menu with two choices: "Start Windows" and "Restore". If you don't touch anything Windows starts normally in 5 seconds. But if during these 5 seconds you choose "Restore", WindowsPE will boot in RAM. And from there you can restore any backup image from your D:\Backups folder. It can be previously installed and configured system from step 2 or you can install any system (Windows?) you want on C: , configure it, make bakup and restore any time. It means you can have Win9x, Windows 2000, WinXP, Server 2k3, etc. backup images and restore any of it any time you need to work in a specific version And you won't violate licence because you only have one system on one computer at a time
Now you want to test something. Ok, run your test and if something is going wrong just reboot your computer, choose "Restore", boot in PE and restore your freshy Windows ready for new tests again in a few minutes
Well, if you are able to write scripts, you can try to automate the procedure of autorestoring backup images
Next guides will be for auto-resoring and auto-making images with some commercial appz like DeployCenter and Norton Ghost.