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.