Not 2001 A Space Odyssey HAL, but HAL.DLL, one of Microsoft’s little darlings…
We had another major storm blow through last night, complete with lightning and occasional thunder (we’re behind a mountain, so sometimes we can get one without the other).
I turned off the PCs partly as a sensible precaution, but also because I’d heard from friends what can sometimes happen when lightning strikes near your home let alone as a direct hit.
This morning after I was sure the electrical activity had ceased, when I turned the main system back on, it refused to boot. HAL.DLL is missing or damaged, I was told. Fix it.
I should preface this little anecdote by saying that my currently-active PCs are multi-boot, so occasionally there are hiccups to be dealt with (and they’re rarely straightforward to fix, since in some cases these are operating systems that do not play nice with each other for purely childish reasons (you know who you are)).
Anyway… HAL.DLL (or to give it its formal title, hal.dll) is one of those many “gotchas” that Microsoft have seen fit to incorporate as a way to make work for those with Microsoft certification. A bit like those auto manufacturers who design cars so that service centres/centers get plenty of work because it’s almost impossible to do the work yourself without a degree in engineering, a hydraulic ramp in your back yard, and some astronomically expensive bit of metal and plastic that is guaranteed to be stocked by no-one you know..
Anyway… The usual culprit (for me anyway) is a little plain text file called boot.ini in the root of C:, which, for some reason I have never understood, gets itself overwritten from time to time, just for the “hal” of it. Ho, Ho, Ho.
In this case, though, it turned out the miscreant was the BIOS. For reasons I can’t explicitly identify (but I can speculate) the boot sequence in the BIOS was changed so that the system tried to boot from a drive that didn’t have a hal.dll that matched the hardware configuration.
That’s something of a weird one, because XP has a facility whereby you can specify the boot sequence (drive by drive) and I always understood that that was the ultimate arbiter. But obviously not. At least, not in this case.
I’d spent days in the past trying to figure out what was wrong when hal.dll was reported as missing or corrupt, and each time it had been a slightly different cause (settings in the boot.ini, or drive position on the cable being changed, or somesuch).
Anyway… It seems happy enough now. The main reason I mention it here is that WordPress kindly makes sure that blog posts get incorporated mucho rapido into Google’s search results, and when I went looking for solutions to the hal.dll issue, I saw nary a one that mentioned the BIOS as a possible culprit.
So really, I’m just doing my civic duty. Really. And not because I’m a nerdy geek who likes to talk dirty techie.