Okay, here is what I had. A Windows 7 computer with the 0x7B BSOD. This is a very common bug check code in Windows and it means that the hard drive has file system errors on it or a missing or corrupt driver.

I had a laptop that kept saying there was no boot device when attempting to boot. I figured it was a common disk error. So naturally, the first thing I do is boot into the Windows 7 DVD and run chkdsk. But the Windows 7 DVD said that it discovered there was no system partition. That, of course, would fix the BIOS not finding a boot device. So I rebooted. But that didn’t fix the problem. Now I had the STOP 0x7B error. Now I went back to the Windows 7 DVD and ran chkdsk /r, which scans for bad sectors. The problem remained and no bad sectors were found.

Okay, I wasn’t out of options yet. So next I ran Startup Repair from the disc. That didn’t work. In fact, I was being told the Windows 7 DVD wasn’t compatible this version of Windows, even though I was attempting to repair Windows 7 64-bit with a 64-bit DVD. Now I was getting frustrated.

My next idea was to run chkdsk with the Windows 8 DVD. That is when I discovered the Windows 8 DVD can run system restore on a Windows 7 installation. This is a very nice feature of Windows 8 (one of the few that exist). Unfortunately none of the few restore points I tried worked.

So now my next try was to scan for viruses. Aside from a few adware stuff loaded on the computer, it was clean. While I had the hard drive in my desktop, I also attempted to run the system file checker (SFC). But I got the dreaded “there is a system repair pending which requires reboot to complete” message.

Just for fun, I put the hard drive back in the laptop and booted into the Windows 7 DVD. Now the DVD recognizes the Windows 7 that I have installed and startup repair runs. I think I am getting somewhere. But after running startup repair twice, I still got 0x7B. I went back to the Windows 7 DVD and ran system restore. I tried 3 restore points, one about 2 weeks ago first, the oldest one next, and the newest one last. All 3 failed.

So I decided to run the SFC again, but before it will run, you have to take care of the %windir%\winsxs\pending.xml file. This is the file that forces that “there is a system repair pending which requires reboot to complete” message. I was going to rename it, run SFC, the rename it back. But the file was no missing. So I ran sfc /scannow /offbootdir=c:\ /offwindir=c:\windows and after a little while it told me that it had fixed some corrupt Windows files. I thought for sure it would boot now.

It didn’t. Next I decided to see if the BIOS had a IDE mode for hard drives because maybe the AHCI service was disabled somehow and that was preventing Windows from properly recognizing the hard drive. The BIOS did have this, but the 0x7B code remained.

So I decided my only option left was to install a new Windows 7. Fortunately for me, the Toshiba recovery media creator on this laptop didn’t need to be installed to run so after Windows was installed (and not activated) I created the recovery media and installed Windows back to the factory default. I made a backup image of the partition with the files and a backup of the documents early on, so this worked out.

There are three things you can benefit from this post:

  • If the Windows 7 or Windows Vista DVD is giving you a hard time, put the Windows 8 DVD in and see if it will correct those problems.
  • If you cannot run SFC because of a pending operation, run system restore to see if it removes the pending.xml file. It might even if system restore failed.
  • Not all 0x0000007B problems are related to hard drive errors or driver errors.