How to change HAL of Windows OS
How to change Hardware Abstraction Layer (HAL) of Windows OS
Why: When we upgrade a single core PC to a dual core (or more core) PC without windows re-install, we will find that Windows does not recognize the extra processor. It is because Windows uses different HAL for single core CPU and multi core CPU (SMP). The below instruction is to manually force Windows to use a MPS HAL so to take advantage of all the cores.
Windows 2003 / Windows XP
Full instructions are available here:
http://theinternet.org.uk/UsefulInfo/VirtualIronVMdoesntseemultipleprocessors/tabid/170/Default.aspx
Full instructions are available here:
http://theinternet.org.uk/UsefulInfo/VirtualIronVMdoesntseemultipleprocessors/tabid/170/Default.aspx
Assumption:
1.
The windows is 32-bit. There may be some
different in 64-bit version
2.
Assume your Windows 2003 has been upgraded to SP2; Windows XP to Service Pack 2 or 3.
Instruction:
1.
copy the 3 files from
c:\WINDOWS\ServicePackFiles\i386 to c:\WINDOWS\system32
halmacpi.dll
ntkrnlmp.exe
ntkrpamp.exe
halmacpi.dll
ntkrnlmp.exe
ntkrpamp.exe
2. Edit boot.ini. This post show you the detail instruction to open and save boot.ini since it is a system file.
Under [operating systems], duplicate your current active boot option to a second line. Append the following options at the end: /KERNEL=ntkrnlmp.exe /HAL=halmacpi.dll
You can also change the description so you can tell which options are which.
E.G. (below should be all on one line)
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, ACPI MPS" /fastdetect /NoExecute=OptOut /KERNEL=ntkrnlmp.exe /HAL=halmacpi.dll
Under [operating systems], duplicate your current active boot option to a second line. Append the following options at the end: /KERNEL=ntkrnlmp.exe /HAL=halmacpi.dll
You can also change the description so you can tell which options are which.
E.G. (below should be all on one line)
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, ACPI MPS" /fastdetect /NoExecute=OptOut /KERNEL=ntkrnlmp.exe /HAL=halmacpi.dll
3.
Boot your VM and select the new boot option.
4.
Windows will boot in to multi processor mode, detect
it is ACPI MPS, install the new HAL and ask you to reboot again.
5.
Boot using your normal boot.ini entry and the VM
will now see all your processors.
1.
Click Start, point to Settings, point
to Control Panel, and then click System.
2.
Click the Hardware tab, and then click Device
Manager.
3.
Double-click to expand the Computer branch.
Note the type of support that you currently have.
4.
Double-click the computer type that is listed under
the Computer branch, click the Drivers tab, click Update
Driver, and then click Next.
5.
Click Display a list of known
drivers for this device, and then click Show
all hardware of this device class.
6.
Click the appropriate computer type (do not change
from non-ACPI to ACPI computer types), click Next, and then click Finish.
NOTE:
You can use this procedure only to upgrade from a single-processor HAL to a
multiple-processor HAL. If you use this procedure to change from a standard HAL
to an ACPI HAL (for example, after a BIOS upgrade) or vice-versa, unexpected
results may occur, including an inability to boot the computer.
Comments