Jump to content

sysprep with HAL?


Recommended Posts

If I have created a standard image, do I need to change the HAL if I run sysprep after the machine is ghosted. (when it boots, sysprep runs).

I have IBM laptops and HP desktops. There is no proprietary software on either of them. The image was designed off a XP corporate install image.

If I do need to change the Hals, how do i?

Link to comment
Share on other sites


It all depends upon the HAL on your build machine and the correct HALs on your target machines. Using sysprep you can change between MPS uniprocessor HAL and MPS multiprocessor HAL, or ACPI uniprocessor HAL and ACPI Multiprocessor HAL.

If your build machine is Uniprocessor (UP) add UpdateUPHAL="APCIAPIC_MP,%windir%\inf\hal.inf" to the [unattended] section of your sysprep.inf file then run sysprep, capture and deploy. change the MP to UP if it is built on a Multiprocessor and you are deploying to UP.

In theory the same thing holds true for MPS HALs but I don't have any to try it on, just chance ACPIAPIC to MPS.

I have successfully deployed an image built on a Dell Gx300 (UP HAL) to IBM thinkpad t43, x41, z60t, r51, Thinkcenter m51, m52, Dell optiplex gx100, gateway e4000, so far without any issues other than forgetting to have added all of the correct hardware drivers.

Link to comment
Share on other sites

open device manager and look under Computer it will be one of six:

ACPI Uniprocessor PC

ACPI Multiprocessor PC

MPS Multiprocessor PC

MPS Uniprocessor PC

Standard PC

Advanced Configuration and Power Interface (ACPI) PC

You don't want one of the last two.

Link to comment
Share on other sites

open device manager and look under Computer it will be one of six:

ACPI Uniprocessor PC

ACPI Multiprocessor PC

MPS Multiprocessor PC

MPS Uniprocessor PC

Standard PC

Advanced Configuration and Power Interface (ACPI) PC

You don't want one of the last two.

s***. I have ACPI PC listed.

I guess I should check one out of the box, before it gets imaged. (im running on an imaged machine. I am designing th new image, so this computer may be 'tainted'. What would you suggest?

Link to comment
Share on other sites

Here is I recommend, as an alternative to adding the UPDATE HAL line to Sysprep.

Include in your image a folder containing the HALAACPI.DLL, HALACPI.DLL, HALAPIC.DLL, HALMACPI.DLL, HALMPS.DLL, HALSP.DLL (ie. c:\HAL). Windows loads the driver necessary automatically, but what is really occuring is Windows is copying, and renaming the above DLL files as HAL.DLL in the %SYSTEMROOT%\System32 folder. If you right click the HAL.DLL file, and Version -> Original File Name, you will see what I mean.

Now, you can sysprep the computer. If the computer locks on startup, and it isn't the MassStorageController problem, boot into the recovery console. Rename the HAL.DLL as HAL.OLD, and copy the correct DLL in it's place. Make sure to rename as HAL.DLL. Most new computers are HALAACPI.DLL if they are desktops or laptops. Older machines typically are HALACPI.DLL.

Link to comment
Share on other sites

What model machine is it?

I have found that most of the machines I have done in the last 3-4 years have all been ACPI uni/multiprocessor PC HALs.

It may have been incorrectly detected or manually set. There is a method of manually changing the HAL but it is not supported by M$ and it has been known to cause problems.

Link to comment
Share on other sites

I'm trying to consolidate all of our images and I'm finding that I have very recent systems with the Advanced Configuration and Power Interface (ACPI) PC. My Latitude M60 has that, but we have an image for the D610 that's running the ACPI Uniprocessor PC. I'm afraid the person that created our current image just dropped the old image onto a system, updated it and sysprepped it again.

Since we use a highly customized unattended process (not controlled by us) where can I look to see if they have manually set the HAL?

Also, can you safely switch between ACPI and ACPI Uniprocessor HALs?

Link to comment
Share on other sites

Also, can you safely switch between ACPI and ACPI Uniprocessor HALs?
The Microsoft answer is no, and the sysprep answer is also no.

The Microsoft supported method to do this is an in place upgrade or repair.

I'm afraid the person that created our current image just dropped the old image onto a system, updated it and sysprepped it again.

Highly possible, I have not seen a system recently, since the Intel added HT to the P4 that wasn't an ACPI Uni/multiprocessor HAL.

Since we use a highly customized unattended process (not controlled by us) where can I look to see if they have manually set the HAL?

There is not a location that I know of to determine this. You could do clean install of Xp to the system and see what was loaded by the clean install.

Link to comment
Share on other sites

If you look at your systemdrive\windows\system32\$winnt$.inf File on an imaged box, that is the sysprep.ini file that was used upon sysprep'n.

You can check that for signs of the HAL assignment as mentioned in the first reply, in both the first section as well as the GuiRunOnce section at the bottom (which may execute a batch file or sorts that you will need to read through)

You may also check through any batch files that may be ran silently when the machine is going through the sysprep process. It may require that you look at a base image - the image that is everything before sysprep is ran and then another image is taken.

Look through the cmdlines.txt file to see if it links to batch files or something similar that may have lines of code regarding a HAL modification.

Those are just a few options you can look into

Link to comment
Share on other sites

Unfortunately, we delete the $winnt$.inf file, but I do know nothing is being done to the HAL during sysprep, or afterwards. We can't control the unattended, but I have access to the sysprep portion. I'm working on an alternative now to run a script against a few hundred machines and log the system model and original filename of hal.dll. At least I'll be able to see what is out in the environment now.

Looks like I'll need to refresh our images for all the different HAL's. What a pain! Thanks IcemanND for confirming what I already thought would be the case. I also like the idea of the fresh install to see what Windows chooses so I'm adding that to my build process for new hardware. I plan to dump msinfo32 so I know exactly what HW was on my master. Thanks for the idea!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...