Dual Boot System: Two EFI partitions in two separate disks - want to wipe one disk

Solution 1:

Boot from a Linux live USB (making sure to boot in UEFI mode). Run efibootmgr -v and find the "Windows Boot Manager" boot entry. Should look like this (example is line-wrapped for clarity):

# efibootmgr -v
Boot000D* Windows Boot Manager
    HD(2,GPT,9c2d4ffe-c42a-4d89-bdaf-1c77bee95cae,0x96800,0x32000)
    /File(\EFI\Microsoft\Boot\bootmgfw.efi)
    WINDOWS.........

The GUID in HD(2,GPT,...) is a partition GUID that corresponds to the "PARTUUID" in lsblk:

# lsblk -o name,size,partuuid
NAME      SIZE PARTUUID
sda     931.5G
├─sda1    512M 9c2d4ffe-c42a-4d89-bdaf-1c77bee95cae
└─sda2  923.1G 22b80d95-d702-4d75-a8d4-dc8b7182bc56

If you find a matching partition – that's the one which must be kept. (Conveniently, in your case, the two have completely different sizes so they should be easy to recognize.)

You can also mount each partition and inspect its contents. If the partition contains an EFI/Microsoft/Boot directory with a bootmgfw.efi file, that's Windows. If it doesn't contain such a file, it definitely is not used by Windows.

Now that you know which partition is the Windows one, you can use fdisk or gdisk or cfdisk to delete partitions from the other disk.

Solution 2:

Since the two EFI partitions are not of the same size, here is a simple way to find the one you are booting from:

  • Run the Command Prompt (CMD) as Administrator
  • Enter the command: mountvol f: /s (you may choose another letter for f:)
  • Enter the command: dir f:
  • The size on f: of the free space will tell which disk is this. If more than 99 MB then this is the larger one.
  • To undo the mount, enter the command: mountvol f: /d.

Here is the result on my computer:

enter image description here