Back when I used Windows as my primary OS, error messages like this were essentially the story of my life. For the most part, I had to stop using system restore to fix my problems because the restores took forever, and ended with generic error messages, rendering any attempt to restore my system useless. This was with Windows XP, where you at least had more than one or two restore points to go back to. Starting with Vista, I considered myself lucky if I had two restore points, both of which would take even longer to fail.
Now, on GNU/Linux systems, I don't have any system restore-like functionality, but I do have tools like Live CDs (complete with fully-functional graphical environments) and chroot, which gives me ample opportunity to dive deep into my broken OS to fix various problems and/or reinstall from scratch.