MS-DOS Configuration Management Pre-CONFIG.SYS

The following sections describe the configuration management carried out during early initialization of the operating system and before the statements of the CONFIG.SYS file are processed.

Hardware Profile Detection

Hardware profile detection determines the computer's hardware profile. Although most desktop computers will have only one hardware profile, dockable portables typically have one hardware profile for the undocked state and another for each dock to which they connect.

Hardware profile detection runs before the CONFIG.SYS file is executed during MS-DOS startup. Hardware profile detection combines interrupt checksums, BIOS COM/LPT data, BIOS machine identification data, Plug and Play BIOS Docking Station data, and, if possible, docking station data which is unique to each OEM and builds a 2 byte value known as the current hardware profile (or the current configuration).

Each hardware profile has a "friendly name." If the current hardware profile's friendly name exactly matches a top-level menu item in a multi-configured CONFIG.SYS file, that menu item or submenu is automatically selected.

The registry uses the current hardware profile to point the predefined key HKEY_CURRENT_CONFIG to the correct location (subsidiary to the predefined key HKEY_LOCAL_MACHINE). For example, if the current hardware profile were 0x5107, HKEY_CURRENT_CONFIG would be initialized to HKEY_LOCAL_MACHINE\CONFIG\5107.

Select Appropriate Boot Configuration

Windows 95 expands on the MS-DOS 6.0 ability to allow multiple-configuration boots. Windows 95 allows Windows applications and drivers to be configuration-aware. By examining a DockSerialID returned by a Plug and Play BIOS, the system will attempt to automatically determine the appropriate state to boot the system in. If the appropriate state can not be determined, the user will be prompted to select the correct state from several configurations with the same DockSerialID. If a new DockSerialID is generated that the user has not had before (for example, if the user plugs into a new docking station in a friend's office), the user is asked to run full-scale hardware detection and associate a friendly name (for example, "Docked in Jane's office,") with the new DockSerialID.