How to diagnose long start up
Solution 1:
Have you tried disconnecting peripherals? I have a 30-60s delay before login items are opened, but it's removed if I unplug my Huawei USB modem.
Is there anything interesting in system.log (or the default view in Console)?
You could first try disabling login items in System Preferences > Users & Groups > Login Items. After that, try disabling launchd plists by just moving them away from {~,}/Library/Launch{Agents,Daemons}/
, or kernel extensions by moving them away from /System/Library/Extensions/
. You can use Consultant's Canary to print a list of other components that were not preinstalled.