I've often added CPUs to Windows NT 4.0 systems that use the Multiprocessor Specification (MPS) Uniprocessor PC hardware abstraction layer (HAL), and those systems have always automatically recognized the new CPUs. However, I recently added a second CPU to my Windows 2000 Professional system, and the Microsoft System Information utility (which I can launch by running either msinfo32.exe or winmsd.exe) and Device Manager both claim that the machine is still a uniprocessor system. The machine recognizes the second CPU at a hardware level, though, and the CPU shows up in the system BIOS menu. I confirmed that the MPS Uniprocessor PC HAL is installed on the system. Am I doing something wrong, or does my system have a problem?

When a system has an x86-compatible motherboard that supports only one CPU, Win2K Setup or NT Setup installs a generic x86 system HAL: the Standard PC HAL. When a motherboard supports more than one CPU but has only one CPU installed, Setup detects and installs a different HAL: the MPS Uniprocessor PC HAL. (In some instances, Setup might fail to install the MPS Uniprocessor PC HAL on a multiprocessor-capable computer. See Windows 2000 Pro, "Migrating to Multiprocessor Configurations," May 2001, for information about dealing with these situations. Also, if your system uses a third-party HAL from your system vendor or OEM, you might need to obtain additional files or follow a special procedure to enable multiprocessor support. Be sure to check with your system vendor before you proceed with my recommendations.) When you install a second CPU, your HAL needs to change to the MPS Multiprocessor PC HAL.

On an NT 4.0 system, changing from a single to a multiprocessor configuration is easiest with systems that already have the MPS Uniprocessor PC HAL installed. In these cases, the system typically detects the addition of the new CPU and automatically switches to the MPS Multiprocessor PC HAL.

Win2K handles HAL modifications and added support for multiple processors on uniprocessor systems a bit differently than NT 4.0 does. On a Win2K system, the uniprocessor-to-multiprocessor update procedure is far easier and is the same regardless of whether you're moving to an MPS Multiprocessor HAL from a Standard PC or from an MPS Uniprocessor PC configuration. However, both cases involve using Device Manager to manually change the HAL.

Go to the Control Panel System applet's Hardware tab, and click Device Manager. Expand the Computer container and double-click the computer's HAL name (e.g., Standard PC) to open a Properties dialog box. Go to the Driver tab and click Update Driver to launch the Upgrade Device Driver Wizard. Click Next, then select the option to display a list of known drivers. Select MPS Multiprocessor PC, then click Next to install the software. At this point, Win2K informs you that it needs to reboot the system to complete the change. After the reboot, the system should recognize and support both CPUs. (For more information about the various types of HALs and a more detailed comparison of Win2K's and NT's methods of configuring multiprocessor support, see "Migrating to Multiprocessor Configurations.")