Tuesday, November 13, 2007

Corrupt \Boot\BCD in Windows Vista

Two nights ago, I started installing a video driver upgrade and went home for the night. The next morning I came in to discover that something had failed in the upgrade and the system was hung on a black screen. Even Remote Desktop access wasn't working.

I hit the Reset button. The system started to reboot. As per usual when I use the Reset button, the RAID array was incensed that I had interrupted its normal operation and took its revenge by taking four hours to validate the mirror. 89% of the way through validating the mirror, I received my first Vista Blue Screen of Death (BSOD). Something about a power driver not handling an event.

No problem. I hit the Reset button again. What's another four hours between friends?

Except this time, the system didn't reboot. It went through the BIOS check, started to boot Vista, and presented me with this error:

File: \Boot\BCD
Status: 0xc0000034
Info: The Windows Boot Configuration Data file is missing required information

The Microsoft Knowledgebase has a helpful article on this subject, which should have worked, but didn't. The error messages during the failed repair didn't clarify the cause of the problem.

I tried booting Vista from DVD and running recovery. Rebuilding the BCD file is a standard operation, except that it didn't work. The Recovery Manager said that it couldn't save the file. Curiouser and curiouser.

I restored the BCD file from backup (Acronis True Image pays for itself... again.)

I rebooted the system and got the exact same error. I went back in with the Recovery Manager and discovered that the file \Boot\BCD was gone, even though I had just restored it.

The final solution was to use Acronis to restore track zero and the Master Boot Record (MBR) from my last image backup. There never was a problem with the BCD file, that was just a red herring. I'm not sure how you'd solve this problem if you didn't have an image backup. It just goes to show the usefulness of image-level backups.

Update (11-15-2007): I discovered that the Vista repair utility created a file named C:\Temp\SrtTrail.txt. This file contained the list of tests that were performed. The last test showed this:

Root cause found: 
---------------------------
No OS files found on disk.

Repair action: Partition table repair
Result: Failed. Error code = 0x3bc3
Time taken = 154722 ms

If I'd seen this file earlier, I would have had a clear indicator to repair track zero instead of stumbling on the solution accidentally.

9 comments:

  1. Hi mate,

    So in the event that I don't have a backup, am I royally screwed? Windows installed an update at midnight a few nights ago and since then my comp won't get past startup repair, same error you're having. Cheers,

    Nick

    ReplyDelete
  2. Go to Google and search for Partition Table Repair. There are numerous tools that claim to be able to do this.

    Also, Microsoft has free tech support for Windows Update issues:
    https://support.microsoft.com/oas/default.aspx?gprid=6527

    ReplyDelete
  3. so... how did you solve this problem...? did you go to service center to fix yours?

    ReplyDelete
  4. As I said in the last paragraph, I solved the problem by restoring Track 0 from my system backup made with Acronis True Image Home.

    ReplyDelete
  5. I just ran into this problem on a Lenovo laptop. After doing some reading I was able to boot the Vista DVD using a USB drive since my system doesn't have a CD-ROM drive. I got the same error, it couldn't save the file.
    I then clicked next and got to the advanced screen where a command prompt is available. I started the command prompt and typed

    "diskpart"

    In diskpart I typed

    "list volume"

    to obtain a list of volumes on the computer, I saw my harddrive and the usb drive partitions.

    I then typed

    "select volume 0"

    0 being my Vista C: drive partition.

    Then I typed

    "active"
    and to my surprise it then stated that the partition is now active. I tried running recovery again on it and it worked and I rebooted into Vista.
    Hope this helps.

    ReplyDelete
  6. If somebody will find it usefull, I solved this problem with chkdsk utility. As it turned out normal shutdown of VISTA managed to corrupt c:\BOOT\BCD directory (sic!).
    After running chkdsk \F \R \B on c drive from repar console, VISTA booted normally...
    It costed me few years of my life till I figured it out. :-)

    ReplyDelete
  7. Hallo all, thank you for this I have been having the same issue after a prolonged shut down (over night). I get a BCD error (Windows feature 8-)). I have run the repair console, bootrec/fix... Rebuild BCD etc etc To have the same thing happen the next day.

    I have tried everything I know until reading this post. So thank you for this help I just hope I can now resolve the problem.

    Take care of you and yours.

    ReplyDelete
  8. Thought I'd add another solution.
    Microsoft's fix didn't do it, but almost.
    Had to make the bcd file editable first. In the repair console command prompt, do this:
    c:
    cd \boot
    attrib bcd -s -h -r
    ren bcd bcd.old
    bootrec /RebuildBcd

    This did it for me!

    //LedZled

    ReplyDelete
    Replies
    1. Yes! Finally a solution. The anonymous comment above worked for me. Thank you!

      Delete