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

9

1

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...

user541686

Posted 2011-11-11T21:49:10.547

Reputation: 21 330

Not sure if this has any affect on booting W7 after XP...http://bertk.mvps.org/html/dualboot.html

– Moab – 2011-11-12T02:34:25.847

@Moab: That's a very interesting read, but yeah, it turns out that I've also disabled system restore and any backup/shadow-copy-related stuff on both OSes. – user541686 – 2011-11-12T02:36:55.720

1Makes me wonder what other tampering XP is doing to the W7 installation though. – Moab – 2011-11-12T04:23:11.217

@Moab: Haha yeah. If I had to hazard a guess, I would think it might be related to TxF -- maybe some log files are getting deleted or something, which causes Windows to check a bunch of stuff? But no idea really... – user541686 – 2011-11-12T04:26:07.953

Thanks for the Q. I "felt" something different too. Could look into the disk clusters or disk edit and try and see there? Surely MS knows, mabey they told somewhere? – Psycogeek – 2011-11-12T06:57:32.960

@Psycogeek: Oh gee, where do I start? My partition is 100 GiB, and Windows writes tens (if not hundreds) of megabytes of data to the disk while booting... the only way for me to find out would be to create a virtual machine, but that's way more work than I can do right now, and I'm not even sure if it would give me back useful data... – user541686 – 2011-11-12T07:00:02.177

@Mehrdad see this page, try boot logging, http://superuser.com/questions/261481/services-exe-batters-disk-writes-on-startup/334111#334111

– Moab – 2011-11-12T16:44:20.003

@Moab: The trouble is, I don't see anything there. It's hard to tell if I'm triggering this or not -- sometimes it triggers, sometimes it doesn't -- but I don't see anything suspicious happening. – user541686 – 2011-11-13T19:38:52.070

I suppose you have each O/S in a separate partition ? – harrymc – 2012-01-09T10:28:09.227

@harrymc: Yeah. – user541686 – 2012-01-09T15:22:29.400

What is the exact process you use to "boot back from XP into Windows 7"? – harrymc – 2012-01-09T15:49:39.090

@harrymc: Uhm, what? "Start" -> "Turn off computer" -> "Restart" -> select Windows 7 on boot loader. (Did you expect me to say "I hibernate my computer" or "I pull the power plug" or something?) – user541686 – 2012-01-09T15:54:43.987

The difference is between warm and cold reboot. I now understand that you are doing a warm reboot, which may explain something. What happens for cold reboot ? (shutdown xp completely, then hit the power button to boot into 7) – harrymc – 2012-01-09T16:24:15.663

@harrymc: Hmmm... before I try it, could you please explain why/how exactly you suspect that could cause the difference? – user541686 – 2012-01-09T16:32:02.997

1Cold reboot initializes the hardware more thoroughly. For example, a warm reboot between Windows/Linux might show the wrong hour. Sometimes cold reboot is the only solution for such problems. – harrymc – 2012-01-09T17:14:43.913

@harrymc: O___O mind = blown. I just tried it a bunch of times and it seems to be 100% consistent with what you're saying... what's funny is that it doesn't happen on Windows XP or on Windows 8, though. I'll test it a bit more to make sure this is the issue but please post it as an answer since it looks like the correct answer! :O – user541686 – 2012-01-09T17:24:16.237

Answers

5

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.

harrymc

Posted 2011-11-11T21:49:10.547

Reputation: 306 093

1That Microsoft article was written for MS-DOS and DOS+Windows, as it says in it. The way that wholly protected mode operating systems, such as the two under discussion here, reboot under software control is rather different. – JdeBP – 2012-01-09T18:29:01.547

@JdeBP: As I said, it gives a hint, which has to be extended to current technology. There wasn't much documentation on this to start with, and there is almost none actually. But the philosophy is still the same : warm boot does not reinitialize some adapters and circuits. The Windows/Linux boot problems I cited above are current. – harrymc – 2012-01-09T18:37:33.497

Untrue. Any extension of that to current technology would be highly flawed, for the reasons I mentioned. And there's quite a lot of documentation on this subject, starting with the ACPI and EFI specifications and working through chipset datasheets and Intel architecture manuals to the PCI Local Bus specification. – JdeBP – 2012-01-09T21:40:09.437

@JdeBP: The specs don't help here, because what Mehrdad is seeing should not happen. Warm boot is supposed mostly to only skip the POST. Evidently, Microsoft is skipping much more, maybe the full reinitialization of the disk controller, not respecting (again) the specs. – harrymc – 2012-01-10T06:15:37.903

@Mehrdad: An imprtant conclusion of your post is that one should never do a warm reboot between different operating systems (at least when using the Microsoft boot-loader). – harrymc – 2012-01-10T08:03:05.793

@JdeBP Windows doesn’t use EFI. – kinokijuf – 2012-01-10T19:31:20.417

@kinokijuf: It does -- UEFI 2.0 is supported as of Windows 7. – user1686 – 2012-01-23T18:10:21.673

@grawity Only the 64-bit versions. – kinokijuf – 2012-01-23T19:13:41.807

1@kinokijuf: Which doesn't make your "Windows doesn't use EFI" statement any more correct. After all, "Windows doesn't use BIOS; only the x86 versions do" – user1686 – 2012-01-24T10:55:22.530

@grawity amd64 windows still can use BIOS. – kinokijuf – 2012-01-24T12:12:14.010

@kinokijuf: amd64 is just x86_64 by another name. I was talking about the Alpha, Itanium, PowerPC versions, which do not use "BIOS". – user1686 – 2012-01-24T12:20:55.417

@grawity Alpha and PPC no longer exist. – kinokijuf – 2012-01-24T12:40:22.840

@kinokijuf: They might have become rare in desktop computers, but they have not been completely obliterated from this world and hence still exist, both the hardware and the software. In fact, the PowerPC architecture (now also known as "Power ISA") is still very much alive in game consoles (Xbox 360, Wii) and servers (various IBM hardware). – user1686 – 2012-01-24T13:02:21.027

Hey guys, stop hijacking my answer! Enough said. – harrymc – 2012-01-24T13:25:06.917

@grawity I meant that Windows Nt is no longer available on these platforms. – kinokijuf – 2012-01-24T13:42:28.980

0

The only logical conclusion I can come up with is the pagefile is managed differently between Windows 7 and XP, particularly the size allocated by the system.

Try configuring your system to not use a pagefile at all to test if this is indeed the problem.

Here below is an extract to support my theory.

Source

Page file size equal to RAM: Prior to Windows 7 the default paging file size was determined differently on different versions of Windows. But in general terms, when the paging file size was configured as “system-managed” its size would typically be calculated as RAM x (some number greater than 1) or RAM + (some number).

In Windows 7 and Server 2008 R2 the default size is equal to the amount of memory installed in the machine. Your gut reaction to this is probably the same as mine was – to get a successful complete memory dump the paging file needs to be a little larger than RAM. How much larger probably goes back to what version of Windows you are running and other factors, but 300 MB is generally considered plenty of padding for the purposes of getting a complete dump.

Below are links to help you disable the pagefile

Disable Pagefile in XP Disable Pagefile in W7

Dwayne Hinterlang

Posted 2011-11-11T21:49:10.547

Reputation: 583

I'm already not using a pagefile for any of my operating systems. – user541686 – 2012-01-09T15:22:09.227

@Mehrdad Maybe that’s your problem. – kinokijuf – 2012-01-24T12:13:26.350

@kinokijuf: No it isn't. – user541686 – 2012-01-24T17:12:16.060