Boot Options: hal

The hal option specifies an executable to load as the Hardware Abstraction Layer (HAL).

Syntax

To have the BCDEDIT tool set the hal option for the currently running operating system, run the command

bcdedit /set hal filename 

where filename names the proposed HAL.

To set this option at the Edit Boot Options Menu, add

/hal=filename 

which is also the syntax for the option as a BOOT.INI switch in earlier Windows versions.

Behaviour

The hal option overrides the loader’s default selection of the HAL, but is itself overridden by detecthal:

halacpi.dll or halmacpi.dll if detecthal is true
filename if hal evaluates as filename
hal.dll otherwise

The loader appends the filename to the path for the “system32” subdirectory of the systemroot directory for the selected operating system. However, it seems that the file is required to be in the directory, as opposed to being on some deeper path. The mechanisms are indirect and are presently beyond the scope of this note.