Yeah, there are a bunch of backup software projects that do just that. Just do a search, and you'll see..there are both commercial and non-commercial ones, and you can write your own little backup script using the usual Linux/Unix tools if you wish.
Though reinstalling an operating system is a bit of an overkill if your bootloader gets corrupt (by the way: how could you access Windows, if the bootloader was trashed? or was it just the bootloader configuration that didn't work for your Linux operating systems, and in that case are you sure it was just the bootloader configuration and not for example you having overwritten either OS?). You could just reinstall the bootloader, which takes something like a second or so
And then reconfigure it - there are some scripts that do this automatically, or you can just add the entries yourself, copy-pasting and modifying each one a little.
At least Fedora used to offer a "rescue disc" from which you could boot and reinstall Grub with two commands (root and setup) and have it work. And if you don't have it, it's ok, because you can use pretty much any Linux live-cd (like Ubuntu or Kubuntu desktop disc, Fedora live-cd, Knoppix, ...) to boot, mount your harddisk partitions, enter a chroot environment and re-run the Grub installation commands (or Lilo, if you use that).
As an addition: to backup your personal data, simply backup (copy, preserving permissions and what you like) your home directory (/home/username). To backup system configuration, copy the configuration files you want to preserve. Programs you can always get from the web, and if your package manager can import/export a list of packages installed/to be installed, you can deal with that easily too - export a installed-packages list of a working system, and after reinstallation import it to the package manager asking it to install everything in the list that is not installed already.