Ok. No fluff. Since you are here, I assume you installed a Linux distro to dualboot with Windows and now want to get rid of it.

Steps

All the steps mentioned here are to be followed in Windows and are same for almost every Linux distro that uses GRUB as its bootloader.

Ensure UEFI mode

Before starting though, let’s just make sure your machine is indeed UEFI based.

  1. Open Run dialog — Press Win+R keys
  2. Type msinfo32 and hit Enter
  3. In the opened window, scroll until you see BIOS Mode. It should say UEFI.
Sample Image of a Windows Run Dialog

Sample Windows Run Dialog

Remove Bootloader/GRUB

  1. Open 2 Powershell windows as Administrator
    1. Open Run dialog — Win+R
    2. Type powershell
    3. Press Ctrl+Shift+Enter
    4. Confirm privilege escalation
  2. In the first window, launch diskpart
  3. List all the disks connected to your machine with list disk
    Firt screenshot of diskpart utility

    Diskpart Screenshot 1

  4. Select the disk where both your operating systems are installed along with the EFI partition, with select disk <num> where <num> is the number of the disk determined from the previous step
  5. List the partitions on the disk with list partition
  6. Select the EFI/System partition with select partition <num>
  7. Mount the partition with assign letter=x and switch to the other powershell window
    Second screenshot of diskpart utility

    Diskpart Screenshot 2

    1. Use another mount point if x is already in use for a drive
  8. Now, change the working directory with cd X:\
  9. List the directory contents with ls or dir
  10. Find a folder with a name related to your distro/GRUB.
    1. It might be in one of the sub-directories such as EFI, e.g. for Fedora, it is X:\EFI\fedora
  11. Delete the folder with rd <dirname> where <dirname> is the name of your folder and close the window
  12. In the the other one, unmount the EFI partition with remove letter=x or use whatever mount point you set.
Screenshot of EFI folder's contents

EFI Folder’s Contents

Reclaim Linux’s Partitions

  1. Open diskmgmt.msc with Run Dialog
  2. Delete the partitions you created for dual boot or the ones that were automatically created by your distro
    1. These are generally without labels and unrecognized by Windows
  3. Merge back the freed unallocated space or create a new partition by right clicking it
Screenshot of Disk Management

Disk Management Screenshot

With that, we have successfully removed the Linux installation. But, not all traces of it.

Remove Boot Menu Entry

  1. Launch powershell as Administrator once again
  2. List all the boot menu entries with:
    1
    
    bcdedit /enum firmware
    
  3. Find the deleted OS’ entry and copy its identifier. It should be a radom string enclosed in curly braces
    Screenshot of a BCD entry

    Sample BCD Entry

  4. Export the bcd store with:
    1
    
    bcdedit /export newbcd
    
  5. Create a copy just for backup with:
    1
    
    cp newbcd bcdbackup
    
  6. Edit the exported bcd store and remove the unneccessary entry with:
    1
    
    bcdedit /store newbcd /delete <identifier>
    
    1. <identifier> is the identifier you copied earlier
  7. Import the newbcd back with:
    1
    
    bcdedit /import newbcd /clean
    
Screenshot of BCD commands

BCD Commands

And, with that your machine no longer has any traces of dual-booting.

This is a one-stop resource that I wish I had the first time I dual booted. Other guides leave out the boot-menu part or some other random detail.