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.


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

2.    Edit boot.iniThis 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 lineAppend 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

Popular Posts