Uni-Proc vs. Multi-proc

Recently, we have begun rolling out systems in earnest using Windows Deployment Services. While we’re not yet using Vista, WDS has proved extremely useful for loading XP machines in timespans and situations where Ghost is not suitable. One of the more recent problems that cropped up has brought to light the differences between Uni-processor (UP) and Multi-Processor (MP) HAL’s. Specifically, I have a boat-load of Gateway E4500 systems that need to be imaged. Since they were all bought in one big batch I made the (completely incorrect) assumption that they were all identical machines. I had never before noticed any difference, so imagine my surprise when all of these systems would successfully boot WinPE, but 1/3 of them could not see any images.

I thought it might be a BIOS issue, a problem with the RAM or perhaps a bad HDD. After banging my head against the desk for a few hours I glanced up to notice that the Intel stickers on the 2 test machines were different. Could it really be that easy?

 Sure enough, the HAL is just different enough and UP machines won’t see MP images and vice versa. So what’s the solution? To take a MP image and create a UP image from it, edit your sysprep.inf file. In the [Unattended] section, add this line:

UpdateUPHAL = ACPIAPIC_UP,%WINDIR%InfHal.inf

Afterwards, run sysprep as normal, but DO NOT upload the image to your WDS server yet. Instead, reboot the machine and complete setup. The HAL type is updated only when the mini-setup reads your inf file. After you’ve used the image on the hdd to reinstall, sysprep the system again and upload it to your WDS server. Make sure to name the image something different than the MP image, or you’ll just have to create another MP image.

Leave a Reply

You must be logged in to post a comment.