You can't have a universal image HAL wise with Windows XP. My trick is to
manually replace the HAL and rebuild the image. It's not recommended nor
supported, but it does the trick.
What I do is pick an architecture that I use as my primary HAL (In this
case, it's the 'ACPI Multiprocessor PC' HAL) and build my image from that. I
then save that image using ghost to my server, then load it on a machine
that uses a different HAL (In my case, it's the 'Advanced Configuration
Power Interface (ACPI) PC' HAL). After ghost has finished restoring it,
Windows will sit in an endless reboot cycle and just won't boot. I then boot
off the XP CD and open the recovery console and manually copy the HAL
required off the CD to the system drive. When I've done that, I boot into
safe mode which detects a bunch of new core components, restart when
prompted and Windows boots fine. I then upload the image back as a copy of
the master, but for that HAL.
This isn't supported by Microsoft though, and I only do it because the
number of machines we service with this HAL is not worth the effort to
manually build another version of the image for each revision.
You need to use the expand command in the recovery console to inflate the
required HAL to restore it. This doesn't always seem to work for some reason
through the recovery console, so I did it in Windows on to a floppy disk
that I use to just do a straight copy and paste.
expand D:\i386\halacpi.dl_ c:\WINDOWS\system32\hal.dll
Should expand the hal and replace the existing one in the system directory.
See the attached KB article for a list of all the HALs and their assemblies.
The compressed versions on the Windows CD all end in .dl_
HAL List KB article:
http://support.microsoft.com/kb/309283/en-us