Have you tried booting in single user mode by holding;
+ command (apple button) and s
while starting up.
next type;
sbin/mount -uw /
then;
fsck -y
If it says it was modified
do this again;
fsck -y
when finished type;
reboot
it sounds like a hard drive issue...