none
**FIX** Winload.exe Is Missing Or Corrupt (No Its Not)

    General discussion

  •  

    So we have all seen and heard the many solutions to this issue, most which refer to the direct editing of the BCD and MBR..

     

    However, no one has pointed out exactly why this issue happens, which should be the first step in identifying a fix. The corruption of BCD occurs, In the most part, when the vista setup finishes and the sysprep command is run, generalising BCD, and in most cases i have found, users running either a dual boot, or seperate HD's, the generalisation of BCD fails. It can also occur after installing the update KB936330, also known as Vista service pack 1.

     

    I am unsure why the issue can occur after installing the service pack, but I am certain that a generalised BCD was included in the package (Generalised being an OOBE prepared BCD.exe) and this may pertain to why some systems have this issue after, as additional HD's may not be installed until after the initial setup. We can be certain that no system with one HD is suffering from this issue, and that the problem extends from the shutdown sequence.

     

    There are two fixes, One pertaining to a single boot system, and one pertaining to a multi-boot system. Usually the system will be afflicted with either, but in some cases, can be afflicted by both.

     

    THE PROCESS

     

    Once running a repair from the Vista disc, windows should boot fine once, but upon a shutdown the same error will be presented. However upon a "Restart" the issue is not present and windows will boot fine. It appears that upon the shutdown sequence, the BCD is corrupted and the information is erased.

     

    Most people would follow the onscreen prompts and insert the vista disc and proceed with a repair, when in 99% of cases, simply turning the pc off and back on again will be sufice and the system will then boot into windows fine. Try it, I can almost guareentee that it is the case.

     

    If this is not the case, you may need to insert the installation disc and proceed to the repair OS screen, and select command prompt. Once in the command prompt;

     

    Run bootrec

     

    You will see a number of options;

     

    /repairmbr

    /repairbcd

    /osscan

     

    Repair BCD is the most essential command, as it locates missing OS's from BCD and links them, without modifying the other contents of BCD. Repair MBR is a dangerous command, and should only be used after running repairbcd as it will wipe the MBR and recreate it using the information from BCD. If the MBR is corrupted with false information from BCD, windows will be unable to repair this itself and a reinstall will be needed to correct it. Os Scan is a simple tool, used by repairbcd to scan for OS's not linked to either the MBR or the BCD.

     

    Run bootrec /repairbcd

     

    Answer Y once repairbcd has found the desired installation. You should recieve the message, "All tasks completed successfully"

     

    Run bootrec /osscan

     

    If osscan returns an OS that is not linked, that is a vista OS, you will need to;

     

    Run bootrec /repairmbr

     

    Repairmbr is fully automated. There is no need to explain it here.

     

     

     

    Once these steps have been completed, your "generalised" BCD will no longer be "generalised" and the system should be able to start without problem. If you are presented with the same error, simply turn the system off and back on again, The system should boot fine. I have notified microsoft of the fact that this only occurs upon issuing of the shutdown command and hopefully they should release a fix.

     

    WHEN ALL ELSE FAILS

     

    If the problem persists even after performing all of these steps and restarting does not fix the issue, the problem directly extends from the installation and the system should be reinstalled with a fresh install, and with the primary drive only. After this, the service pack should be applied. Once this has been completed, additional drives should then be installed and configured.

     

     

     

     

    USE OF BCDEDIT

     

    In 90% of cases, this does not fix the issue. Only when pertaining to dual boot systems, will this correctely identify and fix the issue, because the "Generalised" BCD is not the problem, it is the actual "Unknown" entries in the BCD. If those are not present, then your issue is the "Generalisation" of BCD and not the actual entries in BCD, and this WILL NOT WORK.

     

     Divine Logix wrote:

    Hi All,

     

    I had this problem and I have just fixed it. The winload.exe is not currupt. What is wrong is that entries in your bcdedit are corrupt. Once you change that manually, you will be back up and running. Once again, there is no need to re-install or even do a repair as vista suggests. You do not need to replace winload.exe file. 

     

    Solution:

     

    If you can get to a command prompt/DOS screen, go to d:\windows\system32

    "d" is the drive where vista is installed.

    Once there, type: "bcdedit.exe" or you can just type "bcdedit". Do not include the quotation marks " ".

    It will generate a screen like this:

    ---------------------------------------------------------------------------------------------------------

    Windows Boot Manager
    --------------------
    identifier              {bootmgr}
    device                  partition=C:
    description             Windows Boot Manager
    locale                  en-US
    inherit                 {globalsettings}
    default                 {default}
    resumeobject            {fe04aef5-e49c-11db-9f2f-cdf57e93812b}
    displayorder            {ntldr}
                            {default}
    toolsdisplayorder       {memdiag}
    timeout                 10

    Windows Legacy OS Loader
    ------------------------
    identifier              {ntldr}
    device                  partition=C:
    path                    \ntldr
    description             Windows 2003 Server Enterprise

    Windows Boot Loader
    -------------------
    identifier              {default}
    device                  partition=D:

    path                    \Windows\system32\winload.exe
    description             Microsoft Windows Vista
    locale                  en-US
    inherit                 {bootloadersettings}
    osdevice                partition=D:
    systemroot              \Windows
    resumeobject            {fe04aef5-e49c-11db-9f2f-cdf57e93812b}
    nx                      OptIn

    ------------------------------------------------------------------------------------------------------

     

    now check your result against the above, make sure that all the parameters above are the same (except for your drive letter, which might be different from mine).

    Now look at the "windows bootloader" section and note what you see in your report/DOS screen:

    You may notice that instead of displaying "osdevice partition=D:" it may display "osdevice unknown". The same applies with "device". I have highlighted what I am referring to as bold in the report above.

    If these settings are not showing the drive on which your vista is installed, you must change it. Since mine is drive "D" for vista, this is the command you must type:

     

    D:\Windows\System32>bcdedit /set {default} osdevice "partition=D:

     

    Also, if the "device" is showing as unknown, type this command: 

     

    D:\Windows\System32>bcdedit /set {default} device "partition=D:

     

    If the path is  \Windows\system32\winload.exe, then that's fine. Remember "D" above is the name of the drive on which your vista is installed. If your vista in on "F", use "F", etc. "default" in the blue text command above is the identifier for the os boot-up that you are trying to fix, in this case, vista. Sometimes, for the identifier you might have some long random numbers (GUID), just copy it and use it if is not the "default" that is shown.

     

    Exit the DOS screen, restart your system, and you should be ok. If you have any problems please let me know.

     

    Regards....DivineLogix

     

     

     

    Hopefully this has helped many people, and I am sorry that I could not provide a complete fix for this issue, but I have been able to point out why and hopefuly someone with a greater knowledge in those areas can provide a fix.

     

     

    Friday, June 27, 2008 4:52 AM

All replies

  • please explain how this will work on my raid1 mirror setup
    90% of the time it only works on dual boot
    I can boot into windows right now i dont want to loose that by doing something not already attempted
    Tuesday, July 01, 2008 2:44 AM
  • I believe I have found my solution!
    I can currently boot with my bios in ide mode- but my raid1 mirror is showing as independent drives (c and d)
    I do a simple windows search for winload.exe on the C: drive and get nothing
    that same search on the D: turns up winload.exe all over
    When I look at I my BCD 'device partation=C:'
    shouldnt this be D:?

    If so is this just a simple bcdedit, reboot into the bios, change my bios from IDE mode to RAID mode, save to cmos then, theoretically boot into windows with my raid correct (showing as a singe drive C: )

    Please someone correct me if I am wrong

    C:\>bcdedit

    Windows Boot Manager
    --------------------
    identifier              {bootmgr}
    device                  partition=C:
    description             Windows Boot Manager
    locale                  en-US
    inherit                 {globalsettings}
    default                 {current}
    resumeobject            {8b18c20b-c12d-11db-afc2-ac36bbabc8b2}
    displayorder            {current}
    toolsdisplayorder       {memdiag}
    timeout                 30

    Windows Boot Loader
    -------------------
    identifier              {current}
    device                  partition=C:
    path                    \Windows\system32\winload.exe
    description             Microsoft Windows Vista
    locale                  en-US
    inherit                 {bootloadersettings}
    osdevice                partition=C:
    systemroot              \Windows
    resumeobject            {8b18c20b-c12d-11db-afc2-ac36bbabc8b2}
    nx                      OptIn
    vga                     No
    quietboot               Yes

    Sunday, July 06, 2008 5:02 AM
  • 1. that did not work
    2. confirmed a raid creation on the hardware level would format my C: and lose the os
    installed intel matrix storage console under vista and it "failed to create volume" when I tried to mirror the C: (preserve data) to the D: (format loss of data).
    This was supposed to be the intel solution to making a RAID1 in windows without doing a re-install of the os
    The intel chip set is set to ENHANCED / RAID MODE so its supposed to work in creating under windows but its not because of that error.

    Does anyone else know anything or have a clue about setting this up the best way?

    Tuesday, July 15, 2008 6:45 AM
  •  REHV wrote:
    1. that did not work
    2. confirmed a raid creation on the hardware level would format my C: and lose the os
    installed intel matrix storage console under vista and it "failed to create volume" when I tried to mirror the C: (preserve data) to the D: (format loss of data).
    This was supposed to be the intel solution to making a RAID1 in windows without doing a re-install of the os
    The intel chip set is set to ENHANCED / RAID MODE so its supposed to work in creating under windows but its not because of that error.

    Does anyone else know anything or have a clue about setting this up the best way?



    I have the same problem (RAID1 will only boot windows in sata mode), but winload.exe is visable on both the drives.  Did you ever find a solution?
    Thursday, July 31, 2008 12:49 AM
  • A good start but I had different options than

    repairmbr

    /repairbcd

    /osscan

     

    So a good place to find further information is here: http://support.microsoft.com/kb/927392

     

    However, even after I rectified the issue of getting the mbr to recognise the vista installation and rebooting a load of times I still get the error. Only way around it is to chose advanced options and disable digital signiture option.

     

    Still won't boot proprly though!

    Wednesday, August 13, 2008 4:52 PM
  • This is very interesting. I have a simple, one Hard disk PC, I only have the one O/S - Vista Ultimate. This error came out of the blue, windows just crashed after I got to the desktop two days ago. The desktop appeared on screen, I started up Firefox and Outlook 2009 and blam, blue screen of death.

    Then when I tried to reboot the system, I get the error described above. So I appear to be the except to the rule. I do not have a dual boot set up, only one Hard Disk and only one O/S installed.

    I am grateful for the info above and I will give it a try and report back on how I get on. Many thanks.
    Friday, May 15, 2009 10:27 AM
  • hi... today i had this problem. its my WinServer 2008. i did what it should be done in the first place, such as: the bootrec.

    its still wont help startup my window, still shown \winload.exe > missing - corrupt.

    i did also the second task, change the default into {ntldr}. after i restard the cpu, it shows a difference. beside the failed /winload.exe, it displays, failed /ntldr. 

    i change it back into default, and it goes back into /winload.exe missing / corrupt.

    is there anything else that shud be done?

     

    tq ~Fx~

    Thursday, July 29, 2010 5:39 AM
  • Worked very well for a virtual Server 2008 (non R2) after restoring the VHD out of a backup.

    the bootrec commands differ slightly when booting from the .iso, but not much.

    Thanks

    Thursday, March 07, 2013 7:59 AM
  • Thanks for the FIX, safe my problems...Great!!!
    Sunday, March 17, 2013 4:36 AM
  • GReat man but in my worked with:

    bootrec /fixmbr

    bootrec /fixboot

    bootrec /rebuildbcd

    Sunday, March 17, 2013 4:37 AM
  • This fix saved me from a system restore on windows 8... 4 simple command lines saved from reinstalling over 30 games/apps.

    Kudos!

    Wednesday, September 18, 2013 7:21 AM
  • Thanks a lot. Worked like a charm. I had a Windows 2008 Server restored and it didn't start. But thanks to your post I have managed to make it work again. Only some parameters on the bootrec have changed:

    bootrec /fixmbr

    bootrec /fixboot

    bootrec /rebuildbcd

    But nevertheless it worked.

    Tuesday, October 22, 2013 12:31 PM