I've never seen this problem before. It doesn't make much sense. Grub works in stages. If you're getting the grub prompt, then grub is loaded in the master boot record. It sounds like it's not passing control over to grub stage 2 (the menu). Stage 2 Should not have been affected, because it should be located on your linux partition (in /boot/grub). The only thing I can guess is that scandisk saw something in the mbr that it thought was an error, and "corrected" it.
NOTE: If someone reading this thinks they know more than I do, THEY ARE PROBABLY RIGHT! Feel free to correct me.
Most distrobutions have a rescue function on their install CD's. You may want to try this first. I don't know, but I would assume that Fedora can rescue your mbr.
You can also get your system to boot from the grub prompt. Edit and use the following lines:
kernel (hd0,1)/boot/YourKernelName root=/dev/hda2 1
initrd (hd0,1)/boot/YourInitrd ( <- May not be needed)
boot
I'm not a master of the grub command line, so some additional research may be needed. I don't think you need the "root " command, if you do, then point it at your grub directory before the other commands.
Grub numbers partitions oddly. the (hd0,1) in my example above is the same as /dev/hda2. Every number is one lower than you would expect. (hd0) is the primary drive; (hd1) is the secondary; (hd0,0) is the first partition on the first drive; (hd0,1) is the second partition on the primary drive. You get the idea.
If you don't remember the names of your kernel/initrd, then get them typed in as far as you remember, and push tab. Most systems have symbolic links from "vmlinuz" and "initrd" that point to the real files. You can try those.
This command should load the kernel and dump you into the bash prompt logged in as root user. Since the line above is far from complete, the kernel may not support some things. Just concentrate on getting grub reinstalled into the mbr. typing "grub" should bring up a grub prompt, this time it should be able to reinstall to the mbr. I'm not sure the exact commands, but I think you need to do something like this:
root /boot/grub
setup (hd0)
If I'm not missing something (I'm sure I am) then this should restore your system (going from my initial assumption above). More information about grub commands can be found at:
http://www.gnu.org/software/grub/manual/
It's not the most intuitive manual, more information can be found elsewhere.
(If you need to get into windows in the meanwhile,modify this to point to your windows partition:
root (hd0,0)
chainloader +1
boot
)
Last, but not least: How to get windows to stop doing this. Still assuming the problem is a change that gets made to the mbr, the answer is actually a motherboard setting. Many motherboards have a setting in the CMOS setup (aka BIOS settings) called something like "virus protection". What that does is prevent anything from writing to the mbr of the hard drive. Once you get up and running again, see if you have that option available. It should prevent anything (includeing windows) from messing with your grub stage 1.