Last year, I came upon a Web site whose authors described adding a second processor to the site's server without reinstalling Windows NT after doing so. The server still had a single-processor kernel, leaving the second processor unused.

I wanted to add a second processor to my system, but my server is a production server with Microsoft Exchange Server, SQL Server, and other critical applications, so I was loath to reinstall NT. I have no backup server. I searched documentation, newsgroups, and asked peers, but I kept getting the same answers: Either reinstall NT after adding a second processor or use the uptomp.exe utility from the Microsoft Windows NT Server 4.0 Resource Kit and pray (it seems that uptomp has a bad reputation). I didn't like either of these options, and I began to think that I should stick with one processor.

After searching and thinking, I stumbled upon something that worked like a charm for me. Microsoft Support Online article Q168132 explains that you can accidentally wipe out a multiprocessor configuration while installing a service pack (SP), and that you can restore the configuration by editing the setup.log file and reinstalling the SP. The setup.log edits replace single processor system files with multiprocessor files. I realized that I could follow the same steps to give my system multiprocessor functionality without reinstalling NT or using uptomp. After some research about my configuration (I'm running NT Server 4.0 with SP3), I decided to try the edits.

My biggest challenge was determining which hardware abstraction layer (HAL) the hardware required—not even the vendor, a well known and highly respected company, could tell me with 100 percent certainty. I used the vendor's suggestion (halmps.dll) because it made sense, but you need to be very careful and ensure that you understand what you're doing before proceeding. If you apply the wrong HAL, you can disable your system. Before you proceed, I suggest that you create an Emergency Repair Disk (ERD). For information about creating an ERD, see Michael D. Reilly's The Emergency Repair Disk, January 1997.

Final results: I'm one happy customer. I upgraded to a multiprocessor environment with no repercussions for my applications and with minimal downtime. I have since applied SP4 to the system, and everything continues to run smoothly.