Recovery From Msgina.dll Errors With Windows 2000 Service Pack 3

There is a problem with Windows 2000 Service Pack 3 that affects some systems (including ours). Microsoft has documented this problem here. It turns out there is a dependency between two services that start at the same time. If you are unlucky enough to finish one before the other, you can’t log on and see this error:

msginafail

Dangety Dang!! This was on a fresh install. When we installed SP3, blammo! Curse our system for loading the wrong service too quicly! Luckily this isn’t NT, and we can use the handy recovery console to recopy the rogue dll. Boot off of the Windows 2000 CD:

bootwithwin2k

Select R. You’ll get to choose recovery options:

repairoptions

Select C, you’ll then be asked to select the system to recover and enter the admin password:

whichinstallation

After you log on, you’ll have hard disk and CD-ROM access:

wehavecandd
Replace the new msgina.dll with the one off of the CD, using expand:

expandcdmsgina

We are up and running:

success

Note that there are some trojans out there that replace this file and log the passwords to a text file. There are also a variety of replacement gina files that do stuff like authenticate against NIS and disable the need for ctrl-alt-delete.