I have seen to possible cause of this problem....1 there are so many applications starting at the startup of the machine that it takes time to load windows completely.....
To check wat application and services are running..... Go to start, click run, type Msconfig and click ok
This will open System config utility
Now click on services tab....just above ok, check the option Hide all Microsoft Services.... Now this will show u a list of all other services that starts with windows.. either you can do one by one and find out the one u dont need and uncheck them or simply uncheck all...the go to startup tab and click disable all
Click Apply, ok and reboot the machine.... time how long it takes now...
If it still takes alot of time ... notice the hdd, if it seems tat its blinking alot and sounding alot.