You may have a problem with something that's trying to load at startup.
While you are in safe mode , click run, then type msconfig.
You can run a diagnostic startup from the General tab to see if your Windows loads normally.Just click diagnostic startup and apply.
If it loads normal, then go to the msconfig again recheck normal startup tab, then see what you can uncheck that is not vital and you don't need. Click apply again. Let me know how did it turn out.
One more question : Have you installed something recently? Then try to uncheck that from startup if it's there.