One day my wife’s laptop won’t boot up all of a sudden. I rolled up my sleeves trying to fix it. This is a Dell Inspiron 710m with Windows XP. It turned out to be one of the toughest PC problems I have encountered in years. I have spent many hours using many different ways to repair it. I am still not sure what broke it in the first place. But the virus checker is my prime suspect. Did it kill my computer?
The first problem is Windows XP boots up to a blue screen saying “This application has failed to start because USER32.dll was not found”. First of all I used the BIOS diagnostic program to quickly check that the system do not have hardware problem. Then I found an Internet posting suggesting the virus checker may have make a huge mistake to consider the system file user32.dll as virus infected and has removed it, causing the system to become unusable.
This looks like a good lead. Sure enough I found user32.dll is missing from the \Windows\system32 directory. First of all I used an Ubuntu 8.1 CD to boot up the system. Then I mount the Windows NTFS with a command like:
sudo mount -t ntfs-3g -o nls=utf8,umask=000 /dev/sda2 /media/c
This posting shows more information about mounting a Windows drive on Linux. Then I just found the backup copy of user32.dll from the dllcache and copied it to \Windows\system32. This simple step solved the problem. My system was able to boot up.
Nevertheless this is only the start. The laptop wireless was off after reboot. Its LED indicator was off all the time. I tried various ways to turn it on without success. Then I come across a useful support page from Dell about How To Restore or Reinstall Microsoft® Windows® on a Dell™ Computer. It provides instruction to three different ways to restore the computer. The simplest way is to use the System Restore function provided by Windows itself. The system automatically backup its configuration regularly. I pick up a configuration saved before this instance happens and restored it. Bingo, the wireless LED light just comes back after reboot!
Unfortunately, the network was still not usable. In fact, even if I plugged in a network cable, it still cannot ping any external hostname. Furthermore I cannot ping this laptop's IP address from another computer. The only sign of life was the laptop can ping an external host if I give it the IP address. I make sure the Windows firewall if turned off. This still did not help. Then I found out the virus checker program also have a firewall function itself. I shut it down also. Bingo, then the network works! It sounds like the firewall was 100% effective in protecting the computer simply by disconnecting it from the outside world entirely.
At this point, the laptop is basically functional. But I still see some programs fail with a message saying that it maybe infected by virus. I think it is necessary to take a more drastic step. I used the second method in the Dell support page, the PC Restore function. It re-images the hard disk to restore the factory image. This necessitates backing all the data files because they will be wiped out in the process. But at least it can start from a clean slate without any residue problem.
So I have re-imaged the hard disk and restore the data files. Then I have to uninstall tons of useless programs the come pre-installed on a Dell PC. I also make sure I have uninstalled the hopelessly outdated virus checker Trend Micro ("PC-cillin"), which I suspect has caused me several days of misery.