Has it been moved recently? First thing I'd do is open it up and make sure all the cables, drives and ram are sitting properly especially the HDD cables. I've had the same problem when my HDD has been full too and had to boot it as a slave from another PC in order to delete a lot of the rubbish on it.
__________________
<Please insert something witty of your own choosing here>
try removing and reseating all cables, PCI cards and memory. Also remove some bits that may not be necessary to boot, to eliminate them. i.e sound cards, usb devices plugged in - get the system back to basics and see if it will boot like that.
Also - if you can get into safe mode, get in and back everything up! all the files and settings you will lose if you have to format and re-install your C drive if all else fails. Back up while you can!