There are several things that could be causing this, including serious problems with either your (a) hardware or (b) operating system. However you should first rule out simpler things before exploring (a) or (b).
First, check in System Preferences that your correct startup disk is specified.
Second, try resetting the SMC. http://support.apple.com/kb/HT3964 For your computer, I think the right instructions would be:
- Shut down the computer.
- Unplug the computer's power cord.
- Wait fifteen seconds.
- Attach the computer's power cord.
- Wait five seconds, then press the power button to turn on the computer
But read the above link and make sure you follow the directions for your computer. The SMC reset has fixed a very slow startup for me with an older iMac. It's worth a try and won't do any harm if it doesn't help.
Third -- your hard disk file system may need some repairs. One way to do this is start in safe mode. It can take a long time to boot in safe mode so be patient. See http://support.apple.com/kb/HT1455?