Microsoft KB Archive/237556

= How to Troubleshoot Windows 2000 Hardware Abstraction Layer Issues =

Article ID: 237556

Article Last Modified on 2/27/2007

-

APPLIES TO


 * Microsoft Windows 2000 Server
 * Microsoft Windows 2000 Advanced Server
 * Microsoft Windows 2000 Professional Edition

-



This article was previously published under Q237556



SUMMARY
In Windows 2000 there are several ways to troubleshoot issues related to the Hardware Abstraction Layer (HAL) that may occur as a result of misdetection, an outdated or non-compliant Advanced Configuration and Power Interface (ACPI) Basic Input/Output System (BIOS), or an incorrectly or manually installed computer type. This article describes some of the methods you can use to troubleshoot issues related to the HAL.

NOTE: In this article, the term "computer type" and "HAL" have the same meaning, and may be interchanged.



Determine Your Computer Type
To determine the computer type you are using:  Click Start, point to Settings, click Control Panel, and then double-click System. Click the Hardware tab, and then click Device Manager to view what is listed under the Computer branch. The following is the list of supported computer types.

Possible values for the HAL under Standard computers include:

ACPI Multiprocessor PC

ACPI Uniprocessor PC

Advanced Configuration and Power Interface (ACPI) PC

MPS Multiprocessor PC

MPS Uniprocessor PC

Standard PC

Possible values for the HAL under Compaq include:

Compaq SystemPro Multiprocessor or 100% Compatible

Possible values for the HAL under SGI include:

Silicon Graphics Visual Workstation



View or Change Installed Computer Type
To view or change the installed computer type:

WARNING: Note that you should not attempt to change from an ACPI HAL to a standard HAL or from a standard HAL to a ACPI HAL under any circumstances. Doing so will result in your computer not starting properly or at all. This occurs because the Plug and Play device tree that would be currently loaded is for ACPI, and it does not get reconstructed or revert to a standard HAL Plug and Play device tree. Because of this (the device tree structures being drastically different), the system is unaware of any hardware changes after the computer restarts to include the location of the boot device. Microsoft does not recommend or support this procedure as it will result in data loss.
 * 1) Click Start, point to Settings, click Control Panel, and then double-click System.
 * 2) Click the Hardware tab, and then click Device Manager to view what is listed under the Computer branch. As an example, "Standard PC", the detected computer type Windows 2000 installed on your computer, or an entry such as "Advanced Configuration Power Interface (ACPI) PC" may be listed.
 * 3) To change the installed computer type, click the Driver tab, and then click Update Drivers.

NOTE: You can only change or update your HAL from Device Manager under Computer Type when changing from a Standard PC HAL to a Standard Multiprocessor PC HAL, because changing from an ACPI HAL to a Standard HAL can result in your not being able to start your computer.

If you are unable to start your computer properly as a result of the wrong computer type (HAL) being installed after Windows 2000 Setup, start the Emergency Repair process:
 * 1) Start your computer by using the Windows 2000 Setup floppy disks, or with the Windows 2000 CD-ROM if your computer supports starting from a CD-ROM.
 * 2) At the Welcome to Setup screen, press R to repair.
 * 3) At the Windows 2000 Repair Options screen, press R to repair using the emergency repair process.
 * 4) Press M to manually select repair options and ensure that "Verify Windows 2000 system files" and "Inspect startup environment" features are selected, or press F to run all repair options.
 * 5) Once complete, the originally installed HAL and associated files should be restored. Remove the CD-ROM or floppy disk and then restart your computer.

NOTE: The incorrectly installed computer type is still visible in Device Manager.
 * 1) To ensure the correct computer type is visible in Device Manager, when you restart your computer, press F8, choose Last Known Good Configuration, and then press ENTER.
 * 2) Click the appropriate hardware profile (if more than one profile exists). On the hardware profile, click Configuration Recovery, press ENTER, and then permit Windows 2000 to start.

The optimum method to change from an ACPI HAL to a Standard HAL is to re-install Windows 2000 as an upgrade:  Start Windows 2000 Setup as an upgrade. To automatically disable ACPI support and allow Windows 2000 to detect automatically or manually change and install the correct (Standard HAL) computer type that your computer supports, use either of the following methods:

 To Auto detect the computer type:

Press F7 when Setup generates the following informational message:

Press F6 if you need to install a third party SCSI or RAID driver.

NOTE: You do not receive a visual indicator that auto detection is taking place when you press F7; proceed normally with setup until it is completed.

 To Manually Select your computer type:

Press F5, and then manually choose the correct Standard computer type by using the following list:</li></ul>

NOTE: You do not have to use the reinstallation method to update from a Standard PC HAL to a MPS Multiprocessor PC HAL, you can use the Update Drivers feature in Device Manager for this. However, you must reinstall Windows 2000 when going to an ACPI HAL computer type on a computer that was using the Standard computer type, and then permit Windows 2000 to automatically detect the correct computer type.

</li></ol>

If the Emergency Repair process cannot locate your repair information or if the repair information is invalid, recover your Windows 2000 installation by starting the Recovery Console:  Start your computer with the Windows 2000 Setup floppy disks, or with the Windows 2000 CD-ROM if your computer supports starting from CD-ROM. At the Welcome to Setup screen, press R to repair, and then press C to start the Recovery Console.

NOTE: For information about using the Recovery Console, please click the article number below to view the article in the Microsoft Knowledge Base:

229716 Description of the Windows 2000 Recovery Console

</li> After you log on to your computer, from the %SystemRoot%\System32 folder of your original Windows 2000 installation, use the command console to copy and rename the following files as noted in the following lists. First determine which HAL and kernel files your computer requires by using the following list of supported computer types:

NOTE: Those marked with an asterisk character are Standard computer types (non-ACPI).

i386 source file: i386\driver.cab\halmacpi.dll

Computer type: ACPI Multiprocessor PC

Copy to this folder: winnt\System32

Rename to this file name: hal.dll

i386 source file: i386\driver.cab\halaacpi.dll

Computer type: ACPI Uniprocessor PC

Copy to this folder: winnt\System32

Rename to this file name: hal.dll

i386 source file: i386\driver.cab\halacpi.dll

Computer type: Advanced Configuration and Power Interface (ACPI) PC

Copy to this folder: winnt\System32

Rename to this file name: hal.dll

i386 source file: *i386\driver.cab\halsp.dll

Computer type: Compaq SystemPro Multiprocessor or 100% Compatible

Copy to this folder: winnt\System32

Rename to this file name: hal.dll

i386 source file: *i386\driver.cab\halapic.dll

Computer type: MPS Uniprocessor PC

Copy to this folder: winnt\System32

Rename to this file name: hal.dll

i386 source file: *i386\driver.cab\halmps.dll

Computer type: MPS Multiprocessor PC

Copy to this folder: winnt\System32

Rename to this file name: hal.dll

i386 source file: *i386\driver.cab\hal.dll

Computer type: Standard PC

Copy to this folder: winnt\System32

Rename to this file name: hal.dll

i386 source file: *i386\driver.cab\halborg.dll

Computer type: SGI mp

Copy to this folder: winnt\System32

Rename to this file name: hal.dll

</li> As indicated in the following table, copy all the appropriate kernel files common for your system (Uniprocessor vs. Multiprocessor) and the appropriate HAL file based on your computer supported computer type from the Windows 2000 CD-ROM (i386\driver.cab) or installed service pack to the corresponding folder listed in the table under your original Windows 2000 installation, and then rename them (if required) to Ntoskrnl.exe and Hal.dll, respectively.

</li> Expand the Ntdll.dll file from the original Windows 2000 CD-ROM (i386\driver.cab) or installed service pack to the %SystemRoot%\system32 folder of your original Windows 2000 installation.

For example:



where  is the drive letter of your CD-ROM drive containing the Windows 2000 Server CD-ROM.</li> Expand the Win32k.sys file from the original Windows 2000 CD-ROM (i386\driver.cab) or installed service pack to the %SystemRoot%\system32 folder of your original Windows 2000 installation.</li> Expand the Kernel32.dll and Winsrv.dll from the Windows 2000 CD-ROM (i386\driver.cab) or installed service pack to the %SystemRoot%\system32 folder of your original Windows 2000 installation. For example, type the following commands expand :\i386\driver.cab /F:kernel32.dll %systemroot%\system32\kernel32.dll

expand :\i386\driver.cab /F:winsrv.dll %systemroot%\system32\winsrv.dll

where  is your CD-ROM drive letter.

</li> Restart your computer.</li></ol>

For related information, please click the article number below to view the article in the Microsoft Knowledge Base:

234558 How to Add Support for Multiple Processors in Windows 2000

WARNING: Windows 2000 displays the list of compatible computer types that can be installed when you use Device Manager to manually update. Doing anything beyond what is listed as compatible is likely to result in not being able to start your computer correctly or at all. If you do have "Advanced Configuration Power Interface (ACPI) PC" listed as your computer type or after updating to the latest ACPI BIOS, then you cannot update to the "ACPI Multiprocessor PC" through Device Manager and may result in not being able to start your computer correctly or at all. In the case of an ACPI HAL, for Windows 2000 to support or recognize both CPUs using an ACPI HAL, you must first update to the latest ACPI BIOS which is fully compliant, then re-install Windows 2000 as an upgrade so it can automatically detect and install ACPI Multiprocessor PC; if it does not, your BIOS in not fully compliant yet.

Additional query words: kbfaqw2ksetup

Keywords: kbenv kbhowto KB237556

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.