Have you tried booting in safe mode ?
You could also try verbose mode boot too.
How old is your hard drive ? Have you checked it ?
But quite frankly, you could easily spend a week or more diagnosing this sort of problem, trying to find solutions, testing all sorts of combinations and basically just digging yourself into a deeper hole by fiddling with stuff ...... the easier option may just be to reformat, re-install and restore files from backups.