Geoff Chappell - Software Analyst
The detecthal option directs the loader to detect which kernel and Hardware Abstraction Layer (HAL) to load.
To have the BCDEDIT tool set the detecthal option for the currently running operating system, run the command
bcdedit /set detecthal boolean
where boolean is one of 1, on, yes or true.
To set this option at the Edit Boot Options Menu, add /detecthal.
The detecthal option forces the loader to choose from a hard-coded selection of possible HALs and kernels, overriding any alternative specifications in hal or kernel options.
The chosen HAL is:
halmacpi.dll | if the ACPI description tables include a Multiple APIC Description Table |
halacpi.dll | otherwise |
The test for choosing HALMACPI.DLL requires the Advanced Configuration and Power Interface (ACPI). A Root System Description Pointer (RSDP) must be present either in the Extended BIOS Data Area or in the 128KB at physical address 0x000E0000. From this must be found either a Root System Description Table (RSDT) or preferably an Extended System Description Table (XSDT). Each points the way to other description tables. If one of these has the ‘APIC’ signature expected for a Multiple APIC Description Table, then the loader chooses HALMACPI.DLL.
The chosen kernel is:
ntkrnlpa.exe | if using PAE |
ntoskrnl.exe | otherwise |
Whether the loader, and thence the kernel, uses Physical Address Extension (PAE) depends on the pae and nx options.