Not sure if I understand your problem 100%, but if it is caused from the bootloader being on a different drive then your system partition (which happened to me when I installed Windows 7...never really understood why though) the solution below from MS forum helped me. The main point is (!!) that you have to mark your system drive as active, otherwise the repair function will not work properly...hope this helps
------------------------------------------------------------------------------------------------------------------------------------------------------------
PROBLEM: Windows 7 (vista) Won’t Boot If A Give Hard Drive Is Removed, Even If You Don’t Think It Is The Boot Drive
The problem occurs when one of two things triggers it during Windows Installation:
- A drive previously used as a “System” (boot) drive is connected in the PC
- A drive that is not the target drive for Win7 is installed in a lower SATA port than the target drive
In these situations, Win7 install asks the user where to install Win7 and puts system files there, but does not make that drive the system drive, and instead writes the \boot\bcd boot files to the wrong drive. Thus, a split system is created where a few trivial bootloader files are on one drive, and all the other boot files and system files are on another. A failure, format, re-partitioning, or removal of either of these drives will make the system unbootable.
This is undesirable, and should NOT be the default of the Win7 installer. The default should be to install the BCD on the same partition as the target install partition for Win7, to make that the system partition, and use that for boot. Users with multi-boot needs could choose to deviate from this as an option.
My problem was trigger 1 above. I had an old system drive installed, and my new SSD (flash hard drive) installed when I installed Win7. When asked me where to put Win7, I said on Drive0, which was my new SSD. That worked. I then copied some of my old document files over from the older drive, and removed it. The system would not boot. It could not find a MBR (Master boot Record, or boot.ini), but I guess that file is now called the BCD in Win7. If I plug back in my old hard drive, everything works. So my new, rocket-fast, SSD driven system is beholden to my 6-year old, 40Gig former hard drive in order to boot.
If I ran the Win7 installer disk’s repair tools. In that process, there is a step that asks you which installation of Windows you want to fix – but my box containing choices was always empty, my windows OS was not found, even though it was totally present on disk0, C:?windows! At the next step, I chose “Startup repair”, the tool was not able to fix my BCD…because it could not find it. It is a bad tool, in my opinion, because it was able to correctly diagnose the problem (no BCD) but not able to actually fix it. It would be easy for MSFT to add in a “BCD Not Found…Create one? Tell me where to find Windows.” wizard.
Booting with both disks into Windows 7, a look at the Disk Management utility showed me that both drives were recognized, my SSD was Disk 0 and C drive, old disk was Disk1 and D drive. But D drive was marked as System, NOT C drive, and as you may know, you are not able to change that from within Windows. So that was the source of the whole problem. The Win7 installer made some assumptions – bad assumptions – about which disk to make the system disk.
What I did to fix it:
Since I could boot to Win7, as long as both hard drives were present, I did so.
In Disk Management, I made one change, making the C drive “Active”, and shut down
At this stage, you will want to verify that your preferred boot disk is in the first port, and gets recognized as disk0
I then booted from the Win 7 Installer disk, and chose repair. The first time, before offering options, it caught the fact that the new active partition didn’t have a BCD, and tried to fix that, requesting a reboot.
The second time, it booted, I chose repair, and chose “Startup repair”. Now, it found the Windows installation that had always been there, and created a new set of booting instructions to use Windows – finally writing this essential BCD information on the same drive as Windows files!!
I then removed the boot DVD, disconnected the old hard drive, D, and booted with no problems from only my new SSD. The new SSD is now identified as “System” in Windows Disk Management.
Really, though, my solution boiled down to two key steps: marking my preferred drive as Active, and then using the install disks repair tools.