|
Windows
XP Userinit Fix
The
problem:
When you log into windows XP, you are immediately logged
out. The desktop may show right before logging you out
and back to the welcome screen.
The
cause:
You are possibly missing a reference to the userinit.exe
program in the registry. (I beleive) The userinit program
is the first program to start, which calls other startup
programs for your windows xp account.
This
could have been removed by spyware removal programs
(indirectly) or accidently deleting the value in autoruns/startupeditor
referencing userinit.exe.
The
Fix
I created a program to run a *.reg file. There are a
couple of steps to make this fix/hack work.
Disclaimer:
You are responsible for your actions.
1.
You will need to connect the harddrive of the bad computer
to a working xp machine. This can be done as a slave
drive or a ide->usb adapter. We now have access to
the bad computer's filesystem.
2.
We need our program to run when the computer starts.
To do this, we will temporarily replace the printer
spool service (which most likely is enabled by default)
with our program. The printer spool service is called
spoolsv.exe and located in the c:\[windowsdir]\system32\spoolsv.exe
of the BAD Computer. Find this file and rename it to
spoolsv.exe.bak.
3.
Download spoolsv.exe
(the fix) to c:\[windows dir]\system32\spoolsv.exe.
Note: this will not overwrite any file, because in step
2, we made a backup of the original spooler service
program.
4.
My program has a hardcoded value of "C:\windows\regedit.exe".
If your windows directory in the Bad computer is located
anywhere else, you must copy the regedit.exe file from
c:\[windows dir]\ to "C:\windows\".
5.
Download the userinitfix.reg
to c:\ in your Bad computer. You NEED to modify this
file to reference the correct path of your userinit.exe
file.
You're
finished. Now, reconnect the bad drive to the original
computer. When you log in, you will see a blank window
and a prompt confirming the addition of the registry
information in userinitfix.reg. Simply answer Yes. Log
out and back in, and your desktop should appear.
If
your desktop appears, you will need to browse to c:\[windowsdir]\system32\
to restore the original spoolsv.exe file. Delete my
program spoolsv.exe. Rename spoolsv.exe.bak to spoolsv.exe.
Reboot the computer and you should have a print spooler
service.
Download
the source files for the fix here
Thank
you to Reed for the idea of replacing the print spooler
service.
|