51

I installed Ubuntu on a system that has Windows 10 installed. I can boot to Windows or Ubuntu normally using GRUB. I want to delete Ubuntu partition, but first I must restore the Windows 10 MBR.

In Use Bootrec.exe in the Windows RE to troubleshoot startup issues (applies to Windows 7 and Windows Vista) they say to use Bootrec.exe with options /FixMbr /FixBoot, but when I type "bootrec.exe /FixMbr" in a command prompt, Windows says:

'bootrec.exe' is not recognized as an internal or external command.

I say I can boot to Windows 10 and run a command prompt from there (I don't need to use an installation medium), but I don't know what to enter.

Codyfly
  • 611

4 Answers4

89

The command in Windows 8/8.1/10 for fixing MBR is "bootsect.exe".

bootsect /nt60 drive_letter: /mbr

this fixes boot record of partition mapped to "drive_letter:" and the MBR of the disk where the partition is placed.

C:\Windows\system32>bootsect

bootsect {/help|/nt60|/nt52} {SYS|ALL|<DriveLetter>:} [/force] [/mbr]

Boot sector restoration tool

Bootsect.exe updates the master boot code for hard disk partitions in order to
switch between BOOTMGR and NTLDR.  You can use this tool to restore the boot
sector on your computer.

Run "bootsect /help" for detailed usage instructions.

Alternatively you can use "Dual-boot Repair Tool" which has a graphical interface to bcdboot.exe, bootsect.exe and other useful functions like boot sector view and ... one click dual-boot repair function for Windows 10/8/7/Vista (also can fix Windows XP boot files).

snayob
  • 4,500
25

The other answers given here work great on MBR/BIOS systems, however if you're on a UEFI system like I am, bootsect will just write a semi-functional boot MBR over the GPT protective MBR and bootrec just gives an "Access denied" error message, and neither one has a functional option to fix a broken EFI system partition, which on a UEFI/GPT drive is what contains the bootloader that used to be stored in the MBR. There's unfortunately almost no up-to-date guides on fixing the UEFI Windows Boot Manager (almost all of them just say to run the graphical Startup Repair utility, but that doesn't fix the problem in all cases), but I finally found the correct solution buried in this article, which requires the use of the bcdboot command instead:

  1. Grab the Media Creation Tool, make yourself a Windows 10 installation DVD or USB drive, and then boot into it.

  2. When prompted, choose "Repair your computer", followed by "Troubleshoot", "Advanced Options", and finally "Command Prompt".

  3. Run diskpart and then list disk. Note the disk number for the disk with your EFI system partition (ESP).

  4. Select that disk with select disk x (where x is the disk number from the last step).

  5. Run list volume. Note the volume number for your EFI system partition (ESP).

  6. Now do select volume x (where x is the volume number for the ESP) and then assign letter=N: to mount the partition. Run list volume again and note that the ESP is now assigned a driver letter. Run exit to leave diskpart.

  7. (Optional) If you are not currently dual booting and want to fully clean the ESP before writing a new bootloader, run format N: /FS:FAT32 to reformat it as FAT32. This is probably not necessary under normal circumstances, however, as bcdboot seems to do a good job of cleaning things up itself. Especially do not do this if you have a Linux distro on another partition or else you'll have to reinstall GRUB as well once you're done with this. Also note that the following steps should not affect an EFI GRUB install as long as you do not otherwise delete GRUB's existing directory on the ESP.

  8. Finally, write the new bootloader to the partition with bcdboot C:\windows /s N: /f UEFI. This command rebuilds a new UEFI-compatible bootloader on the ESP mounted at N: using the Windows installation mounted at C:\windows. Once it's done, you can verify the new bootloader was written by running dir N:\EFI, where you should see a Microsoft directory containing the new Windows Boot Manager as well as a boot directory containing the fallback bootloader (along with other directories for any other bootloaders you have installed, such as GRUB for Linux).

  9. (Optional) If you are dual booting, you will probably need to boot into your Linux distro and run sudo update-grub to allow the GRUB scripts to detect and add the new Windows bootloader.

  10. Now boot into your BIOS setup and make sure "Windows Boot Manager" (or GRUB, if you're dual-booting) is set as the top boot choice. Save and reboot and you'll finally be back in Windows (or GRUB).

Nathan2055
  • 1,430
9

I was having the following issue:

I had Ubuntu and Windows 10 and deleted Ubuntu partitions using Windows 10. After a restart I got the Partition not found error and automatically entered GRUB.

Here's how I solved it:

  1. I burned a Windows 10 CD, entered troubleshooting, and from there I entered Windows Console.
  2. Then I typed in: bootsect /nt60 drive_letter: /mbr (replace drive_letter with your letter. for example, for me it was C: /mbr).
  3. And it finally worked.

I hope this also clarifies the solution for people with the same problem as me.

Tony
  • 91
0

In a very similar case (moved and enlarged partitions, so Windows system/C: partition has been moved – which GParted explicitly warns about), I also had a non-bootable Windows with grub.

Symptom: Had a Windows 10 blue error screen directly after choosing Windows 10 in the grub boot menu with some cryptic error code, which shows not much information. It says I should press F8 for troubleshooting or Enter to retry, but F8 just shows the same error.

Notes: The problem other solutions tries have when you have a working grub you may not want to break that. As such, e.g. do not overwrite the MBR (breaks MBR and requires grub reinstall then) or overwrite the boot sector.

Also, automatically fixing via Windows 10 boot troubleshooting tool did not work.

Solution: Boot a Windows 10 installation media (GParted explains how to get it, direct link for Windows 10) and rebuild the Boot Configuration Data (BCD) store using the cmd.exe/command line Windows 10 from thinstallation media:

bootrec /rebuildbcd

IMHO the Microsoft doc linked from GParted is too cumbersome, and I suggest to refer to these detailed instructions by Ventoy.

This was the only command needed.

PS: In my case I installed the Windows 10 installation media via ventoy to have other rescue ISOs next to it, which worked well.

(Cross-posted from a similar question)

rugk
  • 494