5

I was running a dual boot Windows 10 / Linux system for some time, but I have recently decided to remove the Linux partition.

Currently, I'm successfully booting and running Windows 10, however when I check my partitions, I see I have 2 EFI System partitions.

My question is this - how do I find out which EFI system partition is being used by Windows, so I can remove the unused one?

4

I'm attempting to configure the same on a Surface Book Gen 1. It appears that the way to identify is to run the following invocation at cmd:

echo list volume | diskpart   

The bootable EFI partition will be listed with System in the Info column.

The other method is to use bcdedit /enum as follows:

bcdedit /enum active

I'd argue that is a better method.

I located this information in MSFT docs

3
  • open a command prompt with admin privileges (approve UAC if demanded)

  • start diskpart -> diskpart

  • select your disk with efi partions -> sel disk 1 (if disk 1 is the correct disk)

  • list your available partitions -> list part

  • if partition 2 that is the efi partition -> sel part 2

  • detail part

    Partition 2
    Type    : c12a7328-f81f-11d2-ba4b-00a0c93ec93b
    Hidden  : Yes
    Required: No
    Attrib  : 0X8000000000000000
    Offset in Bytes: 524288000
    

Now when the Required: property is set to No, you know that is the EFI partition you can delete. The other EFI partition will have the Required: property set to Yes. Do not delete that partition.

more info about the Required property, scroll to: gpt attributes on this page.

Edit:

to change the windows boot device (efi partition) use the following command:

bcdedit /set {bootmgr} device partition=a:

*where a: is the assigned drive letter for your new efi partition

Thanks to @mbrownnyc for looking up this information bcdedit Device Setting

4
  • We expect answers (and questions) on this site to be complete and self-contained.  You seem to have provided such an answer (although (1) you could have said simply (Win)+(R) → diskpart, and (2) you might have mentioned the UAC dialog that will appear).  Links to sites that provide additional information are, of course, welcome (and are required when an answer is copied from another site), but it’s not clear to me how the link in your answer relates to your answer.  Please do not respond in comments; edit your answer to make it clearer and more complete. – G-Man Says 'Reinstate Monica' Sep 4 '19 at 18:55
  • I don't believe this is the case. On my running Windows 10 currently, I am booting without issue and both of my System EFI partitions (with id = c12a7328-f81f-11d2-ba4b-00a0c93ec93b) have their Required attribute set to no. – mbrownnyc Sep 8 '19 at 17:18
  • ok that is interesting information, in my case it was. is there a chance any software changed the attribute? and are you sure you are booting in gpt from one of those efi partitions? – Kleajmp Sep 8 '19 at 20:15
  • I have two EFI partitions i.imgur.com/dKLTs05.png and both say they are not required so I wouldn't delete an EFI based on that – Aindriú Feb 17 '20 at 17:38
1

If you go to an command prompt in Windows and enter mountvol S: /s this will mount the current ESP to volume S. You can change the S: to another drive letter if you are using S but don't change the /s switch.

Then create a directory mkdir S:\DONT_DELETE

Now you can tell which partition Windows uses and so you can delete the other.

0
0

If you have two EFI partitions, one is superfluous, as the boot process will only use one of the two.

An EFI boot partition will always have a top-level directory named /EFI. Beneath that directory, each operating system will have its own sub-directory, with a name that (hopefully) indicates what OS it is used for, and which is (hopefully) unique to that OS.

I would recommend letting these two partitions coexist, since deleting the wrong one will make your computer unbootable.

You can look at the contents of these partition by assigning them drive-letters in Disk Management, if you wish to examine them more in depth, and you may also remove it when finished.

2
  • EFI partitions haven't been accessible from Windows for quite some time while booted to Windows or WinPE. Access to the EFI partition changed in Windows 10 and is meant to secure the EFI boot partition from external changes.by users or applications. DiskPart can mount the partition, but access to the partition's filesystem is denied, receiving the error "You have been denied permission to access this folder"; the Security tab has been disabled for the EFI partition, so changing permissions via the GUI or icacls ("No permissions are set. All users have full control.") is not possible. – JW0914 Sep 11 '19 at 14:19
  • @JW0914: This is new block specific to to Windows Explorer, since Explorer never runs as Admin. Any other file manager that is run as Admin will happily access the EFI partition once it is assigned a drive-letter using diskpart. Or use Task Manager > File > Run New Task > Browse… to examine the partition. Or use the command mountvol. – harrymc Sep 11 '19 at 16:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.