Windows NT reports a single processor after you apply a service pack

This article was previously published under Q168132
This article has been archived. It is offered "as is" and will no longer be updated.
SYMPTOMS
After you apply a Windows NT service pack on a multiprocessor system, youfind that Windows NT now only reports a single processor installed.

Prior to installing the service pack, you were running with multiprocessorversions of the Hal.dll and Ntoskrnl.exe files.

Applying a Windows NT service pack on a multi-processor computer may cause the computer to stop responding (hang) on reboot immediately after the installation. This may occur during the logon sequence and can appear to be a service or device failure.
CAUSE
When Windows NT was originally installed on the computer, it may havecontained only a single processor and later had a hardware upgrade tomultiple processors.

On Compaq computers, you can upgrade Windows NT to support multipleprocessors by using the Compaq Software Support Diskette (SSD) andChoosing the Multiprocessor support option. This installs the necessaryfiles to support multiprocessors.

Alternately, the Windows NT Resource Kit utility called Uptomp.exeallows you to upgrade Windows NT to support multiprocessors.

The problem is that neither of these 2 utilities, Compaq SSD or theWindows NT 3.5x Uptomp.exe utility, update the Setup.log file foundin the %SystemRoot%\Repair directory.
Note The "Windows NT 4.0 Resource Kit" does correctly update the Setup.logfile.

The Setup.log was created when Windows NT was first installed and containsinformation about the files copied to your system during Windows NT setup.Consequently, the file reflects the information for a single processorcomputer. When service packs are installed, the Setup.log file is parsedlooking for the correct Hal.dll and Ntoskrnl.exe to replace. Because theSetup.log shows single processor components, the service pack Update.exeprogram replaces the multiprocessor files with single processor files (thustaking you back to the single processor environment). Furthermore,additional support files are different between single and multiprocessorcomputers.
RESOLUTION
By modifying the %SystemRoot%\Repair\Setup.log file, you can tell theservice pack Update.exe program to load the correct multiprocessorcomponents (thus taking you back to multiprocessor support and at the sametime ensuring that future service packs install correctly).

Steps to fix the Setup.log and restore your system to multiprocessors:
  1. Remove the read only and hidden attributes on the%SystemRoot%\Repair\Setup.log file.
  2. Make a backup copy of the %SystemRoot%\Repair\Setup.log.
  3. Open the Setup.log using notepad.
  4. Search for and modify the following lines, being carefulto use the correct operating system version section andproper HAL for your computer type:
        HALSP.DLL = For Compaq Systempro, Systempro/XL, ProLiant 2000, 4000, and 4500 systems only.    HALMPS.DLL = Multiprocessor HAL for APIC support and for the Compaq ProLiant 1500 and 5000						

    Windows NT 3.5

    Modify the entries under [Files.WinNt] section to the following:
    \<%SystemRoot%>\System32\Ntoskrnl.exe = "NTKRNLMP.EXE","bc81d"\<%SystemRoot%>\System32\Kernel32.dll = "KERNEL32.DLL","65c96"\<%SystemRoot%>\System32\Winsrv.dll = "WINSRV.DLL","1ac2a1"\<%SystemRoot%>\System32\Ntdll.dll = "NTDLL.DLL","47eca"
    Then select one of the following HALs and modify the line.
    \<%SystemRoot%>\System32\hal.dll = "HALSP.DLL","15d8d"\<%SystemRoot%>\System32\hal.dll = "HALMPS.DLL","1b729"
    Note %SystemRoot% represents the directory name where Windows NT isinstalled.

    Windows NT 3.51

    Modify the entries under [Files.WinNt] section to the following:
    \<%SystemRoot%>\System32\Ntoskrnl.exe = "NTKRNLMP.EXE","cb271"\<%SystemRoot%>\System32\Kernel32.dll = "KERNEL32.DLL","5d99a"\<%SystemRoot%>\System32\Winsrv.dll = "WINSRV.DLL","155a67"\<%SystemRoot%>\System32\Ntdll.dll = "NTDLL.DLL","5830f"
    Then select one of the following HALs and modify the line.
    \<%SystemRoot%>\System32\hal.dll = "HALSP.DLL","1905a"\<%SystemRoot%>\System32\hal.dll = "HALMPS.DLL","18039"
    Note %SystemRoot% represents the directory name where Windows NT isinstalled.

    Windows NT 4.0

    Modify the entries under [Files.WinNt] section to the following:
    \<%SystemRoot%>\System32\Ntoskrnl.exe = "NTKRNLMP.EXE","e76ab"\<%SystemRoot%>\System32\Kernel32.dll = "KERNEL32.DLL","5b7f8"\<%SystemRoot%>\System32\Winsrv.dll = "WINSRV.DLL","37b4e"\<%SystemRoot%>\System32\Ntdll.dll = "NTDLL.DLL","59c19"\<%SystemRoot%>\System32\win32k.sys = "WIN32K.SYS","132603"
    Then, select one of the following HALs and modify the line:
    \<%SystemRoot%>\System32\hal.dll = "HALSP.DLL","0f337"\<%SystemRoot%>\System32\hal.dll = "HALMPS.DLL","1a01c"
    Note %SystemRoot% represents the directory name where Windows NT is installed.

    Windows NT 4.0 Terminal Server Edition

    Modify the entries under [Files.WinNt] section to the following:
    \<%SystemRoot%>\System32\Ntoskrnl.exe = "NTKRNLMP.EXE","fe754"\<%SystemRoot%>\System32\Kernel32.dll = "KERNEL32.DLL","700ee"\<%SystemRoot%>\System32\Winsrv.dll = "WINSRV.DLL","3e526"\<%SystemRoot%>\System32\Ntdll.dll = "NTDLL.DLL","62b31"\<%SystemRoot%>\System32\win32k.sys = "WIN32K.SYS","140e95"
    Then select one of the following HALs and modify the line:
    \<%SystemRoot%>\System32\hal.dll = "HALSP.DLL","15a34"\<%SystemRoot%>\System32\hal.dll = "HALMPS.DLL","1a062"
    Note %SystemRoot% represents the directory name where Windows NT is installed.
  5. Save the modified Setup.log to the %SystemRoot%\Repairdirectory.
  6. Reapply the service pack to take you back to MPS support.
MORE INFORMATION
For more information, click the following article numbers to view the articles in the Microsoft Knowledge Base:
124541 Use Uptomp.exe to upgrade single-processor to multiprocessor
156612 Using Windows NT 3.5x Uptomp.exe to upgrade Windows NT 4.0 systems to multiprocessor
148245 Upgrading from uni- to multi-processor requires service pack
C0000249 sp1 sp2 sp3 sp4 sp5 ntmp 0xC0000249
Properties

Article ID: 168132 - Last Review: 02/28/2014 08:06:24 - Revision: 2.3

Microsoft Windows NT Workstation 3.5, Microsoft Windows NT Workstation 3.51, Microsoft Windows NT Workstation 4.0 Developer Edition, Microsoft Windows NT Server 3.5, Microsoft Windows NT Server 3.51, Microsoft Windows NT Server 4.0 Standard Edition, Microsoft Windows NT Server 4.0, Terminal Server Edition

  • kbnosurvey kbarchive kbsetup KB168132
Feedback