Windows only recognizes one core!

NateHvC

Junior Member
Nov 22, 2006
9
0
0
So I built a new C2D E6600 system (details and pics here). I install Windows XP Pro by restoring a Ghost backup like I've been doing for three years now. I have everything configured exactly like I want it. Windows starts up, I get all the new drivers, everything is great. Then I notice there is only one graph in Task Manager. Two processors show up under Device Manager. Orthos only runs on one processor. CPU-Z only recognizes one processor.

Further digging turns up the fact that Device Manager shows my computer as "Advanced Configuration and Power Interface (ACPI) PC". Apparently I need that to be "ACPI Multiprocessor PC" so that Windows and Windows software will recognize both CPUs.

Googling, I find that I should update the driver in Device Manager, manually choose the driver to install from a list, and pick the ACPI multiprocessor driver. However, even with "show only compatible devices" unchecked, my list only has two options: "Advanced Configuration and Power Interface (ACPI) PC" and "Standard PC". It doesn't have the multiprocessor option I need. I can click "Have disk", but I don't know where to find the "ACPI Multiprocessor PC" driver.

Apparently "halmacpi.dll" is the dll for "ACPI Multiprocessor PC". Windows always uses a file called "hal.dll" which is just some specific hal dll renamed. I can't find "halmacpi.dll" anywhere on my PC. For kicks, I download it from some website and replace my "hal.dll". Windows won't boot (freezes with black screen instead of showing boot image) and I have to revert the file to get it working again.

So, how can I fix this POS? Two things I am unwaverable on. First, I won't reinstall Windows from scratch. I have too many secrets on my PC. I'm not satisfied with a default install and I have tweaked my install in hundreds if not thousands of ways. The second thing is I run Windows XP Pro SP1. I won't upgrade to SP2. I don't want it, I don't need it. Beyond those two things, I'm willing to try anything else! There has to be a way damnit!

Here is an article that says "ACPI Multiprocessor PC" uses these files...

halmacpi.dll (renamed to hal.dll)
ntkrpamp.exe (renamed to ntkrnlpa.exe)
ntkrnlmp.exe (renamed to ntoskrnl.exe)

I tried replacing the files in my install with these files. Same thing, freezes at a black screen right before it supposed to show the Windows XP boot screen image. On a whim I left ntoskrnl.exe and ntkrnlpa.exe and reverted hal.dll back to "halacpi.dll" (which is "Advanced Configuration and Power Interface (ACPI) PC"). Works fine. Seems that if the multiprocessor HAL is used, it freezes.

Next I went to Device Manager and did a rollback on the driver. It looked so promising! It rolled it back to "ACPI Uniprocessor PC" and a few seconds later Windows recognized a new device called "ACPI Multiprocessor PC". I almost soiled in excitement! It asked for a reboot, rebooted... same crap. Froze with a black screen right before the boot screen. Like all the other freezes ctrl+alt+del doesn't respond, have to hard reset.

I put the HDD in a different machine, reverted the "hal.dll" back to "halacpi.dll" (which is "Advanced Configuration and Power Interface (ACPI) PC"), put the HDD back in its machine... booted right up.

So it seems that no matter what I do, it freezes right before the boot image if the multiprocessor HAL is used. Damnit! WTF! Any ideas?

I then bit the bullet and put in my Windows XP Pro disc and started an "in-place upgrade" (aka "repair install"). It copied the installation files, did its thing, rebooted... and froze in the same place as always. I ran the repair again, this time I hit F5 to access the secret menu that lets you force what HAL to use. I chose the multiprocessor HAL, let it do its thing, it rebooted... and froze. I assume if I do the repair again and this time force the standard ACPI or uniprocessor HAL that it will boot into Windows. Of course that would put me in the same place I am now... unable to utilize my dual processors.

This is really painful. The only thing I haven't done is format and reinstall. I don't want to lose all my applications and tweaks. There has to be a way. :(

Normally I just create a backup of when the computer is working like I want and I restore if something went wrong. For maximum compatibility, before taking the backup you can change all the drivers to the basic Windows drivers, for video, PCI bus, etc. This way if you restore for different hardware you'll be able to get into Windows where you can install the right drivers. If you don't do this, sometimes the hardware can be completely incompatible and crash everytime before you can get to a state where you can fix it.

There is a lot of mysticism surrounding hardware changes. I don't believe in this you-have-to-format-reinstall every X days stuff. It simply isn't true.

Reminds me of my friend who thinks you have to shutdown the PC to unplug or plug in a monitor. No matter how many times I tell him you don't have to, that the video card could care less, he still does a full shutdown. There should never be this "voodoo magic" with computers!

Are you telling me that EVERY person who got a dual proc had to format and reinstall? Every hardware upgrade I can get Windows to accept my existing install, except for going from single to dual proc? There has to be a way!

Any ideas?
 

KGB

Diamond Member
May 11, 2000
3,042
0
0
Nate,

Changing HALs is not an that easy. In fact alot of times it's impossible (ala format & reinstall).

When I create images for deployment, I make multiple ones depending on the HAL.
I have one for Uniprocessor and another for Multiprocessor (P4 HT, x2, etc.)

I'm assuming that you've read this MS KB article..
 

IdaGno

Senior member
Sep 2, 2004
452
0
0
Originally posted by: NateHvC

I then bit the bullet and put in my Windows XP Pro disc and started an "in-place upgrade" (aka "repair install").

Are you telling me that EVERY person who got a dual proc had to format and reinstall? Every hardware upgrade I can get Windows to accept my existing install, except for going from single to dual proc? There has to be a way!

Any ideas?

Maybe a reinstall done in this manner will work for you. GL!

 

w00t

Diamond Member
Nov 5, 2004
5,545
0
0
this is too long I don't have the time and patience to ready this maybe summarize it?
 

Bozo Galora

Diamond Member
Oct 28, 1999
7,271
0
0
um, did you enable both cores in BIOS? :p

Is APIC mode on in bios?
Is ACPI function enabled in bios?
Is MPS spec set at 1.4?
Cant switch hals, need fresh install with new mobo bios and its settings

Edit - Use P23 bios
 

NateHvC

Junior Member
Nov 22, 2006
9
0
0
KGBMAN, yep I have read that article.

IdaGno, yep, that is the "in-place upgrade" (aka "repair install") that I tried. It hangs after setup tries to reboot for the first time. Setup replaces my ntkrnlpa.exe, ntoskrnl.exe, and hal.dll with the multiprocessor files and I assume thats why it hangs. If I boot the drive in a different PC and replace the hal.dll with the uniprocessor or ACPI standard hal.dll, it will boot again.

w00t, I'm trying to go from a single processor to a dual processor without formatting and reinstalling Windows. Everything I have tried has failed.

Bozo Galora, all good questions...

Did you enable both cores in BIOS? Yes.
Is APIC mode on in bios? Yes.
Is ACPI function enabled in bios? Yes.
Is MPS spec set at 1.4? Yes.
Are you using the P23 bios? Yes. I upgraded from P23beta to the official P23 right before starting this adventure.

I've taken to installing XP from scratch. I have it working with both cores with SP1, but I miss all my apps. :( Very depressing. If anyone has any great ideas I can still restore my old Windows install backup and try it.
 

Bozo Galora

Diamond Member
Oct 28, 1999
7,271
0
0
FWIW, MPS is 2 separate CPU install, like Iwill mobo
dual/quad core die is a single CPU to XP
So, yes it works with SP1, actually al the way back to Nt 3.1 if the bios cooperates by DETECTING new CPU.
The hal missing or wrong may have nothing to do with MPS ACPI - its usually bad boot.ini that no longer reflects current HDD # partitions/format
I would put back the old HAL

(always unhide system files and unhide hidden system files in XP FIRST)
the standard fix for that is
1.Insert and boot from your WindowsXP CD.
2.At the first R=Repair option, press the R key
3.Press the number that corresponds to the correct location for the installation of Windows you want to repair.
Typically this will be #1
4.Type bootcfg /list to show the current entries in the BOOT.INI file
5.Type bootcfg /rebuild to repair it (just a space before / - not underslash)
6.Type fixboot
6.Type exit and take out the CD ROM

or more quickly from this link
http://www.kellys-korner-xp.com/xp_haldll_missing.htm

Boot from your CD and follow the directions to start Recovery Console. Then:

Attrib -H -R -S C:\Boot.ini
DEL C:\Boot.ini
BootCfg /Rebuild
Fixboot

You MUST be in admin mode (password) and commands seems to work better for me if I capitolize all letters
------------
XP install will either install

"Advanced Configuration and Power Interface (ACPI) PC", ACPI PIC HAL (Halacpi.dll)
? Standard PC
? Advanced Configuration and Power Interface (ACPI) PC

"ACPI Uniprocessor PC", ACPI APIC UP HAL (Halaacpi.dll)
? Standard PC
? Advanced Configuration and Power Interface (ACPI) PC
? ACPI Uniprocessor
? ACPI Multiprocessor

This depends on whether you have and turned on ACPI or APIC (24 IRQ) in BIOS!
If I turn off ACPI, Vista will not even install

the following is MPS with SINGLE CPU installed
"MPS Uniprocessor PC", Non-ACPI APIC UP HAL (Halapic.dll)
? Standard PC
? MPS Uniprocessor
? MPS Multiprocessor
++++++++++++

You do not have a MultiProcessor System - you have a uniprocessor system with a multi core - big difference (only one zif socket and its traces to work with NB and SB0
A single CPU has 775 pins, dual has 775 + 775
:p
 

NateHvC

Junior Member
Nov 22, 2006
9
0
0
What do you mean by saying that my dual core is a single CPU to XP? XP SP1 shows two graphs in task manager and my apps are now making use of both cores. How would this be different than two separate CPUs?
 

Bozo Galora

Diamond Member
Oct 28, 1999
7,271
0
0
I edited my post above - reread

Its a single CPU to the HAL during interface with bios at time of install
Read ALL in the comments below link.........
http://blogs.msdn.com/oldnewthing/archive/2006/10/02/780255.aspx
Quote:

# re: Does a dual-core processor count as one or two for licensing purposes?
Tuesday, October 03, 2006 7:02 AM by bMachine

So, as Stephen mentioned, Windows XP Professional is limited to 2 physical CPUs and Windows XP Home Edition is limited to 1 physical CPU, but they are not limited for number of cores. I don`t know if you can use 80-core processor (yes, if you`ll have a driver:) but you surely can use Quad-core CPU in Windows Home Edition. This is ONE PHYSICAL PROCESSOR.

Have you read an article above?

Windows have an information about number of physical processors, cores or hypertherading technology in your computer.
===========




 

Varun

Golden Member
Aug 18, 2002
1,161
0
0
We had this exact same problem at work. We had HP 7600s rebooting like crazy, and it was determined that the image was created with the wrong HAL. Microsoft doesn't support changing the HAL anymore, however we did find a way to get it changed using Microsoft tools.

Download devcon.exe here: http://support.microsoft.com/kb/311272

create a batch file in the same folder as devcon with this text:

@echo off

devcon sethwid @ROOT\ACPI_HAL\0000 := +acpiapic_mp !acpiapic_up

devcon update c:\windows\inf\hal.inf acpiapic_mp



pause


Run the batch file and after two reboots the computer will be a ACPI Multiprocessor PC

good luck and let me know how it works out for you!
 

Varun

Golden Member
Aug 18, 2002
1,161
0
0
Originally posted by: Bozo Galora
I edited my post above - reread

Its a single CPU to the HAL during interface with bios at time of install
Read ALL in the comments below link.........
http://blogs.msdn.com/oldnewthing/archive/2006/10/02/780255.aspx
Quote:

# re: Does a dual-core processor count as one or two for licensing purposes?
Tuesday, October 03, 2006 7:02 AM by bMachine

So, as Stephen mentioned, Windows XP Professional is limited to 2 physical CPUs and Windows XP Home Edition is limited to 1 physical CPU, but they are not limited for number of cores. I don`t know if you can use 80-core processor (yes, if you`ll have a driver:) but you surely can use Quad-core CPU in Windows Home Edition. This is ONE PHYSICAL PROCESSOR.

Have you read an article above?

Windows have an information about number of physical processors, cores or hypertherading technology in your computer.
===========

You seem to be in "angry mode". I lose interest in angry mode posts.

I think you are confused a lot. To Windows it doesn't care if it is two cores or two single CPUs, it will still install the ACPI Multiprocessor layer. For licensing it matters but for the OS it sees it as the same, not as a "big difference" like you say.