247

I have Windows 8 pre-installed, and then I installed GRUB with Ubuntu. Ubuntu is not my thing, so now I want to remove it along with GRUB. From what I have learned, with UEFI, GRUB does not overwrite the windows bootloader in the EFI partition and is stored elsewhere. How would I remove GRUB and make my PC use the Windows bootloader instead? It should be noted that I created a separate /boot partition when installing Ubuntu.

1
  • 1
    So for those who have dual boot windows and ubuntu on the same or different disks and don't want the grub loader to show up but default to windows bootup instead and keep ubunut as a second option to start from the UEFI by boot overloading, jsut change the boot order in your UEFI to have windows as first and ubuntu as second and this will do the trick
    – Ilja KO
    Mar 24, 2022 at 9:53

13 Answers 13

470
+50

This answer is for those with UEFI who have deleted the Ubuntu partitions before removing grub

You will be doing this from Windows 10. No bootable media required.

Where bootrec /fixmbr, bootsect /nt60 and the Ubuntu live with the boot-repair suggestions have failed, this has worked for me:

(This answer borrowed verbatim from here)

  1. Run a cmd.exe process with administrator privileges
  2. Run diskpart
  3. Type: list disk then sel disk X where X is the drive your boot files reside on
  4. Type list vol to see all partitions (volumes) on the disk (the EFI volume will be formatted in FAT, others will be NTFS)
  5. Select the EFI volume by typing: sel vol Y where Y is the SYSTEM volume (this is almost always the EFI partition)
  6. For convenience, assign a drive letter by typing: assign letter=Z: where Z is a free (unused) drive letter
  7. Type exit to leave disk part
  8. While still in the cmd prompt, type: Z: and hit enter, where Z was the drive letter you just created.
  9. Type dir to list directories on this mounted EFI partition
  10. If you are in the right place, you should see a directory called EFI
  11. Type cd EFI and then dir to list the child directories inside EFI
  12. Type rmdir /S ubuntu to delete the ubuntu boot directory

Assuming you only ever had two operating systems (Win 10 & Ubuntu) you should now be able to boot directly to Windows without hitting the black grub screen.

32
  • 5
    I preferred this solution because I did not want to create a bootable device and it worked perfectly Apr 25, 2017 at 10:15
  • 29
    wow everything was exactly where you said it would be! Jan 28, 2018 at 0:28
  • 6
    This worked for me, but I still have a question: does this actually remove grub or is in the background still something going on where grub hands things over to the windows boot loader?
    – Bram
    Jan 29, 2018 at 13:20
  • 4
    This is the solution that works. MBR does not exist anymore because of GPT.
    – dev_nut
    Mar 20, 2018 at 2:37
  • 3
    How to remove the assigned letter afterwards its showing in file explorer now Apr 19, 2020 at 7:25
90

To restore Win 10 default bootloader follow these steps:

  • Log into Win 10
  • Open Command Prompt (Admin)
  • c:\> bootsect /nt60 <drive name>: /mbr

<drive name> is the drive letter where the Master Boot Record (MBR) will be updated

For example to update C master boot record this is the command:

c:\> bootsect /nt60 c: /mbr

For more help about bootsect command see here - https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/bootsect-command-line-options

16
  • 5
    This is by far best solution, one minute, no install disk, usb needed Dec 24, 2016 at 15:38
  • 2
    Some CISCO Talos annoyware was preventing me from doing this from within my OS, but as of Windows 10 you no longer need an install disk to do this. I have just done this operation without one; all you need to do is log out so you're on the log in screen, then you start holding down Shift, and press the power icon in the bottom right, then click Restart, now let go of Shift. This will open the same menu as the repair disk. You just have to go to Troubleshoot > Advanced options > Command Line and run bootsect /nt60 c: /mbr. Grub will be gone in an instant.
    – SeinopSys
    Mar 11, 2017 at 5:02
  • 12
    Does not appear to work for me. Grub appears until I press exit. Updated NTFS filesystem bootcode. The update may be unreliable since the volume could not be locked during the update: Access is denied. \??\PhysicalDrive0 Bootcode is only updated on MBR partitioned disks. A different partitioning scheme is used on this disk. Bootcode was successfully updated on all targeted volumes. PS C:\WINDOWS\system32>
    – Menasheh
    May 24, 2017 at 4:31
  • 1
    What does the /mbr do? I looked for documentation on bootsect, and I couldn't find anything about /mbr.
    – user483903
    Jun 16, 2017 at 17:44
  • 2
    Solution to the error: The update may be unreliable since the volume could not be locked during the update: Access is denied. \??\PhysicalDrive0. 1. Reboot and press F12 to open your bios screen (It could be F8 or F2 depending on your model). 2. You should see Ubuntu Grub as the first bootloader and Windows as the second one. 3. Follow the instructions in your BIOS to change the order. This video might help - youtube.com/watch?v=46OofQo1W_4
    – jerrymouse
    Jun 25, 2020 at 20:18
33

Remove Boot Loader EFI / System Partion in Windows 10

Quick Guide

Open PowerShell as Administrator

mountvol S: /S
S:
cd .\EFI\
dir
Remove-Item -Recurse Ubuntu

Details

Administrator PowerShell

Enter powershell into the windows search of the start menu. Look for a blue icon with the label "Windows PowerShell", right click on the that and select "Run as Administrator" within the context menu.

Mount EFI/System Partition As Volume

To Mount the EFI System Partition on the given drive use the mountvol command by using the /S parameter. You can chose any free drive letter you want. For example "S".

mountvol S: /S

Access Mounted Volume

Now the partition is mounted. We can access the mounted volume by changing to the drive by the cd command and the drive letter S: as parameter

cd S:

To ensure we are at the root of this volume we should execute:

cd \

We can now utilize the dir command to list the directories under the current path to ensure the we are indeed on the UFI partition drive.

dir

The output should look similar to this:

Directory: S:\


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       2019-01-17     12:55                EFI
-a----       2018-10-16     10:57             31 startup.nsh

Delete Boot Loaders

Your boot loaders are location in the EFI directory. Change to it by using the cd command and list the entries via the dir command.

cd .\EFI\
dir

Your output depends on the boot loaders you have installed, here is a example with Windows and Ubuntu.

Directory: S:\EFI


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       2018-12-06     06:55                Ubuntu
d-----       2018-12-05     05:21                Microsoft
d-----       2019-01-17     12:55                Boot

Now you can delete unwanted loaders via the command Remove-Item and the parameter -Recurse.

DO NOT DELETE THE BOOT DIRECTORY OR THE WINDOWS DIRECTORY!

Remove-Item -Recurse .\ubuntu
10
  • 3
    Note from present self to future self: This is the ONLY solution that worked
    – KhoPhi
    Jul 18, 2020 at 12:32
  • 5
    In PowerShell instead of command 'rd /S ubuntu', I had to use 'Remove-Item ubuntu'.. Thanks for sharing this solution!
    – BlueDev
    Jul 18, 2020 at 17:23
  • 2
    This is the correct answer for systems with EFI, especially if you installed linux on a separate drive which is the optimal way to go. Goodness, so many complicated answers out there and its really simple to do.
    – Seamus
    Oct 21, 2020 at 22:36
  • 1
    Did you maybe mean to write rd /s ubuntu instead of rd /S ubuntu? There is no /S option in the manual of rd and it didn't work for me. I used Remove-Item ubuntu instead, like @BlueDev did.
    – geras
    Nov 30, 2020 at 22:16
  • 1
    @geras I changed the command. Thanks for the feedback. Dec 3, 2020 at 14:53
24

You can restore the Windows bootloader with a Windows 8/8.1 DVD. These instructions are inspired by Manindra Mehra's answer, but I expanded it with full working details (verified with a Windows 8.1 DVD).

  1. Put the DVD in your optical drive and boot from it.

  2. Press a key when it displays Press any key to start from CD or DVD.

  3. Select your language etc. and click Next.

  4. Click Repair your computer.

  5. Click Troubleshoot.

  6. Click Advanced Options.

  7. Click Command Prompt.

  8. In the command prompt window, type bootrec /fixmbr

  9. Click the red X to close the command prompt.

  10. Click Turn off your PC.

  11. Turn the PC back on and it should boot directly into Windows.

This leaves the Ubuntu partition on your hard drive or SSD. To remove it:

  1. Hit Windows+X and select Disk Management.

  2. Find the Ubuntu partition. It will probably be a large partition without a drive letter.

  3. Be sure you have the correct partition!

  4. Right-click the partition and delete or reformat it with a Windows filesystem.

20

To do so you will need a windows installation cd/dvd

  1. put it in your optical drive and boot from it
  2. on the installation screen where it asks you to install windows, click on Repair Your Computer on the lower left corner of your screen
  3. Now go to command prompt (It probably will show a window saying "Trying to repair windows automatically", close it) and type BootRec.exe /fixmbr
  4. after it finishes GRUB is gone and you can now boot into windows directly
  5. you have an Ubuntu partition left in your computer, that doesn't show in "My Computer", to access that, right click on "My Computer" and Select "Manage" and go to "Disk Management"
  6. Select the Ubuntu partition and format it to a file system that windows can use.
2
  • For completeness, also remove ubuntu from the efi boot menu. I think this should be added as step 7.
    – Yibo Yang
    May 11, 2017 at 2:12
  • Please fix step 3 by explaining how to go to command prompt. Michael Geary's answer is more complete. This answer led me to reset my PC unnecessarily once because I didn't know how to go to command prompt. May 14, 2017 at 16:02
13

With UEFI you have both a Windows folder & an Ubuntu folder in the efi partition. the UEFI reads the efi entries and adds them to its own NVRAM to remember them. You have to remove ubuntu folder from efi partition first or UEFI will re-add it. Then you have to remove UEFI entry from UEFI.

You should have these folders in the efi partition. Delete only the ubuntu folder. Live installer should show folders. And if only Windows you have to mount from inside Windows the efi partition as it is not normally mounted.

/EFI/Boot
/EFI/Microsoft
/EFI/ubuntu

You should not have to install Ubuntu but can use live installer DVD or flash drive. Some UEFI systems may let you do the UEFI edit from UEFI menu.

from liveDVD or flash and use efibootmgr

sudo efibootmgr -v

The "-v" option displays all the entries so you can confirm you're deleting the right one, and then you use the combination of "-b ####" (to specify the entry) and "-B" (to delete it). Examples #5 is delete:

sudo efibootmgr -b XXXX -B

See also

man efibootmgr
4
  • This was helpful in directing what I needed to do. I could delete the ubuntu partition in Windows using informaition from here: superuser.com/questions/662823/…
    – flickerfly
    Feb 3, 2017 at 17:59
  • 1
    From a live usb stick, starting with efibootmgr -v, then using -b 0002 -B worked for me after 'fixmbr' from windows didn't seem to work, and that solution seemed a lot easier than some of the other solutions.
    – Casperrw
    Aug 12, 2019 at 10:27
  • 1
    This is mind-blowingly the easiest way to get rid of a boot entry. THANK YOU. Links are broken by the way.
    – Tek
    May 1, 2021 at 19:34
  • Removed broken links, add suggestion for example in man page for efibootmgr. A few Manufacturers, do not recognized efibootmgr and then your only choice is to go into UEFI menu (not UEFI one time boot menu) and on boot tab edit entries.
    – oldfred
    May 1, 2021 at 20:52
9

No CD's, USB's, DVD's. No long tutorials.

On UEFI all you have to do is:

Place Windows boot entry in NVRAM as first.

How to do this - several solutions.

Easiest solution is to use firmware functionality and reorder NVRAM boot entries.

2
  • For people wondering where to find this, go to your BIOS settings.
    – GMaster
    Mar 14, 2020 at 16:31
  • Thanks! So easy. Jun 23, 2023 at 0:40
8

What worked for me is:

  1. Boot to Windows
  2. Win + X
  3. Command Prompt (as admin)
  4. bcdedit /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw.efi
  5. Reboot
1
  • Did not work on Windows 11 as of today Dec 5, 2023 at 15:53
3

You can also use a USB memory stick for this job. It takes three applications: Unetbootin, FreeDOS and Testdisk for DOS.

  1. First download Unetbootin and use it to make a bootable USB memory stick. Choose Freedos when prompted for a distribution to install on it.
  2. Download Testdisk for DOS (don't pick the beta, but pick the stable version).
  3. Unzip the files testdisk.exe and CWSDPMI.exe, and put them on the bootable memory stick (not in a folder, just straight on it).
  4. Boot your computer from the memory stick. At the Default window, simply press Enter.
  5. Now FreeDOS is being launched. Choose: FreeDOS Safe Mode (don't load any drivers) and Press Enter.
  6. Then type: C: and Press Enter.
  7. Now type: testdisk and Press Enter.
  8. Select [No Log] and Press Enter.
  9. Select the hard drive concerned: usually the second option (the first option is the memory stick itself) and Press Enter.
  10. Select [Intel] and Press Enter
  11. Select [MBR Code] and press Enter. When prompted, type y (yes) and press Enter again.

Now you're done! Reboot your computer normally. Your computer should boot up Windows now.

1
  • 1
    Welcome to AskUbuntu! As it appears this was a copy paste, please consider linking to the original page at the end of your answer.
    – TheSchwa
    Feb 18, 2016 at 10:37
2

If All Else Fails!


The guy above me's method does not work on newer EFI computers. I solved the problem. Here is how I did it. WARNING, you have to reinstall Linux / grub first!

Steps: (this is if nothing else works and takes a long time)

1: Reinstall Ubuntu / Linux mint (this is just so you can use GRUB to boot into Windows).

1.5: Restart and boot into windows (if you can't boot to Windows, then live boot from the CD or USB and run the following in a console:

If you have a windows repair disk you can select the UEFI firmware option and load Windows from there (to avoid reinstalling Linux)

Boot repair (if needed right now)


sudo add-apt-repository ppa:yannubuntu/boot-repair

sudo apt-get update

sudo apt-get install -y boot-repair && (boot-repair &)

1g: Select recommended repair and follow the on screen instructions.

2g: After your done, reboot. You should see the grub menu, even though you can boot to Windows from here, this is not what we want yet... But find the option that boots into Windows.


2: Once your booted into Windows, run your disk partition editor and delete All partitions related to Linux / grub. Especially make sure the small grub partition is removed. Reboot

2.5: Make sure the windows loader is the first selected boot device. (most likely is). Disable the Ubuntu option. Continue boot.

3: If you've done everything right up to this point you should see (depending on your computer) your splash screen for a second and then it will turn into an error screen saying that there was an error with the boot. ("Winload.exe is missing or corrupted" most likly).

3.5: Don't be alarmed (I was). The next step will restore your original bootloader.

4: Restart and boot to your Linux CD or USB.

5: Once booted, run boot repair commands from above again. This time when running it. It will act differently, there is no grub bootloader detected to reinstall and should run faster than before.

6: Once complete, restart.

7: Enjoy your GRUB free system!

This worked for me when nothing else did, I ran bootrec.exe. Nothing worked. This saved my computers life. Hope it saves yours!

1
  • I did this and It didn't work at all.
    – ThN
    Sep 6, 2023 at 13:58
2

For system with GPT partition table, the method provided by @Ganesh Kondal won't work. Using bootsect /nt60 C: /mbr will show that it worked while it really doesn't. Using bootrec /fixmbr will lead to error that "the system cannot find the file specified". If any of the above situation applies, do the following (Using Windows 10 as an example):

  1. at log in prompt, hold shift, click on power button, choose restart, let go of shift
  2. choose troubleshoot -> advanced options -> command line
  3. at command line, type in bcdboot <drive name>:\windows

for more detailed information, also look at this webpage:https://www.tenforums.com/general-support/74226-bootmgr-error-cant-find-fix.html

1

It may be impossible to do that. The temporary solution is to remove the GRUB menu, and use BCDedit.

Extract from ubuntuhandbook (https://ubuntuhandbook.org/index.php/2020/06/hide-grub-boot-menu-ubuntu-20-04-lts/)

You can do the job easily via Grub-Customizer (available in Ubuntu Software) under General Settings tab. However, you need to also disable “look for other operating systems” option.

Any time you want to show the Grub menu, press ESC while booting up will NO longer show dual-boot (multi-boot) systems other than Ubuntu.

1

I have followed the instructions of the 2nd answer on this thread but after that my pc was stuck in a boot loop. Running the command bcdedit /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw.efi fixed it for me since my Windows Boot Manager path was pointing to grub.

PS: I thought this would help people who are saying that their computer is stuck in a boot loop after that. I could have added a comment under that but need 50 rep so adding an answer.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .