Enable Hyperthreading or 2nd CPU in Windows XP

I came across this on a VM the other morning. It seemed that assigned the VM 2vCPU and then installing XP Professional didn’t install the correct HAL/Kernel. I’m not sure why, but here’s how I noticed the problem and how I fixed it.

I first noticed the issue when it was reported that in Task Manager the CPU graph only had one CPU showing. In the View -> CPU History menu, there was only one option to show the single CPU. I checked device manager next and noted that there were in fact 2 CPUs recognized by Windows under Processors category. I then checked My Computer -> Properties and it only reported 1 E7540 @ 2.00GHz CPU. Hmmmm. I next checked the HAL by looking at Device Manager -> Computer and seeing that ACPI was installed but not ACPI Multiprocessor!

To change to ACPI Multiprocessor, you can right-click on the ACPI and choose Update Driver and it would list whichever drivers are installed. Here are some of the options that would be available (if installed):


Standard PC, Non-ACPI PIC HAL (Hal.dll)

  • Standard PC

MPS Uniprocessor PC, Non-ACPI APIC UP HAL (Halapic.dll)

  • Standard PC
  • MPS Uniprocessor
  • MPS Multiprocessor

MPS Multiprocessor PC, Non-ACPI APIC MP HAL (Halmps.dll)

  • Standard PC
  • MPS Multiprocessor

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

ACPI Multiprocessor PC, ACPI APIC MP HAL (Halmacpi.dll)

  • Standard PC
  • Advanced Configuration and Power Interface (ACPI) PC
  • ACPI Multiprocessor
  • MPS Multiprocessor

Well, I didn’t have any of those. So I knew Windows wasn’t installed, seemingly, with the support for Multiprocessor, etc.

Here’s how I corrected the problem.

I attached an XP Professional ISO to the VM and then from within the VM, I launched a command prompt and changed to the CD-ROM directory (in my case, D:):

cd /d d:

I expanded ntkrnlmp.ex_ and halmacpi.dl_ to c:windowssystem32:

d:>expand i386ntkrnlmp.exe_ c:windowssystem32ntkrnlmp.exe
d:>expand i386halmacpi.dl_ c:windowssystem32halmacpi.dll

Next, I modified boot.ini to specify the kernel and hal to load:

d:>attrib -r c:boot.ini
d:>edit c:boot.ini

I appended the following to the boot line:

/kernel=ntkrnlmp.exe /hal=halmacpi.dll

So the entire line looks like this now:

multi(0)disk(0)rdisk(0)partition(1)WINDOWS=Microsoft Windows XP Professional /fastdetect /noexecute=optin /kernel=ntkrnlmp.exe /hal=halmacpi.dll

Make sure you don’t make any typos or you will not be booting and you’ll have to fix your boot.ini through other methods.

After saving boot.ini, I made it read-only again:

d:>attrib +r c:boot.ini

Then I rebooted.

Voila. Now I see both vCPUs in Task Manager and My Computer Properties and today is a good day.

This is the first VM I came across with this problem and I have to believe it was because it was installed when there was only 1vCPU configured for it.

‘BLISS’ taken by Charles O’Rear is WORLD'S MOST FAMOUS PHOTO! 

Reshared post from +May Fong Robinson

‘BLISS’ taken by Charles O’Rear is WORLD’S MOST FAMOUS PHOTO! 
It has been seen by 1 billion! people since 2002.

The photo was taken during a rest stop driving through the wine region of Napa Valley in California.    http://blog.mortenlindholm.com/?tag=chuck

Google+: Reshared 1 times
Google+: View post on Google+

Post imported by Google+Blog. Created By Daniel Treadwell.

XP Windows Task Scheduler Advanced Menu

Windows XP’s Tasks folder view has an Advanced menu (which I’ve never paid attention to) that allows you to choose additional functions for the task scheduler.
I *never* knew this existed via the GUI.  I always used the command-line and registry snooping to find/create tasks and the event viewer to review task’s runs.  This menu lets you show hidden tasks, view the log, setup notification, etc.

Windows Task Scheduler Advanced Menu

Openfiles Windows XP Professional Command

First of all, there are a few tools that I’ve used in the past to show me files that certain processes have opened up.  One such tool is Process Monitor by SysInternals.  Windows XP Professional comes with a command-line tool called openfiles.
What is openfiles?
Enables an administrator to list or disconnect files and folders that have been opened on a system.
By default (I think) it’s doesn’t track open files so you will need to enable it by issuing the following command (this does add some performance overhead):

openfiles /local on

After you issue that command you are required to reboot and once you’re back in windows, execute the command without any flags:

openfiles

You’ll have an output similar (well, depending on the processes you have open) to what I have here:

ID    Process Name         Open File (Pathexecutable)
===== ==================== ==================================================
12    explorer.exe         C:\Documents and Settings\Rich
72    explorer.exe         C:\..6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83
120   explorer.exe         C:\..6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83
152   explorer.exe         C:\..6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83
156   explorer.exe         C:\..6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83
168   explorer.exe         C:\..6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83
204   explorer.exe         C:\..6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83
368   explorer.exe         C:\..6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83
372   explorer.exe         C:\..6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83
560   explorer.exe         C:\Documents and Settings\Rich\Desktop
568   explorer.exe         C:\..6595b64144ccf1df_1.0.2600.5581_x-ww_dfbc4fc4
584   explorer.exe         C:\Documents and Settings\All Users\Desktop
592   explorer.exe         C:\..Application Data\Microsoft\CD Burning
748   explorer.exe         C:\..6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83
Files Opened Remotely via local share points:
---------------------------------------------
INFO: No shared open files found.

You can learn more about it by issuing openfiles /? and openfiles /disconnect /?
For now, I’m still a fan of Process Monitor but this is nice when I’m in a hurry and for some reason don’t have my flash drive that has Process Monitor on it.