crashes in Windows XP after new CPU

#1
Hi all,
I'm new to EasyBCD, great program, although for now I'm not using it.

This is because of a strange thing I'm experiencing at the moment, I'm not using Windows
10 (or its loader) at all, I use my two XP systems more often anyway, so it's OK for now.

I had been seeing quite a few crashes in XP, not in the OS itself, but in some of the running programs.
For example, avast anti-virus, Mozilla Firefox and Tmpgenc mpeg encoder. They would normally crash
right after starting, or within 10 seconds or so. The anti-virus produced a bunch of dump files (*.mdmp)
in its log folder which I have retained. Firefox submitted it's crashes to Mozilla and can be viewed on their
site.

This situation came about after installing a newer motherbard and CPU. Doing a repair on XP has not
solved the problem. This crashing only occurs if I use the Windows 10 boot manager to boot to XP.
As an experiment I used the XP recovery console (fixboot) which restored XP's boot loader and the
problems have stopped. XP works OK if booted from its native loader.

I have a theory, but first some facts. The new CPU supports the Advanced Vector Extensions instruction
set, but Windows XP does not. If any of these instructions are executed in XP, the program will crash
Advanced Vector Extensions - Wikipedia
Secondly, Firefox and those other programs would have some code to determine the environment it was
in before deciding it was safe to use.

My theory is that somehow, using the Win 10 boot loader to boot XP leaves something in the system
that causes the above code check to fail. I'm not a Windows programmer, so I am unable to get to the details
of this, but looking at it from a higher level, this is what it seems to be.

Thanks for reading, apologies if I have made anybody's eyes glaze over. If any one has some thoughts, or an
alternate theory, I'd appreciate it
 

mqudsi

Mostly Harmless
Staff member
#2
This is very interesting, not in the least because Windows 10 does not actually boot Windows XP directly - it just calls the XP bootloader to load XP anyway.
It sounds like a PAE- or NX-related issue to me, have you tried disabling one or both?
 
#3
Thanks very much for responding. How is this done? Something in the BCD ? Can these switches be disabled in EasyBCD ?
For now, I've been using XP alone. On the rare occassions I need Widnows 10, I boot the WinRE from USB and do the Startup Repair.
Wfen I'm done I reverse it and use Fixboot in XP's recvery console

Assuming these switches are in the BCD I'll certainly take a look.
I also installed Linux, with the loader on a second hard drive, so it's completely isolated. I may try booting XP from Linux's Grub loader
and see if the problems re-occur.
Thanks again

I've been trying the switches on boot.ini to see if I can recreate the problem. The Windows loader 10 is not being used.
If I can not get anywhere, perhaps I'll use the Windows 10 loader and work back.

By default it was /fastdetect /noexecute=optin /usepmtimer in the boot.ini. << These are the switches XP always worked fine with.
Do these switches not override anything set in the BCD ? I have added /PAE but it has not produced a crash

I must admit, I'm not sure I know what I'm doing.

Booting XP through Linux Grub results in a working XP, no problems that I can see.

However, booting via Windows 10 loader, continues to be unusable, I had to reinstall the avast free anti-virus because it became corrupted after
a series of crashes under the covers. Regarding EasyBCD, I started it under Windows 10 and for the Windows 10 entry I set "PAE support"to disabled
and noexecute from optin to "Always off" (Which did not affect XP as far as I can see).
These options were not available for the "earlier versions of Windows" (the original entry), or an EasyBCD created
entry pointing to Windows XP. They were greyed out..

Does EasyBCD expect the options in the boot.ini to take precedence ?
 
Last edited by a moderator:

mqudsi

Mostly Harmless
Staff member
#4
Boot options from the BCD are completely disregarded for "chainloaded" entries - that is, entries that call and give control to a different bootloader. Windows XP entries call the NTLDR bootloader which reads its own settings from boot.ini (so, yes, those take precedence in that they matter; but given that the bootmgr settings are completely ignored, I'm not sure "precedence" is the right word) or Linux via GRUB, which reads its configuration from grub.cfg.

I hope that clears things up.
 
#5
Yes it clears things up regarding my understanding of the boot options and the chain-loaded boot overiding anything in the BCD.
However, regarding my actual problem of XP not working properly when the Win 10 boot loader is used - in you first post above, you mentioned
PAE and NX. Based on what you said subsequently It should not make any difference to XP whether it booted NTLDR directly or whether
control was passed fromt WIn 10 in terms of those settings.
XP will / will not use those options depending on any XP defaults and anything specified on the boot.ini, which has not changed.

Look, I know it's not a problem with EasyBCD, but since you guys are the multi-boot experts, I figured I'd post this problem here.
The crash in Firefox specified "illegal operation" but it only occurs when XP boots via Windows 10 Bootmgr.
 
#7
Could EasyBCD fix this problem as a kind of a workaround? Since it has its own version of NTLDR, just turn off the bits in the control register
that are inadvertently on due to the bug in BOOTMGR ???
 

mqudsi

Mostly Harmless
Staff member
#8
Yup, that's quite possible. I actually commented on that matter in a different discussion thread with that suggestion.
 

mqudsi

Mostly Harmless
Staff member
#10
No, I learned about the bug from another thread discussing it after Yuhong posted his findings in the Bugzilla forum.
Yes, EasyBCD is considering a workaround to negate this bug.
 
#11
Thanks for the update. If EasyBCD adds this workaround I will certainly implement it on my system. At the moment,
since I have GRUB on a second drive, I'm using that to boot XP when I need to use it. This is not such a bad workaround,
but it's a longer path - I have to press F11 to interrupt the Bios POST to give me a menu to select the boot device,
select the device, then select XP from the Grub menu.