I have come across this problem:
On bootup I got a black screen with missing hal.dll message.
I booted the system with a bootable CD and checked for hal.dll but found no system32 folder.
I did find a c:\windows\st folder which had all the contents of the c:\windows\system32 folder.
I renamed the c:windows\st folder to c:\windows\system32 and rebooted.
System got so far then flashed an error - too quick for me to see and then shutdown.
When I rebooted the same hal.dll message si there and surprise surprise the c:\windows\system32 folder has been renamed again to c:\windows\st.
I have checked the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run in the registry for any signs of virus programs starting there but nothing unusual is there.
Anyone come across this type of problem before and know where in the boot process the system32 folder is being renamed?