Remove "Windows" Entry from Mac Boot Loader

When you don't use the Boot Camp utility to remove Windows, the Windows boot image on your EFI partition is not removed. This is what you see when you hold down during boot.

The procedure to solve this is not for the faint of heart. You need to mount the EFI partition in OS X (normally, it only gets mounted for system updates).

Mounting the EFI partition

List the partitions on your Mac:

diskutil list

You should see something like this:

/dev/disk0
 #: TYPE                     NAME          SIZE       IDENTIFIER
 0: GUID_partition_scheme                  *251.0 GB  disk0
 1: EFI                                    209.7 MB   disk0s1
 2: Apple_HFS                Macintosh HD  250.1 GB   disk0s2
 3: Apple_Boot               Recovery HD   650.0 MB   disk0s3

Take note of /dev/disk0 and 1: EFI. The numbers 0 and 1 have significance later.

Now mount the EFI partition (replace the numbers 0 and 1 if they are different in your output):

sudo mkdir /Volumes/efi
sudo mount -t msdos /dev/disk0s1 /Volumes/efi

Remove the Windows boot image

Now navigate to /Volumes/efi/EFI. This directory is supposed to only contain an APPLE directory. On a machine where I had Windows installed, it also contained a Microsoft and Boot directory. These can be safely removed, but for extra safety I would recommend renaming them to something different instead.

Then umount and delete the directory you created earlier.

sudo umount /Volumes/efi
sudo rmdir /Volumes/efi

Reinstall Windows again using BootCamp, then remove it properly using BootCamp Assistant. It takes time, but solves the problem. Dummy Windows entries are gone forever.


Deleting the Windows EFI Boot Entry

This is the most accurate and I have succeeded!

First, you’ll need to locate the EFI partition, which is where your Mac stores information about what operating systems can be booted from your Mac. In the Terminal, type this command:

diskutil list

You’re looking for a partition on your main hard drive called EFI.

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         500.1 GB   disk0s2

Once you find it, enter these commands one at a time:

sudo mkdir /Volumes/EFI

Next typing:

sudo mount -t msdos /dev/disk0s1 /Volumes/EFI

Replace /dev/disk0s1 with the correct partition you located using diskutil.

Typing Terminal:

cd /Volumes/EFI/EFI

Continue typing Terminal:

ls

At this point the list may appear as Apple, Boot, Microsoft. Delete the Windows EFI Boot entry by typing this into the Terminal:

 rm -rf Microsoft
 rm -rf Boot

And unmount EFI, typing Terminal:

sudo umount /Volumes/efi

MacOS High Sierra can type is:

sudo diskutil umount /Volumes/efi

Restart your MAC and done!!!!


In the end, I gave up on actually removing the entries from wherever they're stored on the bootloader. Instead, I just installed rEFInd and manually removed the entries from the bootloader. I chose to go this route because after installing Xubuntu, this was the only way that my mac could find the xubuntu bootup file and also rEFInd has a feature where you can specify which entries you want to display and which you don't.

It's not entirely fixed, but I'll only have the laptop for a little while longer, and I can deal with it until then. Worse things have happened.