How to Use Bootsect /nt60 to Update the VBC to BOOTMGR

A Tutorial on Updating the Volume Boot Code

Sometimes the volume boot code, part of the volume boot record that resides on the drive that Windows is installed on, can become corrupt or accidentally reprogrammed to use the wrong boot manager.

When this happens, you can get system-halting errors, usually hal.dll errors in Windows 7, 8, 10, and Vista.

Fortunately, correcting volume boot code errors is easy with the bootsect command, a boot sector restore tool only available from the Command Prompt available from Advanced Startup Options or System Recovery Options.

These steps apply to Windows Vista and newer Windows versions.

Updating the Volume Boot Code to Use BOOTMGR

  1. Access Advanced Startup Options (Windows 10 & 8) or boot to the System Recovery Options menu (Windows 7 & Vista).

    Feel free to borrow a friend's Windows disc or flash drive to access one of these diagnostic modes if you don't have Windows media on hand.

    Using original installation media is just one way of accessing these repair menus. See How to Create a Windows 8 Recovery Drive or How to Create a Windows 7 System Repair Disc (depending on your version of Windows) for help creating repair discs or flash drives from other, working copies of Windows. These options aren't available for Windows Vista.

  2. Open Command Prompt.

    Advanced Options in Windows 8

    The Command Prompt available from Advanced Startup Options and System Recovery Options, and in Windows as well, functions very similarly between operating systems, so these instructions will apply equally to any version of Windows setup disc you're using, including Windows 10Windows 8, Windows 7, Windows Vista, Windows Server 2008, etc.

  3. At the prompt, type the bootsect command as shown below and then press Enter:

    bootsect /nt60 sys

    This will update the volume boot code on the partition used to boot Windows to BOOTMGR, the one that's compatible with Windows Vista, Windows 7, Windows 8, Windows 10, and later Windows operating systems.

    The nt60 switch applies the [newer] boot code for BOOTMGR while the nt52 switch applies the [older] boot code for NTLDR.

    Some documentation I've seen online regarding the bootsect command refers to it updating the master boot code, which is incorrect. The bootsect command makes changes to the volume boot code, not the master boot code.

  4. After running the bootsect command as shown in the last step, you should see a result that looks something like this:

    C: (\\?\Volume{37a450c8-2331-11e0-9019-806e6f6e6963})
    Successfully updated NTFS filesystem bootcode.
    Bootcode was successfully updated on all targeted volumes.
    bootsect nt60 sys command in Command Prompt

    If you receive some kind of error, or this doesn't work after you try to start Windows normally again, try running bootsect /nt60 all instead. The only caveat here is that if you dual boot your computer, you may inadvertently cause a similar, but opposite, problem with any older operating systems you boot to.

  5. Close the Command Prompt window and then remove the Windows disc from your optical drive or the Windows flash drive from its USB port.

  6. Select Restart from the System Recovery Options window or choose Continue from the main Advanced Startup Options screen.

  7. Windows should start normally now.

If you're still experiencing your problem, like a hal.dll error for example, see the note in Step 4 for another idea or continue with whatever troubleshooting you were following.