Possibly a bad hard drive.
The System32 hal.dll shutdown is an automated shutdown routine that differs from manufacturer to manufacturer. There are sources you can find with a Google search to edit or replace your hal.dll. It is a common problem with Windows NT 4.0 and Windows 2000 but a less common error with Windows XP. You should be able to get a replacement hal.dll command from your computer manufacturer. Or if using Service Pack 2, remove, then reinstall from disc the Service Pack 2.
However, your problem sounds more like a hard drive failure.
I would do a low level format. If you have a Windows 98SE floppy boot/system disc, run FDisk to remove, then reinstall the partition, then shutdown, restart, and run the Windows 98 FAT32 format. Then shut down and restart with your restore/recovery disc or Windows disk. If W2K or WXP, reformat using NTFS. Upon install, Run the Service Pack 2 disc (available free if you pay the shipping from Microsoft.)
If none of that works, your hard drive is likely bad and should be replaced.