BootMgr is missing, usual fixes don't work

19

11

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?

parsley72

Posted 2011-11-17T20:13:10.150

Reputation: 940

What worked for me was using diskpart to select my startup disk, then select the partition containing the Windows and setting it as active. – davidair – 2017-06-04T18:52:42.690

Are you sure you are using a repair console for the exact same version of Windows you are trying to repair? – David Schwartz – 2011-11-17T20:35:02.487

Yes, I created the repair DVD yesterday before I started. – parsley72 – 2011-11-17T22:12:34.647

possible duplicate of Bootmanager is missing

– JdeBP – 2011-11-18T00:11:39.823

1I've already tried everything in the top answers there. I'll try the rest tonight. – parsley72 – 2011-11-18T00:45:57.803

Next time, use diskpart from Windows instead of GParted. – ZippyV – 2011-11-23T20:46:54.843

Answers

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.

parsley72

Posted 2011-11-17T20:13:10.150

Reputation: 940

2Interesting. 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 – 2011-11-23T09:44:24.090

As mentioned above, I tried the bcdedit export, rename and rebuild and it didn't work. – parsley72 – 2011-11-23T18:45:05.523

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! – Martin Del Vecchio – 2012-11-29T03:43:47.907

Pretty simple - just copy the backup of the partition on top of the new partition. There was nothing wrong with the partition itself but the bootloader wasn't finding it, so this forces the bootloader to look in the right place. – parsley72 – 2012-11-30T02:31:38.437

You say you copied the partition "using System Rescue CD". How, precisely, did you do that? Did you start a command prompt, then use the "xcopy" command, or a different command? Is there an option somewhere on the System Rescue CD for copying partitions? Thanks! – Martin Del Vecchio – 2012-11-30T02:38:37.210

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.

– Stefan Seidel – 2013-01-31T11:54:56.827

This solution worked perfectly for me. I used dd on a linux liveusb to copy the partition. The error message was "Disk Read Error", probably due to some part of the kernel or boot data missing. None of the boot repair stuff worked. – gravitation – 2013-04-14T12:53:58.830

2Well, sadly another reinstall-from-scratch fix...:( I guess a repair install is enough. – phoeagon – 2013-04-22T02:24:04.650

5

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.

harrymc

Posted 2011-11-17T20:13:10.150

Reputation: 306 093

Can you fix the link? I think I've already tried this but I want to check what you're suggesting. – parsley72 – 2011-11-20T22:24:04.950

Done - link repaired. – harrymc – 2011-11-21T06:44:29.513

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 – 2011-11-21T06:58:14.317

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 – 2011-11-21T08:16:14.850

But the problem here is that it's not finding the BootMgr Surely nothing will be reading the registry before the BootMgr? – parsley72 – 2011-11-22T00:20:24.733

I have added some desperate measures above. BTW : Is the BIOS boot order correct ? – harrymc – 2011-11-22T08:15:56.617

The MBR on the disk should point to the boot manager, you've fixed the MBR so i would assume the problem is within boot manager - harrys steps above rebuild/recreate it. Personally i'd go through a repair installation and use the opportunity to have a new Windows reinstall with SP's and fresh updates, but thats just me :) – HaydnWVN – 2011-11-22T11:04:49.413

As mentioned above, I already tried the bcdedit fix. – parsley72 – 2011-11-23T02:49:18.280

@parsley72: I suggested trying it after clearing up the BCD store. – harrymc – 2011-11-23T08:46:47.513

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 – 2012-10-29T15:40:26.753

@Mehrdad: Sorry, this was some time ago, so I don't remember exactly where. But after partition editing I had to fix a registry reference similar to multi(X)disk(Y)rdisk(Z)partition(W) in order for Windows to boot (I found this format just now on google, but am not sure this is exactly what I had fixed). – harrymc – 2012-10-29T16:36:04.213

@harrymc not after windows xp – Milind R – 2014-02-24T18:57:14.420

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:\

Felipe Tenorio

Posted 2011-11-17T20:13:10.150

Reputation: 51

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 – 2014-06-21T18:44:21.700

@afaolek Do you make backups now? – Frank Kusters – 2015-02-17T06:20:43.770

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.

Eduard Florinescu

Posted 2011-11-17T20:13:10.150

Reputation: 2 116

1This 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 – 2016-02-13T20:32:18.020

@DmitryNarkevich You're welcome. Same for me at that time that's why I posted this answer – Eduard Florinescu – 2016-02-13T20:33:41.393

1

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

Scott Petrack

Posted 2011-11-17T20:13:10.150

Reputation: 139

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 – 2016-08-07T18:29:23.507

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".

Mikhail Kupchik

Posted 2011-11-17T20:13:10.150

Reputation: 2 381

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.

Mithras Adam

Posted 2011-11-17T20:13:10.150

Reputation: 11

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?

minh

Posted 2011-11-17T20:13:10.150

Reputation: 11

1So that would be the first on the list of things I tried that didn't help? – parsley72 – 2013-08-24T04:58:53.580