Jun 092010

Blue screen of death (BSOD) errors may drive people crazy, but they really are useful in pinpointing the root cause of the problem preventing the computer from starting up. Beneath that obscurity, there is enough hidden information to help fix nagging errors. However one dreaded BSOD which still is a tricky customer is the 7B or INACCESSIBLE_BOOT_DEVICE error. Its causes can be many and each has its own solution without a guarantee of success.

So yesterday, when my Vista laptop was stuck in a restart loop with this error, I knew it was going to be a long night. After trying a million different things, I finally gave up at 5 AM, too tired to carry on. Today, after even more endless rounds of restarts and head banging, it finally got resolved and I saw the magical Vista login screen. 🙂 I listed down a few of the steps I followed – might be useful for others haunted by this deathly error.

  • Pinpoint the cause: Doctors don’t charge you for prescribing the right medicine, they charge you for getting the diagnosis right. Once that part is solved, the cure just falls into place. Its the same case with BSODs. Google/Bing can help you out here in finding the documentation for each error which can help you find out what is exactly wrong. However some, like the 7B are different. It can be caused by hardware failures, SATA/IDE compatibility issues, wrong RAID settings, boot sector issues among others. The trick is to isolate each of them one by one.
  • Check what changed: Errors usually occur due to something that has changed recently. Remembering any settings/configurations/hardware changes you recently did can go a long way in helping us pinpoint the cause. In my case I had made two changes, one was turning off DEP to speed up large file copying in Vista and forgetting to unplug my external hard drive while rebooting. Both changes effect the Vista BCD (Boot configuration data).
  • Check the hardware: If there is something a few months in tech support have taught me, its the golden rule that no amount of software troubleshooting can fix a hardware error. Always run your diagnostics first. Dell comes with a range of built in utilities to do just that. The Preliminary PSA tests can be started by pressing F12 while windows boots and choosing Diagnostics. It first runs some basic hardware and memory tests and then gives more options. For 7B, the hard drive is a likely culprit so run all the tests on it to make sure. Also run chkdsk  /f which scans for any bad sectors and marks them to be avoided later. Bad sectors in the boot record can also lead to the error.
  • Check the BIOS: After the hardware, the BIOS is also a major cause of 7B errors. It could be a SATA mode or RAID settings issue. Try changing the settings for SATA operations from AHCI to ATA (could be named differently in your BIOS). If it doesn’t work, change them right back. This article gives a description of the issue and resolution.
  • Give automated repair options a shot: There are two automated recovery options in Vista – one is the startup repair and the other is system restore. Experienced users usually look down on automated options as being reserved for the dummies. True they don’t work most of the time, but its still worth a shot. The next point will elaborate on how to get the automated repair options
  • Use Windows Recovery Environment: WinRE is a set of very useful tools which is bundled in vista. It gives you access to System Restore, Memory diagnostics, PC Restore and command prompt. WinRE can be started from the local computer by pressing F8 during boot and choosing Repair Computer in the menu. It can also be started from the Vista DVD , by booting into it and clicking Repair on the installation screen. The command prompt can be used to launch many boot utilities along with regedit.
  • BCDEdit and BootRec: Both of these are utulities which can be used to fix the boot record of Vista which can get corrupted due to a number of reasons, one of them being installation of another OS in the system. Bootrec has four options – fixboot, fixMBR, RebuildBCD and ScanOS. Their functions taken from this support article are given for easy reference. In my case the ScanOS wasnt able to identify any OS installations on the drives. So basically, the Boot record was toast and had to be rebuilt manually. Given the alternative of a format and fresh install, this option sounded like lesser work.
The /FixMbr option writes a Windows 7 or Windows Vista-compatible MBR to the system partition. This option does not overwrite the existing partition table. Use this option when you must resolve MBR corruption issues, or when you have to remove non-standard code from the MBR.
The /FixBoot option writes a new boot sector to the system partition by using a boot sector that is compatible with Windows Vista or Windows 7. Use this option if one of the following conditions is true:
The boot sector has been replaced with a non-standard Windows Vista or Windows 7 boot sector.
The boot sector is damaged.
An earlier Windows operating system has been installed after Windows Vista or Windows 7 was installed. In this scenario, the computer starts by using Windows NT Loader (NTLDR) instead of Windows Boot Manager (Bootmgr.exe).
The /ScanOs option scans all disks for installations that are compatible with Windows Vista or Windows 7. Additionally, this option displays the entries that are currently not in the BCD store. Use this option when there are Windows Vista or Windows 7 installations that the Boot Manager menu does not list.
The /RebuildBcd option scans all disks for installations that are compatible with Windows Vista or Windows 7. Additionally, this option lets you select the installations that you want to add to the BCD store. Use this option when you must completely rebuild the BCD.
  • Rebuilding the BCD: After stumbling on a lot of dead ends to repair the boot sector. I finally found an article which explains how to do so. I used the following commands in the article to manually create a new BCD entry and assign it the path of the Windows directory.  Then the new entry is made default and the old one deleted.
bootrec.exe /fixmbr
x:\boot\bootsect.exe /nt60 all /force
Now we get rid of the old BCD registry, and create a new one instead.
Note: We're assuming that the boot drive is drive C: below. If your computer is configured differently, be sure to use the appropriate drive letter here instead.
del C:\boot\bcd
bcdedit /createstore c:\boot\bcd.temp
bcdedit.exe /store c:\boot\bcd.temp /create {bootmgr} /d "Windows Boot Manager"
bcdedit.exe /import c:\boot\bcd.temp
bcdedit.exe /set {bootmgr} device partition=C:
bcdedit.exe /timeout 10
del c:\boot\bcd.temp
Now we have a clean, working Vista bootloader. But we need to add a Vista entry to it:
bcdedit.exe /create /d "Windows Vista" /application osloader
bcdedit.exe should return a message with a GUID for the newly-created entry, something like this:
The entry {c0dfc4fa-cb21-11dc-81bf-005056c00008} was successfully created.
You'll need to use the value that bcdedit.exe returned for you below, along with the drive letter for the drive that Windows Vista is installed to:
bcdedit.exe /set {c0dfc4fa-cb21-11dc-81bf-005056c00008} device partition=C:
bcdedit.exe /set {c0dfc4fa-cb21-11dc-81bf-005056c00008} osdevice partition=C:
bcdedit.exe /set {c0dfc4fa-cb21-11dc-81bf-005056c00008} path \Windows\system32\winload.exe
bcdedit.exe /set {c0dfc4fa-cb21-11dc-81bf-005056c00008} systemroot \Windows
bcdedit.exe /displayorder {c0dfc4fa-cb21-11dc-81bf-005056c00008}
bcdedit.exe /default {c0dfc4fa-cb21-11dc-81bf-005056c00008}

This finally fixed my problem, and hopefully yours too!! Even if it didn’t, I hope there was enough information in the post to point you in the right direction.

Dec 152009

I am not usually fazed by Windows error messages, facing tons of them all these years. But with Vista, microsoft had promised an end to the infamous Blue Screen of death cryptic error message. But today when I woke my laptop from its slumber, I faced an even more puzzling situation – the Blank Screen of Death.

Its different from the Black Screen of Death  in Windows  7 as it eventually lets you inside if you press Ctrl – Alt – Del and run the explorer.exe task. But once inside Windows, none of the services were running. I tried to run the reliability monitor and the Event Log to identify what caused this strange error, but the services associated with them were not running either. Any attempt to start them failed as the option to the start them were not available in the management console.

The usual reboot didn’t work either. I tried System Restore as well, but to no avail. A quick google search suggested the Startup repair from the Vista disk, but I was too lazy to locate my Vista disk. Just as a last resort, I tried to startup the system in Safe Mode – going back to the Windows Me days where the safe mode was the only thing that worked. The Safe mode had the same issues with the services being stopped. But before shutting down, I made the last ditch attempt of running the System Restore from the Safe mode and lo and behold – it worked.

So a synopsis of the solution that worked for me.  Restart the system in Safe Mode and run the System Restore to restore the system to any system scheduled checkpoint.

If it doesnt work for you, try the Repair option from the Windows Vista disk that came with your system.