This is the type of thing you are going to have to track down with trial and error. It might take a while, but first, have you installed anything new, or allow any hardware driver updates?
If you can't think of anything, the next step is probably to use msconfig.exe to eliminate some possible culprits. So open MSconfig and on the general tab, select Diagnostic startup. As it says, it is almost like Safe Mode.
If that works, move to the next one down and pick what you want to try loading.
You could next move to the Services tab, hide all Microsoft services and select Disable All. If it works normally, start adding back in services.
If that doesn't find the culprit, go the the Startup tab and uncheck some items to keep them from starting. This is where the trial part really kicks in. If you are lucky, you might find the one causing a problem.
But more than likely, some driver is having a problem loading, some network device is not being recognized (like a memory card in a printer) or some type of scan is being run.
Let us know if you find anything. There are more advanced programs for tracking stuff down.