Sysprep, Standard PC, ACPI, Ghost Images

NEVER try creating a ghost or sysprep image with your source computer’s HAL set to Standard PC!
I wish I had noticed this critical point in documentation earlier:

You can deploy a Sysprep image created on a computer that uses a Standard PC, Non-ACPI PIC HAL (Hal.dll) to a computer that uses the following HAL types:
 • Standard PC, Non-ACPI PIC HAL (Hal.dll)

Cheers Microsoft, no wonder I was having so much trouble trying to get the image to work properly!

The problem arose when I thought I would be clever and prepare the Ghost Image on VMWare, then Sysprep it out using Mysysprep to select the right HAL type, but then wasted all this time trying to get it to work when it was because the VMWare image had set the HAL to Standard PC (which I was aware of, but I thought that MySysprep was able to change the HAL on deployment). I am currently running a Repair Install of XPSP3, hoping that maybe this time I will get a little further.

Leave a Reply

  1. I haven’t tried using “Standard PC”, the non-ACPI HAL as a base but using “Advanced Configuration and Power Interface (ACPI) PC”, the PIC-based ACPI HAL, I’ve successfully deployed this to any Dell machine my organization has (ranging from an OptiPlex GX1 with a P2-266 and 440BX to an OptiPlex 755 with a Core2 on the G35 with laptops made in similar time) with the proper HAL (always ACPI but either PIC or APIC based with some using multiprocessor) by using -bmsd and adding the AHCI drivers to the list.

    MS doesn’t support changing HALs except as a diagnostic step and only supports the proper HAL on any machine. Using Ghost, Sysprep and MySysprep in this way is not supported but works perfectly. I think they only support using RIS or the Install CD to start a system for a new HAL. Supposedly, ACPI APIC HALs will switch automatically in XP and 2003 but I haven’t tested this (between the ACPI APIC-UP and ACPI APIC-MP HALs). The list in the KB article you site is what they support not what is possible. ACPI APIC to ACPI PIC is possible if done beforehand (MySysprep can’t as the boot environment is in the APIC HAL which can’t boot on a PIC machine).

  2. Cracks me up how this blogging of yours has now been completely dominated by such a subject that only a very small minority will ever be interested in……

    P.s. Did I say it nicely??…. although I’m sure your very well aware… I just felt like emphasizing it.

    : )

  3. Hey Ruby-Rose,

    To disprove your point, in less than two weeks here is the second interested reader commenting while in the “Very Small Minority”.

  4. You could do it manually (by any of various methods: changing it in Device Manager, loading the appropriate files manually, etc) or, the documentation of SYSPREP seems to hint on changing it from the sysprep.inf. I have not tried either. Changing it with SYSPREP depends on where SYSPREP implements the HAL change, while still actively booted, in the boot loader (doubtful) or in the Preboot environment that SYSPREP runs most of its magic. If in the preboot, you’re already SOL as you’re attempting an APIC HAL on a PIC machine.

    For the creation of my master images, I’m using a Dell OptiPlex GX150, equipped with the best hardware I can as it is the most powerful PIC-based machine we have. If I were to change to a more current APIC-based machine while still wanting PIC compatibility, I’d merely SYSPREP but not do anything with the HAL.

  5. I think on my latest image I am using ACPI Uniprocessor PC which seems to be working well. It seems to automatically upgrade to the multiprocessor ACPI when rolling it out to the Core 2 Duos, etc. I haven’t tried putting it on any GX150s, although I think it went onto a GX50 fine?
    We are mostly using GX270’s though.