BootMgr is missing, usual fixes don't work
I fixed it by:
- Back up the partition to an external drive (using GParted).
- Delete the partition.
- Reinstall Windows 7 on the (now empty) drive.
- 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.
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.
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:\