So I built a multiboot image and built a .NET application that launches on bootup to install network card, join the computer to the domain, install cisco vpn (must be done after sysprep -- garbage!), install other hardware drivers from network location, etc. The problem I have is with IBM ThinkPad T43 which have the NSC TPM device. As mentioned, it needs and works fine as Uniprocessor PC. And I tried using the UPHal thing in sysprep - which works - but it changes the hal for the regular machines too. Is it supposed to always update the hal, or only if needed? As of right now I have one base image, but then I sysprep it 2 different ways (one with the hal up line, one without) and the person who's ghosting has to know whether the destination PC is a UPPC or a ACPIUPPC. Booting the image with the halup line in sysprep on a ACPIUPPC doesn't work -- it tries to update the hal and won't boot anymore. Anyway to get this working? Maybe my Hal.INF file is incorrect.... i just googled to find it -- nobody here gave directions on where to get it (and it's not in i386). Thanks in advance.