Click start/run and type msconfig into the run box and click ok. Go to the startup tab. You can uncheck a few of these at a time and reboot each time until you find the culprit via process of elimination.
You can also try F8 at boot (like safe mode), but choose enable boot logging and check the ntblog.txt file.
http://windows.microsoft.com/en-US/windows-vista/Advanced-startup-options-including-safe-mode