Fast startup sometimes depend on how the system is 'put away'.
Turning a Windows system "OFF" (from 'Start> Turn Off Computer...' button) is not the best way to put your system away for the night (or extended periods) and forcing a shutdown with the power button is NEVER a good option; only a last resort.
It prevents Windows from 'housekeeping' system files to get ready for the next start-up.
A vastly improved method is 'Hibernation'.
Shutdowns using the 'hibernate' method gives several benefits: It's a near zero power state; all 'Startup' folder items are already loaded, Windows background services are already 'up', and all open work moves to the hard drive, yielding really fast start-ups.
And if power is lost (storms, etc.) the document or picture you were working on won't be lost like it would be in 'Standby' mode, and the system will resume just where you left it.
For XP (newer OS's are similar):
Go to Start> Control Panel> Power Options> Hibernate: here check the box.
To show this option when turning unit off; Start> Turn Off Computer> HOLD down 'Shift' key & 'Standby' becomes "Hibernate': tick that.
(Some systems have a 'crescent moon' key to go right to hibernate, or set laptops for this operation 'when lid is closed').
Emergency power outage can occur without any affect on the system; the trouble comes when the power is restored, which can cause a "spike" which will likely cause damage to the system (as with any configuration).
To start up, push the power button, and Windows will resume right where you left it, bada bing.
Download and install Soluto. It will tell you exactly why it takes so long and what is causing it to take so long:
It is free and trustworthy.
I had the same problem and it drove me crazy. I was then told that it could be a virus, so I ran a few anti-virus programs. That didn't do the trick, so I rebooted the computer and installed linux instead - no problems since then. Obviously, there are ways of fixing it that lets you keep windows, but this is just how I did it