How to fix winload.exe is missing or corrupt issue on Windows 7 startup?

I have a DELL laptop, on which there is a Windows XP system. Recently, I installed a new Windows 7 on a VHD file. It worked perfectly even after several-time reboot.

After I switched back to original Windows XP system and did windows update, I could not login Windows 7 again. It kept saying that:

File: \Windows\System32\winload.exe
Status: 0xc0000002
Info: The selected entry could not be loaded because the application is missing or corrupt.

Then I logon Windows XP system again, and used vhdmount to check the vhd file. It's intact and did have a winload.exe file there. (I have also tried \Windows\System32\Boot\winload.exe file.)

The following is my bcdedit output:

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=C:
description             Windows Boot Manager
locale                  en-us
inherit                 {globalsettings}
default                 {ntldr}
resumeobject            {2cc79544-1005-11df-8187-002269c5d0fd}
displayorder            {ntldr}
                        {1ed31553-1f6c-11df-b01f-005056c00008}
                        {8334eb96-21b9-11df-99e5-005056c00008}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Legacy OS Loader
------------------------
identifier              {ntldr}
device                  partition=C:
path                    \ntldr
description             Earlier Version Windows

Windows Boot Loader
-------------------
identifier              {1ed31553-1f6c-11df-b01f-005056c00008}
device                  vhd=[C:]\win7\win7_A.vhd
path                    \windows\system32\winload.exe
description             Windows 7 Ult 32bit
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {1ed31554-1f6c-11df-b01f-005056c00008}
recoveryenabled         Yes
bootdebug               Yes
osdevice                vhd=[C:]\win7\win7_A.vhd
systemroot              \windows
resumeobject            {2cc79544-1005-11df-8187-002269c5d0fd}
nx                      OptIn

Any ideas?


Solution 1:

Only the Windows 7 bootloader supports boot from VHD. It can also boot to XP.

Put in a Windows 7 disk then choose the repair option and then choose command prompt. from there type bootrec /fixmbr then bootrec /fixboot which should then reinstall the Windows 7 bootloader.