SOLUTION: Windows Update cannot currently check for updates, because the service is not running.

A common problem following the replacement of a hard drive (or other low-level storage-related change, such as a storage driver or interface change) is a broken Windows Update.  I’ve been seeing this more and more frequently, in fact, on Windows 7 machines after performing drive recoveries and installing a new drive.

The exact message is:

Windows Update cannot currently check for updates, because the service is not running.  You may need to restart your computer.

While lots of solutions are offered across the internet for this problem, ultimately, it’s actually relatively simple: the storage driver is frequently to blame.  Specifically, the Intel storage driver (generally iaStor.sys), which comes as a part of the Intel Matrix Storage Manager package (renamed to Intel Rapid Storage Technology on later versions of Windows).

It’s been documented in other places as well that this is in fact the root of the problem.

Problem is, there are different versions of the Intel Matrix Storage Manager for each manufacturer — so it isn’t always possible to simply download the latest version directly from Intel and install it.

The HP version of that driver is listed above, and it will indeed work for many systems in question.  For other manufacturers, it’s best to search for the driver manually and download it directly from the PC manufacturer’s web site.  You can use search terms such as:

intel rapid storage technology driver ich10r vista 32-bit

To locate a suitable version for your particular situation.

If this still does not correct your issue, you may need to follow up the driver upgrade with a reset of the Windows Update repository:

  1. Open an elevated Command Prompt (Run as Administrator).
  2. Type the following commands (pressing ENTER after each one):
    1. net stop wuauserv
    2. net stop bits
  3. Open a Windows Explorer window and navigate to %WINDIR% (e.g., normally C:\Windows).
  4. Rename SoftwareDistribution to SoftwareDistribution.old.
  5. Return to the elevated Command Prompt and type these commands:
    1. net start wuauserv
    2. net start bits

This procedure has corrected the problem on all of the PCs where I’ve encountered it thus far.

TDL4 removal leads to Windows 7 64-bit stop error on boot

I’m proud to say that it’s been literally two years since I’ve reformatted a PC due to malware, and I’ve disinfected many hundreds in that time period. But yesterday, I encountered a PC infected with TDL4 (which I’ve dealt with many times), however this one was a Windows 7 64-bit machine. Following removal of the rootkit offline via TDSSKiller in WinPE (set to scan Boot Sectors only), the PC began crashing on every boot, even when Safe Mode was attempted. The typical invasive offline procedures I use to rectify these issues — such as the disabling of nearly all third-party filesystem and NDIS filter drivers — did nothing to correct the issue. Restoring a previous System Restore point and even manually restoring the registry hives from the RegBack folder also accomplished nothing.

Finally, I decided to backup/restore the BCD. To do this, I used a Windows 7 recovery disc (in my case, ERD/MS DART) and opened a command prompt. From there, I (mostly) just followed the Microsoft guidelines for restoring a corrupted BCD:

bcdedit /export C:\BCD_Backup
attrib -s -h c:\boot\bcd
ren c:\boot\bcd bcd.old
bootrec /fixmbr
C:\boot\bootsect.exe /nt60 all /force
bootrec /RebuildBcd
bootrec /FixBoot

(Note that C: must be replaced with the relevant Windows drive.)

This corrected the issue on this PC. I hope this helps someone in the future!