Jump to content

Incorrect ACPI_HAL detection in WinPE 3.0


Recommended Posts

Posted

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!!


Posted

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 if

End Sub

/ Johan

Posted

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 if

End Sub

/ Johan

That 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.

Posted

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!

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...