It could be an accumulation of many activities that Windows performs to ready your system. It could be anti-virus, network connections, device configuration, services, etc. You can look at your startup items and begin to eliminate them to see which are causing the largest amount of delay. You begin by using msconfig from the command line. Go to Start/Run and type "msconfig" (without quotes) in the box. It will bring up a system configuration box. You go to the Startup tab and you should see a listing. Those with check marks in the boxes are items that Windows readies before handing the PC over to you. Un-checking these causes them not to load during startup but the descriptions of what they do are not always clear. You can always re-check mark them later. Anyway, Here's a good place to start looking for the primary offenders.