The HAL is a crucial module that sits between the Windows operating system and the hardware. Having an incorrect HAL can cause your system to work sluggishly or cause unexplained system lockups. The script provide in this article will identify which HAL was installed on your system.
Welcome to Bucaro TecHelp!

Welcome to Bucaro TecHelp!
Maintain Your Computer and Use it More Effectively
to Design a Web Site and Make Money on the Web

[About BTH]  [User Agreement]  [Privacy Policy]  [Site Map]  [Contact Form]  [Advertise on BTH]  [News Feed]

Google
Web
This Site

Script to Identify Your Systems HAL

The Hardware Abstraction Layer (HAL) is a crucial kernel-mode module in the Windows system that sits between the operating system and the hardware. Several different HALs are included with windows, but only the specific one for the system's hardware is copied to the system's disk at installation time.

Having different HAL's is what makes Windows portable to different hardware platforms but having an incorrect HAL can cause your system to work sluggishly or cause unexplained system lockups. During installation the HAL's original name is recorded in the setup log and then the HAL is copied to the system's disk with the filename hal.dll.

One way to determine which HAL is installed on your system is to open the file \windows\repair\setup.log and search for the line \WINDOWS\system32\hal.dll = . The original name of the HAL will be after the equals sign.

The script shown below will open the file setup.log in Windows Notepad, where you can inspect the entire file contents. Paste these lines into a text file and save it with the extension .vbs, for example view_setuplog.vbs. The double-click on the file name to execute the script.

Set ws = WScript.CreateObject("WScript.Shell")
ws.Run ws.ExpandEnvironmentStrings("%SystemRoot%\notepad.exe %SystemRoot%\repair\setup.log")

The script shown below will open the file setup.log and scan through it for a line containing the text hal.dll =. When it locates the line, it will extract the name of the HAL and open a message box providing information about the HAL. Paste these lines into a text file and save it with the file name view_hal.vbs.

Set ws = WScript.CreateObject("WScript.Shell")
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile(ws.ExpandEnvironmentStrings("%SystemRoot%\repair\setup.log"),1,True)

Do While f.AtEndOfStream <> True
  data = f.ReadLine
  If InStr(data,"hal.dll =") Then
    Exit Do   
  End If
Loop

loc1 = InStrRev(data, "= ")
loc2 = InStrRev(data, ".dll")
hal = Mid(data,loc1 + 3,loc2 - loc1 + 1)

Select Case hal
Case "hal.dll"
  Msgbox "HAL is hal.dll for standard PC"
Case "halacpi.dll"
  Msgbox "HAL is halacpi.dll for ACPI PC"
Case "halapic.dll"
  Msgbox "HAL is halapic.dll for APIC PC"
Case "halaacpi.dll"
  Msgbox "HAL is halaacpi.dll for APIC ACPI PC"
Case "halmps.dll"
  Msgbox "HAL is halmps.dll for Multiprocessor PC"
Case "halmacpi.dll"
  Msgbox "HAL is halmacpi.dll for Multiprocessor ACPI PC"
Case "halsp.dll"
  Msgbox "HAL is halsp.dll for Compaq SystemPro"
Case Else
  Msgbox "HAL is " & hal
End Select

In the message, ACPI means the HAL is designed for systems with the Advanced Configuration and Power Interface (basically plug-and-play). APIC means the HAL is designed for systems with an Advanced Programmable Interrupt Controller, an interrupt controller that can manage interrupts from multiple processors.

Computer Sections

RSS Feed RSS Feed

Windows System Administration
Security Risks and Ways to Decrease Vulnerabilities in a 802.11b Wireless Environment
Configure Vista's Data Execution Prevention
Internet Connection Sharing in Windows XP
How to Backup Mails and Address Book of Outlook Express
Windows 2000 Security Overview
Kill The Messenger (Service)
Use the HOSTS File to Block Web Sites
FreeDOS
A Day in the Life of a System Administrator
Microsoft Licensing Explained
Configure Windows Indexing Service for Performance
Configuring Windows as a NTP (Network Time Protocol) Server
Font Basics
Three Important Techniques for Securing a Wireless Network
Defend Your Business with a Firewall
Msconfig - Microsoft's Secret Weapon to Increase Your Computer's Speed
Choosing a Tape Drive
PC Technician Certifications and Professional Organizations
PC Technician's Guide to Providing Telephone Support
PC Technician's Software Copyright Responsibilities
CompTIA A+ Complete Study Guide
Hard Disk Management
Windows Server 2003 Active Directory and Network Infrastructure
The Security and Maintenance of Messages in Outlook Express
Planning a Backup and Restoration of Files for Disaster Recovery
WSH to Master Your Computer
Script to Print a Directory File List
Disable Long Filenames to Improve Window's Performance
Disable Kernal Paging to Speed Up Windows
Script to Display the Processes Running on a Computer
Script to Identify Your Systems HAL
To Protect Your PC Disable the Windows Scripting Host

[Site User Agreement]  [Advertise on This site]  [Search This Site]  [Contact Form]
Copyright©2001-2007 Bucaro TecHelp P.O.Box 18952 Fountain Hills, AZ 85269