Novell is now a part of Micro Focus

Loading the Appropriate HAL via a single Image

Novell Cool Solutions: Tip
By Pete Demers

Digg This - Slashdot This

Updated: 18 Oct 2006

ZENworks 7 Boot CD or ZENworks 7 PXE environment

PROBLEM: In our environment we use a single image for our entire enterprise. In order to take advantage of Hyper-Threading or Multi Core processors we needed to be able to load the multi-processor HAL (Hardware Abstraction Layer).

SOLUTION: Using the executable 'hwinfo' in the ZENworks boot environment we can determine if the PC is SMP enabled.

Using the different HAL's described in the MS Knowledge Base article, we can create an addon image that contains the appropriate HAL. This image file can be loaded after our base image.

Computers with Hyper-Threading enabled will be evaluated as multi-core processor systems.


#Determine if the PC is SMP capable
#Returned values are 0=false, 1=true
#Load the appropiate HAL for the number of processors
#This needs to be at the end of the script after
#the base image has been applied to the PC

   if [ `hwinfo --smp | grep -ic 'Yes'` = "1" ]; then
      img rp $PROXYADDR //$PROXYADDR/vol1/image/prod/2_75/Base/halmacpi.zmg

If you have any questions you may contact Pete at

Other Suggestions

  • Perry Jordan
  • BozNew
  • Perry Jordan

    About the issue of utilizing a single image for any type HAL-equipped XP workstation and optimizing application installation, here's how I do it.

    When new hardware comes into our office, I install a fresh copy of Windows XP. I copy the files HAL.DLL and NTOSKRNL.EXE which are generated during the installation to a folder named after the appropriate HAL. I use a base image on every other PC. After imaging and before entering the OS, I boot to the Windows XP CD. I select repair a Windows installation using the Recovery Console. Within the recovery console, I copy the appropriate HAL.DLL and NTOSKRNL.EXE file to the C:\Windows\System32 folder, overwriting the existing ones. I then reboot and the PC comes up properly configured. I then reboot again, log on as a user (ZENUSER) I have setup to receive all our standard applications installed by ZENworks and sit back and relax.


    While working with another user to get this solution working in his environment, Boz came across the following information that will help clarify this solution. In addition to updating the hal.dll the files ntkrnlpa.exe and ntoskrnl.exe files also need to be updated to multiprocessor support. Thanks for the info Boz!

    Advanced Configuration and Power Interface (ACPI) PC
    - halacpi.dll (renamed to hal.dll)
    - ntkrnlpa.exe
    - ntoskrnl.exe

    ACPI Uniprocessor PC
    - halaacpi.dll (renamed to hal.dll)
    - ntkrnlpa.exe
    - ntoskrnl.exe

    ACPI Multiprocessor PC
    - halmacpi.dll (renamed to hal.dll)
    - ntkrpamp.exe (renamed to ntkrnlpa.exe)
    - ntkrnlmp.exe (renamed to ntoskrnl.exe)

    For more information look at this link!

    Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions.

    © Copyright Micro Focus or one of its affiliates