19

I know this question has been asked before but I've tried all the usual fixes and nothing works.

Basically the hard drive had two partitions with Vista and Windows 7. I've deleted the Vista partition to make more room and expanded the Windows 7 partition to fill the drive (using GParted).

I've tried:

  1. Running Startup Repair - it doesn't find any problems.
  2. Setting partition to Active - worked.
  3. bootsect /nt60 c: - worked.
  4. BootRec /FixMbr - worked.
  5. BootRec /FixBoot - worked.
  6. BootRec /ScanOs - I get the message "Total identified Windows installations: 0"
  7. BootRec /RebuildBcd - I get the message "Total identified Windows installations: 0"

BcdEdit shows a Windows Boot Manager and a Windows Boot Loader, both on C: partition.

[Update]

  1. Rename BCD and rerun BootRec /RebuildBcd - worked.
  2. Copy bootmgr from DVD - blocked because the file's already there.

[Update 2]

I found an article here that mentioned some other commands.

  1. C:\chkdsk /f /r - worked.
  2. sfc /scannow /offbootdir=c:\ /offwindir=c:\windows - worked (see here).

What else can I try?

6
  • Are you sure you are using a repair console for the exact same version of Windows you are trying to repair? Nov 17, 2011 at 20:35
  • Yes, I created the repair DVD yesterday before I started.
    – parsley72
    Nov 17, 2011 at 22:12
  • possible duplicate of Bootmanager is missing
    – JdeBP
    Nov 18, 2011 at 0:11
  • 1
    I've already tried everything in the top answers there. I'll try the rest tonight.
    – parsley72
    Nov 18, 2011 at 0:45
  • Next time, use diskpart from Windows instead of GParted.
    – ZippyV
    Nov 23, 2011 at 20:46

8 Answers 8

7

I fixed it by:

  1. Back up the partition to an external drive (using GParted).
  2. Delete the partition.
  3. Reinstall Windows 7 on the (now empty) drive.
  4. Copy the contents of the partition over the fresh install of Windows (using System Rescue CD).

Windows now boots correctly and looks exactly the same as before.

8
  • 2
    Interesting. This seems to indicate that faced with an empty disk, Windows installation does extra initializations that are not done for repair. My advice of clearing out the BCD store might have had the same effect or might not, maybe not. It is because of such unknowns that if the usual solutions don't work, one should reformat the disk and start afresh (as I also advised). You were real lucky to have been able to keep your Windows partition, which probably worked only because you have already done Startup Repair on it, which has fixed up the registry but not all of the boot-sector(s) files.
    – harrymc
    Nov 23, 2011 at 9:44
  • As mentioned above, I tried the bcdedit export, rename and rebuild and it didn't work.
    – parsley72
    Nov 23, 2011 at 18:45
  • Can you be more specific about the steps you took to fix this? I am in the same situation with Windows 7, and I can't figure out what you mean by "Copy the contents of the partition over the fresh install of Windows (using System Rescue CD). Thanks! Nov 29, 2012 at 3:43
  • 1
    This is crazy overkill and I was almost tempted to do it because I had the same problem on Windows 8. The one solution that worked for me, though, was to use bcdboot in the recovery console, as described also in this question. Jan 31, 2013 at 11:54
  • 2
    Well, sadly another reinstall-from-scratch fix...:( I guess a repair install is enough.
    – phoeagon
    Apr 22, 2013 at 2:24
6
+25

I guess that you had Vista on the disk as partition 1 and then Windows 7 as partition 2, then deleted Vista, meaning that Windows 7 is now on partition 1.

Unfortunately, Windows identifies its partitions by their numbers, so that all partition references in the Windows 7 registry are now incorrect and unusable.

I believe that you will have to reinstall Windows 7. A simple Repair Installation should be enough, and will only refresh Windows and not disturb the installed applications.

Or, for the sneaky solution, you could create some small empty space on the disk before the Windows 7 partition and format it as NTFS, in effect recreating a surrogate dummy partition 1 that will restore the Windows 7 partition to its number 2 position on the disk. You might still need to do again Startup Repair.

[EDIT]

You could force Windows to recreate the BCD store partition by booting from the DVD into the Command Prompt option of Repair and entering :

bcdedit /export C:\BCD_Backup
ren c:\boot\bcd bcd.old
bootrec /rebuildbcd

In case of a permissions problem, use the command attrib bcd -s -h -r before the rename. Reboot, and if it doesn't work then do Startup Repair again.

Another desperate solution is to assume that bootmgr got corrupted and boot as above and do :

ren c:\bootmgr deletemelatter
bootrec /rebuildbcd
bootrec /fixboot

If nothing works, just reformat the entire disk and install from scratch. Not every problem can be analyzed or has a solution.

12
  • Can you fix the link? I think I've already tried this but I want to check what you're suggesting.
    – parsley72
    Nov 20, 2011 at 22:24
  • Done - link repaired.
    – harrymc
    Nov 21, 2011 at 6:44
  • I tried this the other day but I selected the option to install a new version of Windows 7 and it told me I didn't have enough room. I understand what you're saying about partition references, but why is the Windows 7 registry required to load BootMgr? Surely BootMgr is required to boot Windows 7 so the registry can be loaded, not the other way round?
    – parsley72
    Nov 21, 2011 at 6:58
  • Values from the registry are read by BootMgr during the boot, so the registry is essential for launching Windows. I rather wonder why you didn't have enough space. Repair Installation might not give you the same error, but remark that running Windows without enough free space on the system disk is dangerous. If a new Windows installation is a possibility, then you might just as well format the disk and reinstall.
    – harrymc
    Nov 21, 2011 at 8:16
  • 1
    "all partition references in the Windows 7 registry are now incorrect and unusable"... which references are you referring to, exactly? There's only one place in the registry I know of that keeps partition references (HKLM\SYSTEM\MountedDevices), and that's fixable by hand -- and I'm pretty sure it keeps track of partitions by starting sector, not by number...
    – user541686
    Oct 29, 2012 at 15:40
5

Please make sure that the Windows 7 Recovery partition is set as the active!!

I was having trouble because the active partition was set to C:\

5
  • I wish I could give you a million up votes. Your answer rescued my PhD. I was already thinking of formatting. God bless you. I tried everything on Bing, Google and nearly all search sites. This really saved me. Thank you so so much.
    – afaolek
    Jun 21, 2014 at 18:44
  • 1
    @afaolek Do you make backups now? Feb 17, 2015 at 6:20
  • @afaolek Also be aware you can get files off a drive even if you can't boot from it, just by plugging it into a working computer.
    – Clonkex
    Mar 29, 2020 at 3:54
  • 1
    @clonkex Quite some time since I made this comment. I have more computer knowledge and experience since this happened to me. Going through the comment now, I realize autocomplete changed HD (hard disk) to PhD. 😀
    – afaolek
    Apr 20, 2020 at 12:20
  • @afaolek LOL I thought you just meant you had important doctorate files on your HDD xD
    – Clonkex
    Apr 20, 2020 at 23:47
3

Had the same issue and the below fixed it for me, assuming that you already know and started the rescue disk in Command Promt, I used the tool bcdboot.exe to recreate BCD:

bcdboot c:\Windows /l en-gb /s x:

Where x is the drive that has the System label.

2
  • 1
    This worked for me when bootrec didn't. Thanks so much. I didn't need to specify x:. "bcdboot c:\Windows /l en-us" was enough
    – Dmiters
    Feb 13, 2016 at 20:32
  • @DmitryNarkevich You're welcome. Same for me at that time that's why I posted this answer Feb 13, 2016 at 20:33
3

This is just a clarifying comment on Narkevich's remark (I wanted just to add a comment but seemed to be barred from doing so

The reason you didn't need the /s x: option is that by default, bcd boot changes the bcd on the volume which is currently active. That's almost always what you want. If one specifies /s and a drive letter, then either 1. The drive letter is the active volume, and the command would do the same thing without /s x: as with it ;or 2. The drive letter is different from the current active volume. In this case what actually happens at boot time could only affected if either the bcd on the active disk is corrupt, and or 2. At some later time you change which disk is marked active to the one named after /s.

Cheers

1
  • Answers are reserved for solutions to the question. Insufficient rep to comment doesn't turn this into a solution. Non-answers attract downvotes, which will delay your reaching the rep to comment. It might make more sense to save this until you can post it as a comment.
    – fixer1234
    Aug 7, 2016 at 18:29
1

Windows boot loader identifies partitions by offset in sectors + 4-byte disk signature in MBR. So when you moved your system partition with GParted, two odd things happened:

1) Disk offset of Win7 system partition changed, all references stored in BCD and SYSTEM registry hives are now broken.

2) Win7 system partition now has the same ID as WinVista system partition used to have, so two references now collide: bootloader with old settings tries to boot Win7 as Vista, but fails.

Basically you need to remove BCD registry hive and rebuild it from scratch, and also fix reference to disk C: in Win7's MountedDevices in SYSTEM registry hive.

Using Emergency Boot CD you can delete BCD in the "File Manager", then recreate BCD from scratch and fix MountedDevices in "Mount & Boot Center".

1

Try the fixes listed here: bootmgr is missing fixes

There are a whole number of various fixes. Solution #2 worked for me. Hope this helps others.

1

I want to improve the solution parsley72 gave:

Instead of copying the partition, install windows, then copy back:

You can boot to CD (either System Rescue Disk or windows set up disk) - I use the SRD to fix mine - then, select the Fix your windows option. It does the magic!

I think the reason is that you already have everything on C: (the restored OS, the MBR, etc.), the only thing left is for Windows to find the boot information (something only Windows software can do).

Logical huh?

1
  • 1
    So that would be the first on the list of things I tried that didn't help?
    – parsley72
    Aug 24, 2013 at 4:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .