Hello Pete,
Here are a couple of suggestions for you:
To check which HAL the computer uses
On the taskbar, click Start, and then click Run.
Type DEVMGMT.MSC, and then click OK.
Device Manager will open.
In Device Manager, click the plus sign (+) next to the Computer icon to
expand the Computer branch and display the HAL type.
To ensure that Sysprep images are compatible with systems that enable
hyper-threading, you must create the master image on one of the following
types of systems:
An ACPI-compliant computer that enables hyper-threading
An APIC-based computer running ACPI that Device Manager refers to as "ACPI
Uniprocessor PC"
An ACPI-compliant multiprocessor computer
If you do not create the Sysprep image on one of these types of systems,
Windows is not able to update the system to use multiple processors. A
Sysprep image made on an ACPI-compliant multiprocessor computer will run in a
multiprocessor configuration even if support for hyper-threading is turned
off in the BIOS.
Windows automatically uses the hyper-threading capabilities of the processor
if the following conditions are present:
The computer hardware supports hyper-threading and this functionality is
enabled in the computer's BIOS.
Hyper-threading functionality is installed in the computer processor.
The Windows installation uses the ACPI Uniprocessor PC HAL.
Windows detects one or more processors or enabled threads.
When these conditions are present, Windows automatically updates the HAL to
the "ACPI Multiprocessor PC" HAL and and installs an additional processor,
which is listed under Processors in Device Manager.
When running, the HAL type must be "ACPI Multiprocessor PC" or the
hyper-threading capabilities of the processor will not be used. If the HAL
type is "ACPI Uniprocessor PC," then one or more of the previously listed
conditions is not present.
UpdateHAL
Loads the multiprocessor hardware abstraction layer (HAL) on the destination
computer, regardless of whether it is a uniprocessor or an multiprocessor
computer.
Syntax UpdateHAL = hwid,%WINDIR%\inf\hal.inf
Value hwid,%WINDIR%\inf\hal.inf
(where hwid is either MPS_MP or ACPIAPIC_MP)
Example UpdateHAL = MPS_MP,%WINDIR%\inf\hal.inf
Comments Valid only for Sysprep.inf. Not required in Windows XP or the
Windows Server 2003 family.
Important
Do not use a Sysprep.inf file containing this entry on destination
uniprocessor computers. A multiprocessor kernel on a uniprocessor computer
noticeably reduces the computer's performance.
An image created on a computer with a single processor (with no
multiprocessor support) cannot be used on a multiprocessor computer.
Add the modified Sysprep.inf file to the destination computer, in the
%SYSTEMDRIVE%\Sysprep directory.