A friend asked me to help fix her computer. It’s a Dell laptop running Windows XP Home and it became infected with a virus. She was able to partially remove the virus, and I helped her remove the rest of it, but now the infamous Blue Screen of Death appears about a minute after booting into anything other than Safe Mode.
It wasn’t obvious what was causing the crashes, but I found out I could use a Microsoft Debugging utility to read the memory dump files that Windows creates on each crash. I offered to take the computer home with me, so I could plug it into a network and install the utility and finish the job.
Booting into “Safe Mode with Networking” worked, so I was able to download the utility, but I was not able to install it. I was told, “The System Administrator has set policies to prevent this installation.” That was confusing, because I logged in using the fucking system administrator account. Now I am pretty sure that the error message is inaccurate, because some lazy asshole at Microsoft decided to use that very specific text as a generic “operation failed” message.
It turns out that the installer program requires the Installer Service to be running, but the Service cannot be started in Safe Mode. So, if I want to use the debugging tools, I am caught in a catch-22: the computer will crash if I don’t use Safe Mode, but I can’t diagnose the crashes if I do use Safe Mode.
After chasing my own tail for longer than I’d like to admit, I realized I could try finding some other tool to extract the utility from the installer package. I found such a tool, and in the process I learned that MSI archives are apparently unable to store file extensions, so when you unpack them, you have to manually insert the dot in hundreds of file names. I do this for a subset of the files that seem necessary to run the diagnostic program, and finally, I get it to run.
At least, I think I do. It outputs a lot of error messages, but the instructions I am following from some sketchy website say it is normal to see a lot of messages, so I have no clue if it’s working or if I need to add more dots to more filenames. I blindly forge ahead, and finally get it to generate a report from one of the memory dump files.
The goal, in case you’ve forgotten, is to find out what is responsible for crashing the kernel. The report indicates the memory location where the crash occurs: Good. It also contains a list of loaded drivers and what memory locations they occupy: Good. So I scan the list to find the culprit. While every other line has a driver name, this one has the name “00001b6f” or something like that. No name, just a hexadecimal number without context. WTF?
So, I give up.
To be clear, I’m not just giving up on this job, but I’m giving up on ever attempting to “fix” a computer running Microsoft Windows ever again. It’s been so long since I used one regularly that I’m no longer familiar with all the voodoo incantations required to make them work. The only thing my technical knowledge buys me is a misleading sense of being “one step closer” when in fact I am running in circles. It is painful and frustrating and humiliating. I honestly feel like I’m the butt of a joke right now. Like I’ve spent four hours trying to catch a pig on a dare.
By taking this computer home, I thought I was doing a favor for a friend, but now I realize that she has done a favor for me. I’ve learned a lesson. I’m sorry, I can’t fix your computer, I don’t know how.