I would try Git. And for help getting started, GitCasts were great for me. Specifically, you probably want to checkout Git on Windows.
But for versioning all the files on your system, I'm not sure how well it would work. Git was designed with mainly versioning source code (text) files in mind, not a whole system. It works fine for me with other types of files, but I haven't used it at that magnitude. I would wait to see if someone else is able to give you some ideas designed for what you have in mind before messing with this. I believe this would apply to Subversion as well.
Also, as Shevek pointed about Subversion, this would take some work getting it to automatically version your files. But, all it would take is running
git add -A and then
git commit -m "Some message" whenever you want to save a version. Of course, you could probably write a script to do this for you.