Print View

Cannot upgrade virtual machine HAL to ACPI Multiprocessor PC

Issue

When virtualising an existing server, it may not be possible to configure the virtual machine with a multiprocessor HAL during the Upgrade Driver wizard, despite the virtual machine being assigned 2 vCPUs.

When using a Standard PC HAL the only option is:

- Standard PC

When using a Advanced Configuration and Power Interface (ACPI) PC HAL the only options are:

- Advanced Configuration and Power Interface (ACPI) PC
- Standard PC

It would appear that this is by design according to MS KB 309283:

When you install the following HALs on a Windows XP-based or Windows Server 2003-based computer, the following device manager HAL options appear:

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

"Advanced Configuration and Power Interface (ACPI) PC," ACPI PIC HAL (Halacpi.dll)
- Standard PC
- Advanced Configuration and Power Interface (ACPI) PC

Resolution

To force the HAL to ACPI Multiprocessor PC use a variation of the HAL_Update.txt from Brandon Gordon.

Execute the following commands:

SET HAL=ACPIAPIC_MP
devcon.exe sethwid @ROOT\PCI_HAL\0000 := !E_ISA_UP !ACPIPIC_UP !ACPIAPIC_UP !ACPIAPIC_MP !MPS_UP !MPS_MP !SGI_MPS_MP !SYSPRO_MP !SGI_MPS_MP
devcon.exe sethwid @ROOT\ACPI_HAL\0000 := !E_ISA_UP !ACPIPIC_UP !ACPIAPIC_UP !ACPIAPIC_MP !MPS_UP !MPS_MP !SGI_MPS_MP !SYSPRO_MP !SGI_MPS_MP
devcon.exe sethwid @ROOT\PCI_HAL\0000 := +%HAL%
devcon.exe sethwid @ROOT\ACPI_HAL\0000 := +%HAL%
devcon.exe update %windir%\inf\hal.inf %HAL%
devcon.exe ReScan


Ensure that the "devcon.exe update %windir%\inf\hal.inf %HAL%" command does not report a failure. If it does fail, it may be necessary to temporarily install another HAL either from Device Manager or by changing the SET HAL=ACPIAPIC_MP line and re-running the script.

After this shutdown the virtual machine, than power it back on. If the virtual machine does not boot try the following options:

- Reset the virtual machine from VMware Infrastructure Client
- Assign a single vCPU and boot the virtual machine

Once the virtual machine has successfully booted with the correct HAL use Device Manager | Computer | <HAL> | Update Driver to reinstall the HAL to ensure it is correctly installed.

Also be aware of the View | CPU History | One Graph, All CPUs option in Task Manager that will only show a single CPU graph, regardless of the number of correctly installed CPUs. Ensure this is set to One Graph Per CPU before investigating HAL options.

References

HAL options after Windows XP or Windows Server 2003 Setup
http://support.microsoft.com/kb/309283/

Brandon Gordon’s (AKA Notorious_bdg’s “HAL_Update.txt” Plug-in)
http://www.rtfm-ed.co.uk/downloads/HAL_Update.txt

Upgrading CPU’s for non-ACPI Compliant Systems after a P2V
http://www.rtfm-ed.co.uk/?p=42

You do not have the option to downgrade to a hardware abstraction layer that is set up to use a single-processor advanced programmable interrupt controller when you try to change the computer type by using Device Manager in Windows Server 2003
http://support.microsoft.com/kb/923425/

Products

VMware ESX 3.5
Microsoft Windows Server 2003 (any)

Created: 9th October 2008
Updated: 6th November 2008

Print View

© 2005-2024 Jamie Morrison