How to Troubleshoot Windows 2000 Hardware Abstraction Layer Issues
ID: Q237556
|
The information in this article applies to:
-
Microsoft Windows 2000 Advanced Server
-
Microsoft Windows 2000 Datacenter Server
-
Microsoft Windows 2000 Professional
-
Microsoft Windows 2000 Server
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.
MORE INFORMATIONDetermine 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.
- 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. 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.
- 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:
- 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.
- At the Welcome to Setup screen, press R to repair.
- At the Windows 2000 Repair Options screen, press R to repair using the emergency repair process.
- 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.
- 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.
- 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.
- 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 and install the correct (Standard HAL) computer type that your computer supports, use either of the following methods:
Press F7
Press F7 when Setup generates the following informational message:
Press F6 if you need to install a third party SCSI or RAID driver.
Press F5
Press F5, and then manually choose the correct Standard computer type by using the following list:
i386 source File |
Computer Type |
*hal.dll |
Compaq SystemPro Multiprocessor or 100% Compatible |
*halapic.dll |
MPS Uniprocessor PC |
*halapic.dll |
MPS Multiprocessor PC |
*hal.dll |
Standard PC |
*halborg.dll |
SGI mp |
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.
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:
Q229716 Description of the Windows 2000 Recovery Console
- After you log on to your computer, from the 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
- 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.
Common Multiprocessor kernel files |
Copy to the following directory |
Rename to the following filename |
i386\driver.cab\ntkrnlmp.exe |
winnt\System32 |
ntoskrnl.exe |
i386\driver.cab\ntkrpamp.exe |
winnt\System32 |
ntkrnlpa.exe |
i386\driver.cab\kernel32.dll |
winnt\System32 |
kernel32.dll |
i386\driver.cab\ntdll.dll |
winnt\System32 |
ntdll.dll |
i386\driver.cab\win32k.sys |
winnt\System32\drivers |
win32k.sys |
i386\driver.cab\winsrv.dll |
winnt\System32 |
winsrv.dll |
Common Uniprocessor kernel files |
Copy to the following directory |
Rename to the following filename |
i386\driver.cab\ntoskrnl.exe |
winnt\System32 |
ntoskrnl.exe |
i386\driver.cab\ntkrnlpa.exe |
winnt\System32 |
ntkrnlpa.exe |
i386\driver.cab\kernel32.dll |
winnt\System32 |
kernel32.dll |
i386\driver.cab\ntdll.dll |
winnt\System32 |
ntdll.dll |
i386\driver.cab\win32k.sys |
winnt\System32 |
win32k.sys |
i386\driver.cab\winsrv.dll |
winnt\System32 |
winsrv.dll |
- 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.
- 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.
- 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 CD-ROM drive letter:\i386\driver.cab /F:kernel32.dll %systemroot%\system32\kernel32.dll
expand CD-ROM drive letter:\i386\driver.cab /F:winsrv.dll %systemroot%\system32\winsrv.dll
where CD-ROM drive letter is your CD-ROM drive letter.
- Restart your computer.
For related information, please click the article number below to view the article in the Microsoft Knowledge Base:
Q234558 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:
win2000hotsetup
Keywords : kbenv kbtool
Version : WINDOWS:2000
Platform : WINDOWS
Issue type : kbhowto
|