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

POST screen example showing a BIOS version number

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.

Luckily, 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.

Updating the Volume Boot Code to Use BOOTMGR

It's easy and should only take 10 to 15 minutes to do. Here's how.

  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 are not available for Windows Vista.

  2. Open Command Prompt.

    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

    The bootsect command as used above 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.

    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. Click the Restart button from the System Recovery Options window or touch/click Continue from the main Advanced Startup Options screen.

  7. Windows should start normally now.

  8. 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.