W7 corrupt winload.exe

I have an HDD with 2 partitions. I installed W7 to one of them to try it out and after a while decided to port it to my bigger partition (on the same HDD, the one it was installed was too small).

I cloned the partition and changed the drive letters (I knew this was going to bring problems but I thought I could easily fix them with the bcdedit tool on the start up disc). Now I completely deleted the smaller partition (old W7 partition) and only have the one that I want to use but I cannot get it to boot.

I have used the wiki guide for windows vista/7 MANUAL recovery with no success. I am getting an error saying that the winload.exe is missing or corrupt.

I will appreciate if any of you guys can give me more directions and if there is anything else I can try

Thanks for your support.



I browse the c:\windows\system32\ folder and I am really missing the winload.exe file.

Is there anyway to recover it or would I have to do a clean install?
Last edited:
My advice is to format the problem partition, and reinstall W7 to it.
The format and install does not take that long. You have already hacked it, and it doesn't work, so any further hacking would just be an unnecessary waste of time. Reformat and start over.

If you have an Ubuntu disk laying around, you can boot it in "Try Ubuntu with No Change to My Computer" mode, and recover your files first though to an external HDD through Places->Computer.
Boot from a Vista disc/recovery disc > Repair my computer > Command Prompt

Replace x: with the right drive letter:

sfc /scannow /offbootdir=x:\ /offwindir=x:\windows\

Try startup repair a few times aftwards and than see if you can boot.
Hello guys, thanks for your answers. I got a copy of winload.exe from another pc and copied it to the system32 folder of the messed up partition. That took me to another error of another missing file. I did the same thing and copied the file over and got a third corrupt file. This time just copying was not enough. The file, it seems, is really corrupt.

I did not write it down because I wanted to try kairozamorro's solution for which I got this back at the prompt:
windows resource protection could not perform the requested operation.

I could simply reinstall W7 and be done with it but since I am using Ubuntu on the same Pc and I mostly use W7 for gaming. I want to try to fix it and get my game saves from it.

I know that if I install W7 my files will save to windows.old but just restoring those files and configurations seem harder to me than just trying harder to fix this boot issue.

Another thing is that when I got to the recovery disk my c: partition with w7 shows, but when i click next a message shows up saying that I don't have a Windows OS installed. I have to select restore and cancel it in order to go to the cmd.

I know that I am being stubborn but maybe this is a more unique challenge for you guys and I know that it's not impossible for you to fix.

If you've changed the letter of the system partition, there will be several thousand incorrect registry entries hence all the "invalid file" entries. Your system will be unusable until you put the OS letter back to what it was when you installed it.
Thanks for the answer.

I want to correct myself. I clone a partition to another, c to d. After that I changed the letters from d to c and wiped what used to be c and now shows as available memory not partitioned (this I can see under my ubuntu).

There are a couple of problems my knowledge can foresee. One is that the mbr was written in the old c partition and after the movement I know do not have an mbr, this is why I also formated the old c. The other is that the mbr was copied to the old d and they were both conflicting, again that is why I wiped the old c. And thirdly, which I believe is the more correct one, I think the mbr is using the guid of the old partition to boot, not the drive letter, and for that reason it is still pointing to the old c even when now is an unpartitioned space.

What worries me is that I did step four of the recovery guide in here which is supposed to install a brand new mbr and point to the guid given and still I cannot make it boot.

The registry settings should point to c and the drive that I am trying to boot to is now c, the old d. This I am sure because it shows on cmd when I run the command list vol on the diskpart shell.

Is there any other thing to try?
If you clone with software that makes an exact copy (as I did), the easiest way to fix the incorrect UID is to let MS do it for you by booting the W7 DVD and running "startup repair" as many times as needed till the OS boots again.