Dual-booting Windows 7 and Windows XP -- why does Windows 7 boot time differ?

I've noticed some weird behavior when dual-booting Windows 7 and Windows XP:

As long as I'm rebooting from Windows 7, everything is normal.

However, if I boot into Windows XP and then boot back from XP into Windows 7, my boot process differs slightly:

  • The boot stage is slower (i.e. the stage with the glowing Windows logo takes about twice as long) -- Windows seems to be doing some more work every time I'm coming from XP.
    However, the extra time is CPU time -- the hard disk isn't accessed much during that time.

  • The login process is faster (as though everything was already loaded/prefetched)

  • Overall, the process is a bit slower.

My guess is that it has to do with something related to NTFS, but I really have no real evidence.

Does anyone know what triggers this? (I have Windows XP SP3 and Windows 7 x64 SP1.)

Update:

I just booted from Windows 8 back into Windows 7, and that also seemed to cause the delay...


Solution 1:

It seems like you are doing a warm reboot, while the dissimilarities between XP and 7 require a better initialization of the hardware adapters and registers, meaning a cold reboot.

Both boot modes are defined as follows:

Cold Boot (a.k.a. Cold Start) : Booting up from power-off condition.
Warm Boot (a.k.a. Warm Start) : Restarting the computer without turning the power off.

The Microsoft article Cold Booting Versus Warm Booting gives some hints :

A warm boot, accomplished by pressing the CTRL+ALT+DEL key combination, restarts the computer through the INT19h ROM BIOS routine. This warm-boot procedure usually does not go through the complete boot process; generally, it skips the power-on self test (POST) to save time. In addition, a warm boot frequently fails to reset all adapters in the computer's adapter slots.

To ensure that all adapters are properly reset, you should use the power switch to turn the computer off. Leaving the power off for ten seconds ensures that all the capacitors on the motherboard have time to discharge and should also give the hard disk drive a chance to stop spinning.

There is no complete list for all the adapters that are not reset for a warm boot. I know from experience that the clock is one of them, so that problems may occur when warm-booting between Windows and Linux which use the clock differently.

Apparently, such a difference also exists somewhere between XP and Windows 7 as well as 8.