Windows 7 system recovery

March 14th, 2010 by Arend Leave a reply »

I wrote this down here as a reminder / “note to self”, and hopefully as a guide for people with similar problems.

Situation

My PC has 6 drives in it, two 1TB drives as a mirrored RAID (raid1) which hold two separate installations of Windows 7 and 4 500 GB drives running as striped RAID (raid0). I somehow lost the ability to boot into my second installation of Windows 7 which I use for gaming. In an effort to fix this I planned on removing the 200 MB system reserved partition, converting this partition to a Linux ext2 filesystem to install the GRUB bootloader. I assumed this partition was used only for the Recovery Environment. Boy was I wrong…

After converting this partition, on the next boot I was greeted with the infamous “BOOTMGR is missing, Press Ctrl+Alt+Del to restart” message

Thinking this could easily be solved with the Windows Recovery Disc, I booted the original Windows 7 DVD, selected “Repair your computer” and was surprised to see the error:

“This version of System Recovery Options is not compatible with the version of Windows you are trying to repair. Try using a recovery disc that is compatible with this version of Windows”

If you see this error, chances are you try to use the 32 bit version of Vista / Windows 7 Recovery Options on a 64 bit Windows installation, or the other way around. This wasn’t the case with my setup. I knew I had Windows 7 x64 and I was sure I had the right Recovery DVD. After wasting many hours I finally found the reason of this misleading error. As mentioned earlier, the Windows installation that needed recovery was located on a RAID1 (mirror). Temporary disabling  RAID1 in the BIOS allowed me to get past this error and continue the path to recovery. In my case this was done by setting the “SATA RAID / AHCI mode” from RAID to AHCI.

The recovery environment scanned my drives and welcomed me with the message that problems where found and could be fixed, needing a reboot after the fix.

Failed to save startup options

Unfortunately this fix failed with “Failed to save startup options“. This can happen if the filesystem is corrupted so I dropped into the recovery command prompt and performed a disk scan using “chkdsk c: /f” no problems where  found. Finally after much trial and error, and searching online I was able to boot my system. I do unfortunately not remember the exact sequence of the below commands, so you might have to play with this a bit.
Still in the recovery command prompt go to the boot directory with the command: “cd boot”.

  • Restore the bootloader with: “bcdboot c:\windows /s c:”
  • Repair the mbr with: “bootrec /mbr”
  • Repair the bootsector with: “bootrec /fixboot”
  • Repopulate the bootloader with : “bootrec /RebuildBcd”
  • Update master boot code on all partitions with BOOTMGR code: “bootsect.exe /nt60 ALL /force /mbr”

The next reboot no longer gave me the “Missing BOOTMGR” but halfway down the boot sequence a blue screen flashed shortly and the pc rebooted. This I solved by reactivating the RAID mirror by switching back from AHCI to RAID in the BIOS.

Finally the system booted, unfortunately yet another problem surfaced: The striped RAID setup of 4 drives failed due to one of the drives had dropped out of the array, now being labeled “non-RAID member”. Even though the 4 drives where disconnected during the above endeavor. I will describe my solution to this problem in my next post.

35 comments

  1. KLOBSTER says:

    I love you so much!! Since the codebase is open source, have you thought of making a version that could be slipped into the next version? Also are there any issues with using the mce remote and using my other remote control programs?

    • Arend says:

      I think you posted this comment in the wrong topic. Anyway, do you mean an upgrade path from the stable to the beta version ?

      I am not aware of incompatibilities with other remote programs. However, some buttons on the remote will activate Windows Media Center, so they are better not mapped to VLC commands.

  2. TropicOJ says:

    Many thanks Man – saved my life at the eleventh hour….!

  3. Jerome says:

    OMG. Just wanted to tell you that you’re a savior! I pretty much tried everything else- to no avail, and finally this WORKS. Brilliant, thank you!

  4. Manjur says:

    Can you please help me with the similar problem? I tried your way by setting SATA mode from RAID to AHCI, but after loading the RAID driver, Repair method couldn’t find my RAID-0 array Windows install drive. My system is AMD 890fx and my windows 7 dvd has both 32-bit and 64-bit in one disc.

    • Arend says:

      This post describes recovery from a RAID 1 (mirror). Setting BIOS mode to AHCI will not work in RAID 0/striped RAID as your data is split across disks.

      Did you do anything prior to the RAID failure that might have caused this error ? Are you sure all drives are “online”. What does the RAID-BIOS say about your array, are all drives still enlisted?

      • Manjur says:

        Yes all the drive are just fine, one partition has ubuntu installed too. RAID array is doing great. I want to repair windows for getting BSOD error after a sudden power outage and I did not have UPS power backup. now the windows is not loading, also prior this the system was attacked by a “Windows 7 Restore” trojan. So i need a windows 7 repair, but though after loading the RAID driver, the windos partition is found but can’t repair due to getting the message “This version not compatible…….”

        • Arend says:

          I don’t know about the 32+64 bit combined DVD. Maybe it’s worth trying a DVD which is specifically targeted for your processor architecture, just to be sure.
          If you have a working version of Ubuntu on the drive, can you mount the Windows volume with Ubuntu ? You might as well try a repair from within Ubuntu using the command line program testdisk (apt-get install testdisk)

  5. Neter says:

    I tried so many other suggestions & this one finally worked. I was so surprised to see the windows “logo” appear on startup. Thank you so very much.

  6. Kevin Bone says:

    Very simple. Thanks. When something works in this world, there must be a genius behind it.

  7. KVorkian says:

    Thank you so much. I had so much trouble this second round of corrupt BootMGR. After 2 days of tinkering with numerous DOS commands, this sequence worked perfectly. My eternal thanks!!!

  8. Rees397 says:

    I do not have any drives in raid, yet I am still getting the not compatable error. Any ideas?

  9. Arend says:

    Are you sure you are using the right version of the (restore) DVD ? 32/64 bit ?

  10. Dany says:

    OMG, You are a god! Thanks

    I solved my problem.

  11. Elfranne says:

    Just wanted to thank you, it helped me a lot. And I have a PCI-e SSD so the hard disk was mounted on F: instead … strange

  12. Jensen says:

    Just wanted to say thanks for posting this. I got the same error using a single HDD setup and changing AHCI to RAID is what did the trick for me.

  13. Arend says:

    Great to here here some positive feedback, glad you got it working.

  14. Fred says:

    Thanks,

    windows recovery suck. I had this problem just because my secondary disc was a raid. My windows installation was not even part of it. You saved me a format.

  15. Kai says:

    I also get the “This version of System Recovery Options is not compatible with the version of Windows you are trying to repair. Try using a recovery disc that is compatible with this version of Windows” message. I Use the exact same DVD as when I installed win7x64. However I’ve tweeked a bit with the CPU frequency and added 2 more SSD discs since the installation. I have no RAIDS though.. Any clue?

    • Arend says:

      I have no clue, try to leave only the drive with the OS in your system while in recovery. But you might have done that already.

  16. C Mellor says:

    Dude U Rock , I been fighting this system 4 days , Thank u so much

  17. Andy says:

    Duuuude! That was sooo freaking helpful !!! Thanks man and keep doing what your doing :~)

  18. CHoPSTiX says:

    Thanks! I did this, then restarted and used startup repair and windows started.

  19. H3LLRA1Z3R3 says:

    Really thought all was lost but decided to refine my google search and this thread poped up.
    Very thankfull, never been so happy to see the windows boot screen.

  20. Hello Universe says:

    It was superb help for. It was my 5th ongoing hour trying to fix the bootmgr.bastard. I probably visited over 100 links and at last I struck my head here. I had simple hdd no raids no external drives. I’ve to say it was very hard 2 red bulls kept me up.

  21. Arend says:

    Great to hear this guys. These are indeed the problems that can keep you awake all night.

  22. Shazzh says:

    Hey there guys, i the similar problem here. I read and did everything that you said up there Arend and i’m still stuck on the same thing.

    So i had ” XP last ” installed on my PC , then 1 day i suddenly decide to just from XP to Win 7, I installed it without any problems, though i had that Windows old. folder , was kinda worried about it , but yeah , Everythign worked fine, untill few days ago. My PC started acting wierd , slow , and was buggy. In the middle some job i was doing my Computer freeze’d and i manually restarted it. So the next thing what happend was so ANOYING , it start popinng the Recovery thing , and it wasnt able to recover it automatically . So yeah i read lil bit on internet, And i found that i need to boot with the cd i used to install that w7, ok so i did it , Win7 window opens , i got for the Repail tool, and there it is , a problem again,

    “This version of System Recovery Options is not compatible with the version of Windows you are trying to repair. Try using a recovery disc that is compatible with this version of Windows”

    So what i did , i read what you wrote up there , played lil bit in the BIOS, with ACHI , RAID ( and IDE – it was on it when i first opened the BIOS thingy” , and still i got the same problem…

    I’m really bad when it’s about this kind of an error’s …. Can you guys give me a hint what to do next or what shall i do at all… please … btw sorry for the bad english ( english is my 2nd language ) ….

    • Arend says:

      Hello Shazzh,

      Have your tried a 32 bit and a 64 bit windows recovery DVD ? This is the first thing to check when you get that error. Next step is the BIOS settings, if that doesn’t work than I’m afraid I can’t be of much help.
      It also sounds like you have a physical hard drive issue.. Something you might not be able to remedy with a repair tool.

      Good luck anyway.

      Regards, Arend

  23. bryan says:

    Thank You so much!!
    You’re a lifesaver!! :D

  24. Matty says:

    Thanks a lot, seems to have solved a problem where I had mine dual booted between Linux Ubuntu and Windows 7, deleted the linux partitions leaving me with a grub error message. Unable to fix the mbr with traditional commands on the repair disc (fixboot and fixmbr commands) sometimes not even showing me the harddrive entry sometimes still not working when showing and using the commands said above. Thanks anyway worked and thats all that matters.

  25. Matty says:

    Also forgot to mention sometimes got the message this version of system recovery options is not compatible

  26. I’ll do a proper write-up of this later, but for now, here is a short summary of a nasty edge case you may see.

    First, one way this can happen:

    1. Your BIOS loses its settings.
    2. No problem, all that stuff’s stored in the EFI partition.
    3. …except for the SATA IDE vs AHCI setting, for obvious reasons.
    4. Were you using SATA-AHCI? You’re probably using SATA-IDE now.
    5. Did you try to boot before you figured that out?
    6. If you did, it failed. Did you let Windows try to fix it?
    7. If you did, BLAM, it may very well have destroyed the Boot Configuration Database.
    8. Make sure you’re using the correct SATA setting you were using last time.

    Here’s what you’ve probably done by now. IF ANY OF THIS DOES NOT MATCH, CAREFULLY EVALUATE WHETHER THIS IS IN FACT YOUR PROBLEM, and READ this for ideas but don’t FOLLOW it without thinking first.

    1. You have HOPEFULLY ignored all the crap about fixing the Master Boot Record (MBR), partition table, partition flags, and other bullshit that DOES NOT APPLY to an EFI boot scenario. *AT ALL*. At best, you would be able to completely rebuild a new, _unrelated_, NON-EFI boot solution. That might not be trivial, however, because:

    2. You have figured out that Windows is certain it does not have a Boot Configuration Database, but it is, unfortunately, either completely clueless or VERY certain about where it goes– you can’t quite tell which.

    3. You’re aware that the boot store is normally (somewhere)\Boot\BCD and that the file is HIDDEN; view it using “dir /a:hs”.

    4. You’ve familiarized yourself a bit with BCDEDIT.EXE and figured out that it will let you “mock up” a Boot Configuration Database in a staging file using “/CREATESTORE” (and please don’t name it “BCD”), that you can explicitly use the staging file with the “/STORE” option, that you can add a menu entry for the Windows Boot Manager using “/CREATE {bootmgr}”, and that you SHOULD be able to import it using “/IMPORT”…

    5. …but when you try to do this, you can’t. You look into the /SYSSTORE option, which sounds right, but you can’t get it to use another store because it’s “ambiguous”. You have a hunch that it knows where the store is– or should be– but you can’t find it.

    6. You’ve tried to use “MOUNTVOL” to mount the EFI partition, but it doesn’t even show in the list, so you can’t.

    If ALL of that applies fairly closely to you, here is what MAY be going on:

    1. Windows can tell you’re set up for EFI (you have booted the DVD via a UEFI boot, you have an EFI partition, etc.).

    2. It therefore knows WHERE TO LOOK for the BCD file– however, it either somehow has the location wrong (not this problem, but similar) or the BCD has been deleted.

    3. Apparently, because it knows where it SHOULD be, this breaks /SYSSTORE– and actually, that’s probably correct behavior, because otherwise you’d put it in the wrong place.

    4. As near as I can tell, MOUNTVOL deliberately hides the EFI partition (or is somehow incapable of noticing it). This prevents mounting the filesystem, which prevents finding the correct subdirectory, verifying that the database exists, etc.

    So here, finally, is what you need to do about it. The good news is that it’s probably a lot simpler than you’re hoping by now.

    1. You do indeed have to mount the EFI partition.

    Actually, I have a hunch that’s not *strictly* correct– I strongly suspect the EFI partition is *already* mounted by some internal subsystem, which is why BCDEDIT gets cranky– it doesn’t see the database, but it knows where it should go. Whatever it does not have, however, is a drive letter. So– what to do?

    Well…how far back do your DOS roots go? Do you remember the ASSIGN command? Guess what.

    2. Start DISKPART.

    3. If you are not familiar with DISKPART, the way it basically works is a hierarchy of sets; you must select exactly one element at one level to proceed to the next. So, “LIST DISKS”, and then “SELECT DISK n” where n is whatever’s appropriate for you.

    4. Use “LIST PARTITION” and “LIST VOLUME” (note non-plural) to get some insight and identify your EFI partition.

    It is usually a 100MB FAT32 partition marked “SYSTEM”. Keep in mind that your disk should be using a GPT partition table by now, so you may see quite a few partitions. Some of these are for emergency recovery– fat lot of good they do for EFI problems, eh? Oh well.

    Notice that the EFI partition, and a few others, do not have drive letters. If you’re so inclined, you can also view the GPT partition attributes, which may give you a few tangentially-related “Aha” moments as well.

    5. “SELECT PARTITION n” where n is the EFI partition. (I expect you could select the volume instead if you need to.)

    6. “ASSIGN”. That’s it. Don’t specify a drive letter; just “ASSIGN”.

    7. “LIST VOLUME”. You should now see a drive letter assigned to the EFI partition.

    8. “EXIT” DISKPART.

    And now… a big fat warning. You will probably go directly to S: (or whatever you got from ASSIGN) and notice a /Boot partition. “AHA!” You will say. “There is no BCD file here!” First… remember that file is hidden. Second… dig around a bit more, and you will notice that while there is:

    S:\EFI\Boot

    there is also:

    S:\EFI\Microsoft\Boot

    You need to check both of these for problems.

    S:\EFI\Boot is for the _motherboard_, and contains the Windows Boot __LOADER__ (and possibly other things for other operating systems). This has this name because the motherboard has no idea if you’re going to have Windows or not, and needs a fixed path that makes sense.

    9. Inspect S:\EFI\Boot. For Windows 7 Professional, 64-bit, you should see:

    bootx64.efi

    If you have installed an EFI shell (always a good idea), you might additionally see “shellx64.efi”.

    NOTE: Dual-boot Linux users using “chainloader+1″ WILL NOT see an extra entry here.

    10. Inspect S:\EFI\Microsoft\Boot using _both_ “dir” and “dir a:h”. For Windows 7 Professional, 64-bit, you should see a bunch of language templates (“en_US”, etc.) and the following files:

    bootmgr.efi
    bootmgfw.efi
    memtest.efi
    BCD
    BCD.Backup.001
    BCD.Backup.002

    …except that you probably don’t see BCD, do you? But those backup files sure look tempting.

    11. Determine which backup file you want to use. Whatever recent changes it’s missing are nowhere near as important as your ability to boot the system, so go for the one that’s most intact. Probably you will see one large one and one fairly small one. The small one is already corrupt, and is an artifact of the failed repair process– don’t use it. If they’re both large, use the older one. IN ANY CASE, make ADDITIONAL BACKUP COPIES _OF THE BACKUPS_ somewhere else.

    12. Copy the backup you’ve decided to use to “BCD”.

    13. Exit the shell, shutdown cleanly, and reboot.

    14. Tell Windows to start NORMALLY. At this point, it should start.

    Q: What if you don’t HAVE a backup BCD?

    A: Well, that _really_ shouldn’t happen. It likely means you’re either in the wrong directory, support EFI but weren’t actually using it, or somehow rebuilt your entire EFI partition without all of the required Windows materials (possible, especially when using multiple versions of Windows). In that case, you’ll need to copy the EFI materials from the DVD, then either modify or rebuild the Boot Configuration Database using BCDEDIT.

    Q: Can you give me an example of a scenario where “BCDEDIT /SYSSTORE” can be used to do anything at all on an EFI system?

    A: So far, no.

    Anyway, hope this helps solve some problems for people, or at least gets them thinking. As a very important final point, please note that you can mount and inspect your EFI partition _under Windows normally_ using the DISKPART ASSIGN technique above. You should do this at least once, to get a complete backup of your EFI partition, *BEFORE* you run into this kind of trouble. I recommend one backup into a subdirectory on your C: drive, and one on a USB flash drive.

    Cheers,
    Matt “Breakpoint” Heck

Leave a Reply


three + = 11