Do you have a bootable disk? Like a live Linux cd or a Windows operating system install disk, or even something like the Ultimate Boot disk?
If so, set the bios to look for the optical drive first when booting. Put a bootable disk in the drive and start the machine. See if the drive has any problems reading and going into the menu of one of these disks.
This will isolate the drive/hardware of the computer from the operating system you have installed on the hard drive. It may not solve anything, but is a basic step in trouble shooting. If the drive can work properly outside the operating system, you know there isn't a problem in the hardware.
At that point, you may be looking at going to restore point prior to the start of the problems, or possibly a repair install of the operating system. SAVE your data before doing a repair install.