Hal stands for hardware abstraction layer...kinda like the config.sys in win9x systems...it uses this to load all your devices...if you can boot from the xp cd and type sfc /scannow from the dos prompt or from run command should copy the file it needs.