Friday, October 2, 2009

HAL is missing

No this is not a reference to the errant HAL9000 computer from 2001 A Space Odyssey, but the failure of Windows XP to boot with the following message: "Windows could not start because the following file is missing or corrupt: windows\system32\hal.ddl. Please re-install a copy of the above file."

Now when a customer gets this and the usual chkdsk doesn't fix it, it usually means a re-install of Windows over the existing version or a complete disk format and reload of the whole systems software and appplications. Both mean a fair amount of work, which is often difficult to justify on an old computer. So I looked for another solution.

This worked: boot the system into the Recovery Console and then reset the file attributes of boot.ini, if it exists so that you can delete it.
C:> attrib -h -r -s boot,ini
C:> del boot.ini

Then re-create it using the following:
C:>bootcfg /rebuild
selecting the Windows installation, give it a name and /fastdetect as the usual option. Finally reload the hard disk boot block with:
C:>fixboot

This will usually create a working boot.ini and the system will reboot normally. If not try to replace hal.dll from the Windows Setup CD-ROM by:
C:>expand d:\i386\hal.dl_ c:\windows\system32\hal.dll

In my case the boot.ini file was being repeatedly deleted by malware, so running Malwarebytes' Antimalware program fixed that too.

So that's how to open the pod bay doors!

No comments: