well for the redhat part why don't you do two things
man fsck
then when you understand what this utility is used for;
boot into single user mode and type fsck /
this is basically the linux/UNIX equivalent of scandisk/defrag;
this will let you know if there are any bad sectors on your nix slices; if it returns an error it "should" fix it, if i cant fix it you'll know, on the windows side you could do the same if you can access it, defrag then do scandisk, also you might have a corrupt MBR (master boot record) but i'd think if that was the case your system wouldnt be able to choose between redhat and linux;
also, i havent done it recently but you can do
cat /etc/fstab and this shows your file system table, one of those /dev/hdaXX should be your /mnt/windows or something related to your windows partition, you could mount that partition and fsck /partitionname from *nix which could fix errors if windows isnt bootable
make sense?
lemme know if you need further assistance, if there's one thing i know it's UNIX/Linux (10yrs sysadmin), you guys have the oc'n,mainstream hardware knowledge on me though
aix