Monday, June 05, 2006

HAL

Reducing the Number of Master Images for Computers with Multiprocessors



If you use images as part of your manufacturing process, you can preinstall the same Windows image on both multiprocessor (MP) and uniprocessor (UP) computers, as long as the master computer and the destination computer are both Advanced Programmable Interrupt Controller (APIC) computers or both Advanced Configuration and Power Interface (ACPI) APIC computers.



For more information, see:




This table illustrates the type of destination computers where you can install a given master image, depending on the hardware abstraction layer (HAL) type of the computer used to create the master installation.















































HAL of Master InstallationHAL of Destination Computer
ACPI APIC UPACPI APIC MPNon-ACPI APIC UPNon-ACPI APIC MP
ACPI APIC UPXX  
ACPI APIC MPXX  
Non-ACPI APIC UP  XX
Non-ACPI APIC MP  XX


Important



  • The HAL type changes only if you run Sysprep in Mini-Setup mode. The HAL does not change if you run Sysprep in Factory or Reseal mode.

  • Do not attempt to change from an ACPI HAL to a standard HAL or from a standard HAL to an ACPI HAL under any circumstances. Doing so will result in your computer not starting properly or possibly not starting at all. Because the device tree structures of the two HAL types are drastically different, the system is unaware of any hardware changes after the computer restarts, including the location of the boot device. Microsoft does not recommend or support this procedure because it will result in data loss.

    For more information on HAL options, see the Microsoft Knowledge Base, article 309283.





Notes



  • Windows XP Home Edition does not support multiprocessors.

  • You can install a master installation only from an ACPI PIC computer to an ACPI PIC destination computer.

  • You can install a master installation only from a non-ACPI UP PIC computer to a non-ACPI UP PIC destination computer.

  • An image created on a computer with a single processor (with no multiprocessor support) cannot be used on a multiprocessor computer.

  • More interrupts are available with APIC systems than with Processor Interrupt Controller (PIC) uniprocessor systems. As a result, a computer with an APIC HAL:

    • Has faster response times.

    • Can support more hardware devices.




There are two techniques for creating images that you can use on both MP and UP systems. Choose the technique that works best for you and your manufacturing environment.



Applying a Multiprocessor Master Installation to a Uniprocessor Destination Computer




In the first technique, you create the master installation on an MP computer. You can then use this image on other MP computers or on UP computers.



Important



  • The HAL type of the computer where the master installation was created determines the type of destination computer where you can use the image:

    • You can use a master installation created on an ACPI APIC MP-based computer on other ACPI APIC MP- or ACPI APIC UP-based computers.

    • You can use a master installation created on a non-ACPI APIC MP-based computer on other non-ACPI APIC MP- or non-ACPI APIC UP-based computers.




To create an MP to UP image



  1. In Sysprep.inf, add:
    [Unattended]
    UpdateUPHAL = "hwid,%WINDIR%\Inf\Hal.inf"

    where hwid is either MPS_UP or ACPIAPIC_UP.


    For more information, see the UpdateUPHAL entry.



  2. Install the Windows configuration set to an MP computer.

  3. Run Sysprep in Mini-Setup mode with the Sysprep.inf file.

    For example, from the Sysprep folder run:


    C:\sysprep\sysprep -mini -quiet -shutdown


  4. Make an image of the installation.

  5. Place the image on comparable MP destination computers.




Applying a Uniprocessor Master Installation to a Multiprocessor Destination Computer





In the second technique, you create the master installation on a UP computer with an APIC HAL. You can then use this image to preinstall Windows on destination computers that use compatible hardware, whether the destination computer uses an APIC UP HAL or an APIC MP HAL.



Important



  • All versions of Windows XP and the Windows Server 2003 family using an APIC HAL (either ACPI or non-ACPI) automatically install the corresponding multiprocessor HAL upon detection of a second processor. This means that the UpdateHAL entry is necessary only for Windows versions older than Windows XP.



Important



The HAL type of the computer where the master installation was created determines the type of destination computer where you can use the image:



  • You can use a master installation created on an ACPI APIC UP-based computer on other ACPI APIC UP-based or ACPI APIC MP-based destination computers.

  • You can use a master installation created on a non-ACPI APIC UP-based computer on other non-ACPI APIC UP or non-ACPI APIC MP-based destination computers.



To create the UP to MP image



  1. Install Windows on a UP computer.

  2. Make an image of the installation.

  3. In Sysprep.inf, add:
    [Unattended]
    UpdateHAL = "hwid,%WINDIR%\Inf\Hal.inf"

    where hwid is either MPS_MP or ACPIAPIC_MP.


    For more information, see the UpdateHAL entry.


  4. Run Sysprep in Mini-Setup mode with this Sysprep.inf file.

    Important


    For example, from the Sysprep folder run:


    C:\sysprep\sysprep -mini -quiet -shutdown

  5. Make an image of the installation.

  6. Place the image on comparable MP destination computers.



Important



  • Do not use a Sysprep.inf file containing the UpdateHAL entry on destination UP computers because the UpdateHAL entry loads the MP HAL on the destination computer regardless of whether it is a UP or an MP computer. An MP kernel on a UP computer noticeably reduces the computer's performance.



You may use any tools that you normally use to manipulate files on the hard disk when creating new computers from an image.


Imaging machines using different HALs w/sysprep

Imaging machines using different HALs w/sysprep
One of the biggest problems with ghosting dissimilar machines is when they require different Hardware Abstraction Layers (HALs). For instance, an older Pentium 4 machine will use the Uniprocessor HAL, while a newer Pentium 4 machine likely has a hyperthreading processor or even a Pentium D Dual-Core Processor, both of which qualify for the Multiprocessor HAL.