I had this exact same problem and I did what most people did which was google for an answer and hope for the best. The win 7 install disk has a repair computer option that allows some automatic startup failure fixes to be implemented. Sometimes this does work, but this time it didn't. Think like a computer had a blog post that ended up being the saving grace.
But to make a long story short, here is what I did after I got the 'windows failed to start' error:
- boot from win 7 DVD or usb stick, preferably with the same version and type of windows you have on the target boot drive. For usb stick, use usb 2.0 port (3.0 may cause unexpected errors)
- After picking the language, select 'Repair your computer' (do not install win7!)
- Select 'use recovery tools that can help fix problems starting Windows...'
- Select 'Command Prompt' (CMD) to launch CMD with admin privileges.
type “diskpart” (without quotes) and press enter to launch DISKPART utility:
- type “list disk” to get a list of physical disks installed. Identify which disk has windows boot partition.
- type
select disk 0
where 0 = disk # with Win7 boot partition
- type
list partition
. Win 7 has a 100 or 200MB boot partition size and is primary.
- type 'select partition 1` where 1 = the boot partition #
- type
detail partition
and check to see if the partition is active. If active, go to next step.
- to make boot partition active, type
active
and when CMD reports the partition is active, restart the computer into recovery/repair mode (win7 install disk again) and return to CMD prompt.
- type
exit
to exit out of DISKPART utility
type c:
to get to the boot partition drive's root folder. (c:
is the drive letter of boot partition
- type
bootrec /fixmbr
. Should get 'The operation completed successfully' message.
- type
bootrec /fixboot
. Should get 'The operation completed successfully' or 'element not found' message.
- Restart the computer back into recovery mode/repair mode and load CMD prompt.
- Switch to your boot partition directory if you are not already there (usually
c:
)
- type
bcdboot c:\Windows
where 'c:\Windows' is the exact path to your windows folder. Keep in mind that in recovery mode, the path of the boot partition and path to windows may be different. In my case it was **e:**\Windows
.
- Restart computer (remove startup disks). Windows 7 should load normally.
I had windows 7 64 bit intel i5 3rd generation with an SSD drive. I used a usb thumb drive with win 7 64 bit loaded on it (rufus 1.4.9). Make sure you use usb 2.0 port. USB 3.0 port may give you errors in certain steps (3.0 drivers unavailable at the bios level in most cases).
My copy of win7 was more recent (2014) and had an additional option for recovery tools that includes windows explorer. I used that in addition to the CMD prompt to see which partition had windows installation folder.
This repair trick may also work for win 8 and/or win2k8/2012 server editions. What didn't work: Trying the use bcdedit to repair/rebuild the bootloader file. I got 'element not found' errors. Also, changing the boot order of the drives in bios didn't do anything.
edit 20 May 2018: I've upgraded to win8.1x64 + classic shell
several months ago after a few programs crashed that I couldn't get working again after several reinstall attempts; never looked back. Whether you are able to fully recover or not, consider the upgrade.