I've mentioned our computer setup a couple of times before - Valorie's got her laptop, Daniel, Sharron and I each have our own desktop computers, and there are a couple of other machines floating around the house. Since the kids machines don't have internet access, we've got a dedicated machine sitting in our kitchen whose sole purpose is to let the kids get their email and surf the net. The theory is that if they're surfing in the kitchen, it's unlikely they'll go to bad places on the net.
It also means we can easily allow them to run as non admins when they surf but be admins on their machines (which is necessary for some of the games they play).
Ok, enough background. Yesterday night, I was surfing the web from the kitchen machine, and I noticed that the menu bar on IE had disappeared. Not only that, but I couldn't right click on any of the toolbars to enable or disable them. All the IE settings looked reasonable, IE wasn't running in full screen mode, it was just wierd.
Other than this one small behavior (no menus in either IE or other HTML applications (like the user manager and other control panel applets), the machine was working perfectly. The behavior for HTAs was wierd - there was a windows logo in the middle of the window where the menu bar should be, but that was it.
I ran an anti-spyware and virus scan and found nothing. I went to the KB to see if I could find any reason for this happening, but found nothing.
I even tried starting a chat session with PSS but it never succeeded in connecting.
I must have spent about 2 hours trying to figure out what was wrong.
The first inkling of what was actually wrong was when Daniel asked me to get up so he could read his email - he got this weird message about "Outlook Express could not be started because MSOE.DLL could not be initialized". That was somewhat helpful, and I went to the KB to look it up. The KB had lots of examples of this for Win98, but not for XP SP2. So still no luck.
And then I had my Aha!. I ran chkdsk /f to force a full chkdsk on the drive and rebooted.
Within a second or so on the reboot, chkdsk started finding corruptions in the hard disk. One of the files that was corrupted was one of the OE DLL's, another was something related to browsing, and there were a couple of other corrupted files.
I rebooted after running chkdsk, and now I got a message that msimn.exe was invalid or corrupt. I looked at the file, and yup, MSIMN.EXE had a 0 length. Obviously it was one of the files corrupted on the disk.
So now I had a system that almost was working, but not quite.
During my trolls through the KB, I'd run into the SFC command. The SFC (System File Checker) is a utility in XP and Win 2K3 that will verify that all files protected by WFP (Windows File Protection) are valid. If it finds invalid files, it restores them from the cache directory. As per the KB article, I ran SFC /SCANNOW and waited for a while. Darned if it didn't find all the files that had been corrupted and repaired them.
So Daniel got his email back, IE got its menus back, and the machine seems to be back on its feet again!
Man, I love it when stuff works the way it's supposed to.
Btw, my guess is that the data corruptions have either been there for a while and we didn't notice them, or they were introduced during a rapid series of power failures we had on Saturday and Sunday (this machine isn't currently on a UPS so...).