» Thursday, March 11, 2010 Register  «  Login  «
    Search

Changing the Kernel and HAL on a Windows VM.

If your new Virtual Iron Windows Virtual Machine does not recognise all your assigned CPUs, it's running a Uni-processor Kernel and HAL, so it won't be taking advantage of all your CPU horsepower. To correct this situation, carry out the steps below.

This article assumes that you are on Windows Server SP2.

Extract Windows Server 2003 SP2 to a directory on your VM.
WindowsServer2003-KB914961-SP2-x86-ENU.exe /x

In the SP2 i386 directory expand the MP Kernel and HAL.
expand halmacpi.dl_ halmacpi.dll
expand ntkrnlmp.ex_ ntkrnlmp.exe

Copy or move the expanded files to your windows/system32 directory.

Open your Boot.ini file in the root of your boot drive (Usually C:), copy your current active boot option line in boot.ini to a second line and append the following:  /KERNEL=ntkrnlmp.exe /HAL=halmacpi.dll (it's also a good idea to change the description so that it's easy to recognise your new entry!)
E.G.
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, ACPI MPS" /fastdetect /NoExecute=OptOut  /KERNEL=ntkrnlmp.exe /HAL=halmacpi.dll

Boot your VM and select the new boot option from the Windows boot menu.

Windows will now boot in to multi processor mode, where it will "detect" it is running as an ACPI multiprocessor PC and permanently install the new MPS HAL.

Reboot your VM using your normal booot.ini entry and the VM will now see all your processors. It is safe to remove the second boot.ini option that you added earlier.

. .
Copyright 1997 - 2009 by TheInternet.Org.UK & Arrowhead Systems Ltd