Could have corrupt files or missing drivers or anything. Have you installed or done anything before any of this happened? Have you tried running it in safe mode to diagnose what is causing the hang to occur? You can also access msconfig through the start menu to check which processes and/or programs during start up and disable those, then run a malware check/virus scan for any strange files etc... Good luck!