Multi core processors,Task manager shows only one core [Solved]

Recently I faced issue with one of my WinXP VM regarding CPU core display in Task Manager.
I have assigned Quad Core to XP VM but Task Manager display it as a single core.
4 cores displayed in Device Manager but Task Manager & MSCONFIG /NUMPROC options shows only one core.



Now one reason of this issue is limiting cores via MSCONFIG /NUMPROC options but that was not reason in my case,

Run the msconfig utility, go to the BOOT.INI tab, then click Advanced. The NUMPROC checkbox should be unchecked to use all processors.
As a test, try to check it and see what does the drop-down list contain. If it contains only the value 1, then we have to do a repair install and force a manual HAL selection. (MS KB: 299340).

Here's another possibility.

You might have installed the uni-processor version instead of multiprocessor version of XP

Uni-processor systems have as kernel ntoskrnl.exe, while multiprocessor systems have ntkrnlmp.exe in C:\WINDOWS\system32.

Also in Device Manager, expand Computer. You should see "ACPI Multiprocessor PC". If you're seeing "Advanced Configuration and Power Interface (ACPI) PC" then this is wrong.

What do you see?
If either of the above two checks are wrong, you'll have to reinstall XP or follow below solutions to avoid re-installation.

Solution 1:

There is a utility to update the hal
Get it here Download DevCon.exe
Ref: http://support.microsoft.com/kb/311272

How to Update from a Single Core APIC compatible cpu to a Multicore APIC compatible cpu
under the computer entry in the device manager, you will see it says ACPI Uniprocessor PC, to update to the multiprocessor HAL input this:

devcon sethwid @ROOT\ACPI_HAL\0000 := +acpiapic_mp !acpiapic_up
devcon update c:\windows\inf\hal.inf acpiapic_mp.

Then reboot twice again to update the device and IRQ tables.


Heres some tips for upgraders!

You require the Devcon utility for this, unpack it to a folder, then navigate to the folder its in using Command prompt

How to enable APIC without repair installing windows
in device manager you will notice that under computer type it says Advanced Power and Control Interface PC.. this is a standard single processor HAL driver without APIC. to upgrade to the APIC driver you input the following:

devcon sethwid @ROOT\ACPI_HAL\0000 := +acpiapic_up !acpipic_up
devcon update c:\windows\inf\hal.inf acpiapic_up

after this, enable APIC in the bios if you haven't already, and reboot twice so windows can update the device and irq tables, it should now say ACPI Uniprocessor PC in the device manager

How to go back to PIC
if you wish to go back to PIC from APIC enter this:

devcon sethwid @ROOT\ACPI_HAL\0000 := +acpipic_up !acpiapic_up
devcon update c:\windows\inf\hal.inf acpipic_up

and reboot twice to update the device and IRQ tables, and then disable APIC in the bios (the reason is, if you disable APIC before the device and irq tables update, windows will crash at startup.

How to Update from a Single Core APIC compatible cpu to a Multicore APIC compatible cpu

under the computer entry in the device manager, you will see it says ACPI Uniprocessor PC, to update to the multiprocessor HAL input this:

devcon sethwid @ROOT\ACPI_HAL\0000 := +acpiapic_mp !acpiapic_up
devcon update c:\windows\inf\hal.inf acpiapic_mp.

Then reboot twice again to update the device and IRQ tables.

How to go back to Single Core (should it be needed)
if you accidentally burn your processor and have to go back to a single core backup, you input this into the devcon:

devcon sethwid @ROOT\ACPI_HAL\0000 := +acpiapic_up !acpiapic_mp
devcon update c:\windows\inf\hal.inf acpiapic_up.


and always reboot twice.

Solution 2:

1) Go into c:\windows (your install path), search for sp3.cab. Open this cab file with 7-zip (although explorer may be able to natively open the file, if it can't then download 7-zip from sourceforge).

2) a) Extract halmacpi.dll to c:\windows\system32
    b) Extract ntkrnlmp.exe to c:\windows\system32

3) Edit c:\boot.ini

Note: You will need to uncheck the Read-only property so you can save your changes. Set back to Read-only once complete.
Copy the line that looks like this:

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn
Make the copied entry look like this:

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP MultiCore" /fastdetect /NoExecute=OptIn /kernel=ntkrnlmp.exe /hal=halmacpi.dll

Now you have a dual-boot option to utilize single or multicore (TaskManager will show 4 CPU graphs if this was successful). If multi-core boots and works properly, then you can delete the single core entry from boot.ini.

Solution 3: Easiest & my favourite

Disable driver signing (My Computer > Properties > Hardware > Driver Signing... Set to ignore or Warn)

Run this command line exactly the same from command prompt:

rundll32 syssetup,SetupInfObjectInstallAction ACPIAPIC_MP_HAL 128 %windir%\inf\hal.inf

2 restarts required and everything works like a charm - thanks!!!

Let me know how it goes

Comments

Metric siro said…
Great tips about networking..It is a very useful information..
IT Dienstleistungen Ulm
Shoofi said…
It is really helpful..Thanks for sharing such a great article..
شوفي
Vikas Bagwe said…
HI, Shiya Priya using any kind of bot is not good for your website health.

Popular posts from this blog

How To Add Print Button to Blogger Posts

INSTALL CISCO VPN CLIENT ON WINDOWS 10 (32 & 64 BIT). FIX REASON 442