STOP 0xC000021a Caused by GoBack
Read about Session Manager (Smss.exe) in this article, it is a useful article about the whole startup process including HAL and NTLDR.
Troubleshooting the Startup Process
See if you can adapt this articles notes "Chapter 33 - Windows 2000 Stop Messages"?
Stop 0xC000021A or STATUS_SYSTEM_PROCESS_TERMINATED
156669 - How to troubleshoot a "STOP 0xC000021A" error
HELP! missing hal.dll, no access to root
thread779-752222
Error Message Windows could not start because the following file is missing or corrupt.
330184 - "Invalid Boot.ini" or "Windows Could Not Start" Error Messages When You Start Your Computer
Error Message: Windows Could Not Start Because of a Computer Disk Hardware Configuration Problem
The following two paragraphs are quoted from -
"NTLDR clears the screen and prints its version information: OSLOADER V4.0. The first two files that NTLDR loads make up NT's core: ntoskrnl.exe and hal.dll. Both files are located in the <winnt>\system32 directory. Ntoskrnl.exe contains the Kernel and Executive subsystems (e.g., Memory Manager, Cache Manager, Object Manager), and hal.dll contains code that interfaces NT to the computer hardware. Hardware abstraction layers (HALs) can provide interfaces to proprietary hardware, so Microsoft makes it possible for OEMs to supply custom HAL files. If NTLDR fails to load either of these files, it prints the message Windows NT could not start because the following file was missing or corrupt, followed by the name of the file.
Now the user has the option to select the Last Known Good configuration by pressing the spacebar. After a successful boot completes, NT makes a copy of the Registry tree that contains static and dynamic system and driver configuration information, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet, and marks it as the Last Known Good configuration. Because device drivers load based on information under the Services Registry key, this key is especially crucial. If a driver installs and at the next reboot prevents the system from starting, when the user selects the Last Known Good configuration, NT reverts to using the copy of the Registry tree that existed before the driver installed. Because the good copy does not include commands to load the driver, a boot using that copy will likely succeed."
315222 - A Description of the Safe Mode Boot Options in Windows XP
From this site -
BOOTIT NG
"If the BOOT.INI file does not point to the correct boot entry for Windows XP, you will get an error stating that Hal.Dll is missing . Simply correct the partition(x) entry in the BOOT.INI file or reorder the partitions in the MBR Details section of the boot item configuration."
A lot of info and ideas to be found there.
Have a look under "H" for Hal at this site too.
NTLDR missing.
How to Use System Files to Create a Boot Disk to Guard Against Being Unable to Start Windows XP (Q314079)
Q305595 - HOW TO: Create a Boot Disk for an NTFS or FAT Partition in Windows XP
Have a look at ChkDsk /r, Fixboot, and possibly FixMbr in the Recovery Console.
How to install and use the Recovery Console in Windows XP
An easy to follow recovery console description when unable to start computer due to corrupt registry.
This is a layman's version of Q307545 in simple language.
If they don't work you could try repairing windows by running it over itself. You will lose all your windows updates but your files will be untouched.
How to Perform an In-Place Upgrade (Reinstallation) of Windows XP (Q315341)