SOLVED! STOP 0xC000021A
Yes, you can actually access Registry on an unbootable PC.
Some of these tips have worked for some users in the same situation. Worked for me on Vista, quite possibly work on Windows 7 and 8. In a hurry? Skip straight to the bolded solution.
Windows (Vista) was unable to start in all modes available: Safe mode, Last known Good Configuration, Repair your computer, System Restore, etc.
Since the machine was useless I went to another computer and burned the Hiren's Boot DVD v 15.2 Restored Edition. Owing to the DVD's network capabilities I updated and ran its several antivirus programs (Clamwin, Kaspersky, SuperAntiSpyware, etc) which removed a few pests. This is always a good practise before starting repairing a failed computer.
I was now ready to tackle the STOP 0xC000021A. As suggested somewhere I thought I could simply keep disabling Vista's endless [possibly-corrupted] drivers and services using MSDaRT CD (aka) ERD Commander 6. Disabling stuff however caused only more BSODs. (By the way, on my experience, MSDaRT contains the only working offline Registry editor if you'll ever need one. Hiren's editors did not work for me)
I was adamant if I ever get this Vista to start even once I'll be sure to upgrade to Windows 7 immediately.
I ran memory tests, replaced the videocard and disabled all that I could in BIOS. It did not help.
Here's a good tip - that didn't work for me:
SFC /SCANNOW /OFFBOOTDIR=C:\ /OFFWINDIR=C:\Windows
couldn't start due to pending tasks, although the famous c:\windows\winsxs\pending.xml didn't even exist. Modifying pending entries in Registry http://technet.microsoft.com/en-us/library/cc164360(v=exchg.80).aspx did not help either.
Here's probably even better tip:
dism.exe /image:C:\ /cleanup-image /revertpendingactions (to remove pending tasks) but is included only on Windows 7 DVD and not on Vista DVD. Tried but it did not work in Vista.
Others have replaced Winlogon.exe, Csrss.exe, win32k.sys but it did not help me.
I finally solved this. I did what I should have done the first day:
To reinstate earlier - still working Registry hive/hives from the days the STOP 0xC000021 BSOD didn't yet exist. I read somewhere that I do not want to reinstate all of them at once but instead try one-by-one until the issue resolves. And that actually resolved it for me:
Ok, so I first copied one file called SYSTEM from
overwriting the previous one and rebooted. (First of course made backup copies of both SYSTEM files, just in case).
It did not help. I then copied SYSTEM and COMPONENTS. It did not help. I copied SYSTEM and COMPONENTS and SOFTWARE and the problem was solved - in my case at least. I did not have to copy SAM and SECURITY that are located there too.
Vista could now successfully start.
I immediately upgraded to Windows 7 to prevent further issues with Vista or with this BSOD.
To me this is like an in-place upgrade - getting a new engine in place of a failing one. Upgrading process replaces so many bits and pieces, here and there, thus providing me some confidence that I will not run into this BSOD again. I could also keep (probably) all or most of the installed software and not resort to a clean install. Upgrade process will advice which software need to be removed such as Skype. (Well, instead of removing, I updated Skype to the latest and it survived the Windows 7 upgrade nicely)
Hope this gives you some tips on what to try. I'll happily take feedback.