It usually takes a lot to stop XP in its tracks. Even in those rare cases when the operating system is badly damaged, you'll usually at least have the option of booting into the "Last Known Good" configuration, or to Safe Mode. But sometimes, especially after major hardware failures or part swaps (e.g. moving the operating system to a new hard drive), or after problems with dual- or multi-booting software, you may encounter seemingly intractable errors such as "Missing or corrupt HAL.DLL," "Invalid Boot.Ini," or "Windows could not start..."
These problems can seem hard to get past. For example, the first time I got a "Cannot find \Windows\System32\hal.dll" error message, I thought I'd be clever and replace the missing file via a simple Copy command from the Recovery Console. I booted the PC, switched to the \Windows\System32 folder, and there it was: The HAL.DLL was already there. It wasn't missing at all. Why couldn't the operating system find it?
I tried copying a fresh version of the file to \Windows\System32. No dice. I tried renaming it all uppercase and then all lowercase. Nothing. I put a copy in the root directory. No effect. I tried everything I could think of, but nothing worked.
Then--doh!--I stopped thrashing and did what I should have done initially: I dug into the Microsoft Knowledge Base and learned about XP's built-in Rebuild command. It can often easily fix "Missing HAL" and similar problems in just a minute or two. If you know about this command and how to use it, you can potentially save yourself hours and hours of manually reinstalling or rebuilding a failed operating system.
The Rebuild command--technically a software "switch" used with XP's Bootcfg tool--automatically searches a hard drive for valid startup information and files, letting you choose the correct ones. This has the effect of removing and repairing any references to whatever invalid, missing, or corrupt startup information was preventing normal booting.
As is true of so many technical topics, this one actually takes far longer to describe than to implement, so please don't be put off by any seeming complexity in this discussion. Once you know the process, it's actually quite straightforward and takes only a minute or two to run to completion.
For example, if you already have some knowledge of the commands involved, many "Missing or corrupt HAL.DLL," "Invalid Boot.Ini," or "Windows could not start..." problems can be fixed with these five shortcut steps:
- Boot from your XP Setup CD and enter the Recovery Console
- Run "Attrib -H -R -S" on the C:\Boot.ini file
- Delete the C:\Boot.ini file
- Run "Bootcfg /Rebuild"
- Run Fixboot
It really can be as simple as that!
But the first few times you try this repair, it makes sense to use the slightly longer but more certain "official" method, as outlined by Microsoft in a number of separate Knowledge Base articles. To save you time, we'll concatenate the instructions here.