sGorges Posted May 26, 2010 Posted May 26, 2010 I am having an issue detecting the ACPI HAL using WinPE 3.0. In the old (xp) version I was able to detect the machine HAL by looking at the following Registry key (HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\Root\ACPI_HAL\0000) and then reading the "HardwareID" value. On a multiprocessor machine using old PE boot media this would read as "acpiapic_mp" but with my new WinPE 3 boot media this value is "acpiapic" which is a uniprocessor. Can anyone else confirm this or am I missing something from my PE build?I might add that I have quite a bit of experience with the old PE build process but I am still new to the new PE 3.0 way of doing things.Thanks in advance!!
arwidmark Posted May 26, 2010 Posted May 26, 2010 Count the number of processors too...Sub UpdateSysprepinf () ' Find out the HAL type sHalType = oWshShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Enum\Root\ACPI_HAL\0000\HardwareID") If sHalType(0) = "acpiapic" Then if oWshShell.Environment.item("NUMBER_OF_PROCESSORS") = 1 then WriteIni "c:\sysprep\sysprep.inf", "Unattended", "UpdateUPHAL", "ACPIAPIC_UP,%WINDIR%\Inf\Hal.inf" else writeini "c:\sysprep\sysprep.inf", "Unattended", "UpdateHAL", "ACPIAPIC_MP,%WINDIR%\Inf\Hal.inf" end if ElseIf sHalType(0) = "acpiapic_up" Then WriteIni "c:\sysprep\sysprep.inf", "Unattended", "UpdateUPHAL", "ACPIAPIC_UP,%WINDIR%\Inf\Hal.inf" ElseIf sHalType(0) = "acpiapic_mp" Then writeini "c:\sysprep\sysprep.inf", "Unattended", "UpdateHAL", "ACPIAPIC_MP,%WINDIR%\Inf\Hal.inf" End ifEnd Sub/ Johan
sGorges Posted May 26, 2010 Author Posted May 26, 2010 Count the number of processors too...Sub UpdateSysprepinf () ' Find out the HAL type sHalType = oWshShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Enum\Root\ACPI_HAL\0000\HardwareID") If sHalType(0) = "acpiapic" Then if oWshShell.Environment.item("NUMBER_OF_PROCESSORS") = 1 then WriteIni "c:\sysprep\sysprep.inf", "Unattended", "UpdateUPHAL", "ACPIAPIC_UP,%WINDIR%\Inf\Hal.inf" else writeini "c:\sysprep\sysprep.inf", "Unattended", "UpdateHAL", "ACPIAPIC_MP,%WINDIR%\Inf\Hal.inf" end if ElseIf sHalType(0) = "acpiapic_up" Then WriteIni "c:\sysprep\sysprep.inf", "Unattended", "UpdateUPHAL", "ACPIAPIC_UP,%WINDIR%\Inf\Hal.inf" ElseIf sHalType(0) = "acpiapic_mp" Then writeini "c:\sysprep\sysprep.inf", "Unattended", "UpdateHAL", "ACPIAPIC_MP,%WINDIR%\Inf\Hal.inf" End ifEnd Sub/ JohanThat is pretty much the same code I use and what I am attempting to do, but with my WinPE 3.0 boot media it always returns "acpiapic". If I open regedit and browse to that key and the value is "acpiapic" so my script/code is working correctly but WinPE is not detecting it correctly.
sGorges Posted May 26, 2010 Author Posted May 26, 2010 Is there someone else with WinPE 3.0 boot media that can boot it up and check their registry (HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\ACPI_HAL\0000) and see if they have anything other than "acpiapic" in the "HardwareID" value? If so I would really like to see your PE build script. Any help is greatly appreciated!
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now