If could be a hard drive problem, or something else.
If its the hard drive, and just part of the drive is corrupt (which does happen) - its worth drying to boot your machine using bootable removable media, either a memory stick or more usually a CD. if you've not prepared one in the past (a so called 'rescue disc', then you can download (on another machine) a free (and legal) bootable CD image, which you then blow to a CD. There are lots of Linux "distros" which provide that. Once up and running, although it may well look very unfamiliar, you are likely to be able to retrieve your date from the disc, even if other parts of the disc are corrupt.
It won't repair your machine, but it can help you save your data.
If this is something you want to do, I'll find the URL of a decent linux you can try downloading, but as I said you will have to download and create the media on another machine.