Before you proceed, you should create a backup of your disk, just in case. I recently fixed a computer for my girlfriend's father which had severe boot problems, and was really lucky that a full backup was the first thing I did, because after a few day, the harddisk suddenly stopped working completely.
So, if there is any chance that the harddisk is actually damaged, create a FULL backup NOW! Unless you do not want any of the files contained on it. You can use robocopy with a USB disk, or create a system image using either Windows Backup and Restore or Sysinternals Disk2VHD, depending on what you can still use on the system. robocopy should work within the RE.
Try running a thorough chkdsk, with re-evaluation of bad blocks, maybe there really is some damage to your hard disk.
I would suggest this command:
chkdsk [drive]: /V /F /R /B /X
V just gives you more information about what is currently happening, but might be interesting, F is probably redundant because of R and B. B re-evaluates bad sectors, and X forces the system to dismount the drive, to avoid interference by other processes.
Depending on your hard disk size and the amount of data on it, this might take LONG. My 160GB netbook harddisk needs about 40 minutes (I did not measure it, but this is usually the time I have between getting up and leaving the house, and it finished within that time). Empty disk space is processed more quickly than actual files, so if your disk is very full, it will take much longer than on an empty disk.
You should avoid checking multiple partitions on the same disk at the same time (possible within the recovery environment), as this will SEVERELY slow down the process, but different disks can be checked at the same time with no significant loss of performance.