Jump to content

ACPI Uniprocessor to ACPI Multiprocessor causes boot loop


Recommended Posts

I have two machines with similar specs, both running Win2k3 32-bit. The only difference is that one had an AMD64 3500+ and the other had a 3200+. I recently upgraded the CPUs on both to AMD64 x2 3800+ (dual cores). On one machine, the upgrade went fine. Task manager sees both cores and all is working fine. On the other machine, the proessor upgrade caused a boot loop. What I mean is that the Windows 2003 boot screen comes up and the scanner goes from left to right about 3-4 times, then the machine reboots. I left it for an hour and it just kept rebooting.

In troubleshooting, it does the reboot too fast to to write a boot log. However, I was able to isolate the problem. I can enter safe mode with no issues at all. In safe mode, if I change the Computer type from ACPI Multiprocessor PC to ACPI uniprocessor PC then it boots fine. The drivers for the processors are loaded correctly and show no trouble in device manager and the machine works fine. However, the OS only sees and uses 1 core. If I change it back to ACPI multiprocessor (which is an avalible driver), then it goes into boot loop again.

I have tested each compnent in other machines (as well as run memtest, CPUz, Prime95, etc) and all hardware is fine. I have also tried reinstalling the OS, as a test, and it worked fine. However, I do not want to do that. These machines are currently setup correctly. Both are AD and I do alot of testing on them. Reinstalling would be a real pain and require alot of man hours. Does anyone have any ideas I can try to somehow get my current Win2k3 install to do the ACPI change? I would appreciate any help or ideas. From everything I have read, this should not be an issue. Thank you!

Link to comment
Share on other sites


Thank you for your reply! I am not sure. I can't figure out how to tell because, when I choose "boot logging" mode, it doesn't write anything to the boot log. I think its rebooting itself too fast. If I delete the boot log and enable boot logging mode, wait for it to reboot itself a couple of times, and then enter safe mode to read the log, it only has a log of the safe mode boot. I have even tried a delete of the log file, boot log enabled, and a BartPE disk to access the log file and its blank. So I just let the box alone for a bit over an hour to see if it righted itself, but it just boot looped the whole time.

I also thought it might be something to do with a driver, so I tried uninstalling all non-essential devices in safe mode, deleted non essential driver files in %windir%/system32/drivers, powering down and physically removing those devices but it still boot looped. I would like to try fresh ACPI multiprocessor PC drivers, but I have no idea where to get them and, its a long shot, as the ones I currently have are still MS signed so I think its doubtful anything is wrong with them.

Right now, using the ACPI uniprocessor PC config/driver instead of multiprocessor is the only thing that avoids a boot loop, which is very strange, I think. Moving from one ACPI to another should not have any issues. Is there another way to find out what is going on right before the boot loop? I have several acronis images I can restore from so I am willing to try anything at all. Thanks!

Edited by silkshadow
Link to comment
Share on other sites

Right now, using the ACPI uniprocessor PC config/driver instead of multiprocessor is the only thing that avoids a boot loop, which is very strange, I think.

It's not strange. Using the multiprocessor kernel/hal causes the OS to use 2 processors. This means that if some driver is loaded which cannot handle 2 processors, it could crash.

To come back to Cluberti's question, did you disable the automatic reboot on blue screen option? It's somwhere in Control panel->System. (Don't have an NT system here to find it).

Link to comment
Share on other sites

No I have not tried that, will do so and post back. I wasn't even aware of that option :blush:

It's not strange. Using the multiprocessor kernel/hal causes the OS to use 2 processors. This means that if some driver is loaded which cannot handle 2 processors, it could crash.

That makes alot of sense! Any idea how I could discover what driver it is? Or what driver could not be compatible? I had it stripped down to just video card (Nvidia 6600), motherboard (nforce 4 ultra) and MS drivers. All the newest drivers as of 4 months ago. I can get you version numbers of drivers, if that would help, but I did try and update them all. When I updated them all, I ran into a problem with the video card and had to uninstall the pervious version manually to get the new one in, but after I did that, it still boot looped like previously.

Incidentally, I did have an AMD processor driver installed which I traced back to a "cool and quiet" AMD driver, that I had no idea was a processor driver. I thought it was a motherboard driver enabling the cool and quiet feature. I checked the other box and it also had the cool and quiet driver installed. I uninstalled it (from both) and installed the AMD x2 64 driver. It did increase performance of the working box but didn't change the boot loop of the ailing one.

Edit: If you mean system -> advanced -> Startup and recovery, etc -> "automatically restart", then I just tried unticking that and chaining to ACPI multiprocessor, but it still boot looped, the same as before. I left it alone and it looped 4 times, I just tried boot logging mode and am booting into safe mode to see if it was able to write any log.

Edit 2: Nope, only the safe mode boot log, again :(. I seem to remember there was a line-by-line way to boot Windows (where it asked Y/N for every driver being loaded) but its not an option on my F8 screen. Man, if I could just find out what is being loaded when the boot loop occured, it feels like I would be able to fix this.

Thanks!

Edited by silkshadow
Link to comment
Share on other sites

You can add the '/SOS' flag in boot.ini. This causes windows to list all drivers which are being loaded on screen. I hope you can read fast enough. (Handycam?)

Incidentally, I did have an AMD processor driver installed which I traced back to a "cool and quiet" AMD driver, that I had no idea was a processor driver. I thought it was a motherboard driver enabling the cool and quiet feature.

'Cool and Quiet' clocks down the processor when it's not busy.

I seem to remember there was a line-by-line way to boot Windows (where it asked Y/N for every driver being loaded) but its not an option on my F8 screen.

AFAIK this is a W9x option. I never heard of such an option in NT. Of course that doesn't mean it doesn't exist.

Link to comment
Share on other sites

You can add the '/SOS' flag in boot.ini. This causes windows to list all drivers which are being loaded on screen. I hope you can read fast enough. (Handycam?)

That sounds promising and I do have a camcorder :D. Thanks alot! I will give it a go tomorrow (its 3AM here) and post back. I appreciate the help!!

AFAIK this is a W9x option. I never heard of such an option in NT. Of course that doesn't mean it doesn't exist.

Heh, that would explain why my memory of that is very foggy ;).

Edited by silkshadow
Link to comment
Share on other sites

Ok, tried the /sos switch and I was really hoping that the /sos would tell me what I needed to know, but it didn't :(. It shows everything till acpitabl.dat and then it goes into a grey screen which lists my OS, processor, ram and is the /sos equivalent of the normal boot screen. Then boot loops like always.

That /sos mode is totally useless, why MS why? Why have a mode that lists drivers loading and not show all the drivers till it actually boots?! The logic sometimes astounds me, it sometimes feels like the Windows devs just sit around and figure out how to make a user more frustrated :(;).

So the last three items it shows, before the grey screen is crcdisk.sys, drvmain.sdb and acpitabl.dat. Then, according to a boot log I made running the ACPI Uniprocessor driver, all the 3rd party drivers start to load. I think you guys are definitely right, there is a driver that doesn't like ACPI Multiprocessor, however how to figure out which one just seems impossible if there is no way to log it? I am beginning to loose hope and am going to be forced to spend a couple of my weekends reinstalling and, worse, configuring, everything on this box. Arg :(.

Any more ideas would be feverently appreciated! Thanks for all the help!

Link to comment
Share on other sites

I still have some ideas.

1) I never used a W2k3 system, so I don't know what you mean with 'the grey screen'. There are some other options which can affect the boot screen, like /NOGUIBOOT and /BASEVIDEO. A full list of boot.ini options is listed here

2) You can try the /ONECPU switch to find out if the 2 processors are the problem, or the Multiproc kernel.

3) You can try the 'SMP Multiprocessor PC' instead of the 'ACPI Multiprocessor PC'. When this solves your problem, you can need a BIOS upgrade, but it's also possible the your ACPI kernel/hal is damaged, or that the boot sequence is changed in a way the problem is avoided.

4) You can use a copy of the kernel/hal of the other system. They are called NTOSKRNL.EXE and HAL.DLL, and are located in System32. Rename them (NTOSKRN2.EXE and HAL2.DLL for instance) and put them in your System32.

Copy the Operation system line in boot.ini, and make the second one boot your 2nd kernel/hal by using the /HAL /KERNEL switches. See directions here

5) You can use DriverView to compare both systems. Maybe you can compare your clean installation on the same system too? You can use it to see the difference between safe mode and normal mode. (In that case you'll have to use the uniprocessor kernel). The overlap is not likely to be the problem.

6) You can use this trick to see if there are drivers which are obviously not needed. (Old VGA drivers, or something like that.) Don't know if it helps to remove them, but it won't hurt.

7) Did you alreay check the event viewer?

8) Remove all unnessesary hardware (network, sound, ...) or switch them off in BIOS, and see if it solves your problem. If so, reenable them one by one and see which one restarts the boot loop.

Link to comment
Share on other sites

This is a long shot but I've run into it before on dual processor machines when doing processor driver updates (Remember the PIII one). You install the driver on the first processor and it wants to reboot, don't let it... you have to do the 2nd one first and then let it reboot. Windows Update tended to make this impossible unless you nicked the driver out of the temp and stuck it in manually.

Point being perhapps the machine (via the HAL) is trying to start the "2nd processor" when there is no driver available for it.

Also dig out a manual for the Mboard and make sure it's actually ready to fire on both cylinders. Settings like MPS Revision v1.1 -vs- 1.4, or ACPI APIC can make a difference in how well it behaves with it's new addition.

I'm just thinking out loud here... :)

Link to comment
Share on other sites

First of all, I presume you've cleared CMOS on the BIOS.. (Including removing battery, AC cord and leaving for 30mins+.. I know DFI boards can be picky about resets..)

- Do you have the latest BIOS for your mobo? (Even if you do, I'd recommend re-flashing it as a last resort)

Also, as Stoic Joker mentioned^.. MPS might be worth a look, IF you have options for it...

- If you do, and it's set to MPS 1.4, try with 1.1 - I believe it relates to ACPI table handling...

Good luck!

Link to comment
Share on other sites

  • 3 weeks later...

I just want to thank everyone for their help by posting back the culprit of my boot loop, maybe helping someone else. I tried everything suggested but just couldn't get it to work. So this past weekend I spent 3 days rebuilding this server but I discovered the problem on the very first day.

All my drivers went in fine and I ran Windows update. I installed everything there and rebooted only to get the same boot loop again. So it was something Windows update installed! I uninstalled each item and found the problem. It was .net framework 3.0! Man, sometimes I really hate Microsoft. ;) I could've avoided alot of wasted time, if I had just experimented by doing a clean install test. However, I already demoted this box from AD so I had to finish the rebuild. Stupid me. Anyway, the other box doesn't have .net 3.0 installed, so if I did a careful comparison (which I swore I did at least half a dozen times) I should've also have seen it. Very frustrating, so I hope I can save someone else this aggravation. :)

Anyway, thanks again everyone for all your help!!!

Link to comment
Share on other sites

That's odd. It's got to be conflicting with something. I know for a fact that .NET 3.0 works with the ACPI Multiprocessor HAL. Every machine I have at home, including my Dual Xeon server is using this HAL and has .NET 3.0 installed...and the Dual Xeon rig is a domain controller. Weird... :wacko:

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...