Hi Tripredacus, Thanks for your reply. I heard about there is only one universal HAL is being used in Vista and later operating systems. Is this true? If so, which HAL.DLL it is using (latest WinPE 2.1, Vista/2008 based)? I need to detect the MP/UP of the machine booted from the WinPE. In older version of WinPE (1.5, 2003 SP1 based), we know this details from the following registry entry. HKLM\SYSTEM\CurrentControlSet\Enum\Root\ACPI_HAL\0000\HardwareID ACPIAPIC_UP - for Uni processor ACPIAPIC_MP - for Multi processor But, in the new version of WinPE the HardwareID is always ACPIAPIC for UP and MP machines. Thanks