A couple days ago I ran into a weird problem on a customer’s computer and I had such a hard time figuring out what it was, I thought I’d add it in my tips section. From what I’ve been able to gather, the problem occurs mostly with Windows XP SP2, but it could also be present with other variations.
It was a simple service call and after everything was done, I rebooted the computer to make sure everything was ok.. well, after that, the machine never restarted. It simply kept looping, while on the windows logo screen, I could see the blue screen flashing and then it would restart.
At this point, I tried safe mode in all its forms and tried “Last Known Good Configuration” etc.. nothing worked. I couldn’t run System Restore because windows did not even start. So I used the F8 option to Disable auto reboot on BSOD and finally saw the actual Blue Screen message:
c000021a Fatal System Error
The Session Manager Initialization system process terminated unexpecedly with a status of 0xc000026c
A few Googles on the subject helped piece together a solution. The problem is caused by a Windows Update known as KB925902. The patch wasn’t installed recently.. it’s been on the machine for at least 6 months, but something must have triggered the problem.
Apparently there are a few variations on how the problem presents itself, so if windows starts in safe mode, I would go for a System Restore or use the Add/Remove programs section to remove that update.
What I had to do was to remove the update manually using the Recovery Console. here’s how to do it:
- Boot with your original Windows XP CD. You need one which will allow you to get into the Recovery Console.
- Once booted, choose to use the Recovery Console, usually by pressing “r”.
- You may need to press “enter” here to choose a different keyboard layout, otherwise you might have a hard time typing the next commands.
- Choose which Windows installation you need to log into. if there’s only one on that machine, it will be “1″.
- Type in the Administrator password. Yes, there is one, you had to supply one during the Windows XP installation.
- Change folders using: cd WINDOWS\$NtUninstallKB925902$\spuninst
- Run this command in the folder: batch spuninst.txt
- If the command ran correctly, you should see a spuninst.tag file, using the “dir” command.
- reboot the computer.
At this point the computer should boot properly and you should install SP3 and other patches to prevent this problem from happening again.
If the spuninst.tag file doesn’t exist, you may have received a bunch of errors instead. Joyful. There are a few reasons why this could happen, one of which is if your windows isn’t really installed on the c:\ drive, even if the Recovery Console always names it that way. To remove the patch manually, type in these commands: (make sure you replace the drive and path if required, depending on your installation)
- DEL “c:\windows\$hf_mig$\kb925902\mf3216.dll”
- DEL “c:\windows\$hf_mig$\kb925902\gdi32.dll”
- DEL “c:\windows\$hf_mig$\kb925902\user32.dll”
- DEL “c:\windows\$hf_mig$\kb925902\win32k.sys”
- DEL “c:\windows\system32\dllcache\gdi32.dll”
- DEL “c:\windows\system32\dllcache\mf3216.dll”
- DEL “c:\windows\system32\dllcache\user32.dll”
- DEL “c:\windows\system32\dllcache\win32k.sys”
- COPY “c:\windows\$NtUninstallKB925902$\gdi32.dll” “c:\windows\system32\gdi32.dll”
- COPY “c:\windows\$NtUninstallKB925902$\mf3216.dll” “c:\windows\system32\mf3216.dll”
- COPY “c:\windows\$NtUninstallKB925902$\user32.dll” “c:\windows\system32\user32.dll”
- COPY “c:\windows\$NtUninstallKB925902$\win32k.sys” “c:\windows\system32\win32k.sys”
- COPY “c:\windows\$NtUninstallKB925902$\spuninst\spuninst.txt” “c:\windows\$NtUninstallKB925902$\spuninst\spuninst.tag”
I hope this helps someone out there because there aren’t many solutions for this problem and it took me so much time to piece together the solution. Let me know it there are any errors and if it works for you.