dual EFI entries after GPT conversion

Anonymous
2023-02-18T01:49:50+00:00

For reasons too lengthy to detail here, I was unable to use MBR2GPT for converting my current boot disk. Instead, I used Hasleo Disk Clone to clone the disk to another SSD while also converting it to GPT. This worked fine and the new drive correctly shows up as GPT with the shiny new MSR and EFI partitions. However, it left the protected/system EFI directory intact on the drive. My UEFI has been set to UEFI only with CSM=Disabled and yet I can still see entries for both EFI instances. Booting to the GPT partition works fine, but booting to the EFI directory fails. Is it possible (and safe) to either archive/rename or delete the EFI directory on C:\ so that it is no longer detected by the UEFI and disappears from the boot menu? I'm loathe to take any of the additional steps towards a Win11 upgrade without sorting this out first.

Windows for home | Windows 10 | Install and upgrade

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments
Answer accepted by question author
Anonymous
2023-03-07T05:38:10+00:00

(1) Even looking at the log, I'm unsure what's up with /SetREImage. But I think it is unnecessary. We'll revisit it if necessary.

(2) It looks like /Disable followed by /Enable would get the job done all by themselves. /Disable moved WinRE.wim from partition 3 into the staging area, namely C:\Windows\system32\Recovery....

"

2023-03-06 17:24:41, Info [ReAgentc.exe] winreCopyWIMBack moved WIM file from \?\GLOBALROOT\device\harddisk3\partition3\Recovery\WindowsRE\ to C:\Windows\system32\Recovery\Winre.wim successfully!

"

Then /Enable wanted to move it into partition 4, which it did recognize to be the Recovery partition. But it found that partition to be too small...

"

2023-03-06 17:24:49, Info [ReAgentc.exe] Checking partition at offset 497942528000, partition number: 4

2023-03-06 17:24:49, Info [ReAgentc.exe] MeetPartitionRequirements Partition details: {Offset: 497942528000, Free space: 467849216, Total space: 487256064}

2023-03-06 17:24:49, Info [ReAgentc.exe] MeetPartitionRequirements WinRE WIM size: 423565200

2023-03-06 17:24:49, Info [ReAgentc.exe] MeetPartitionRequirements Required free space: 478091152

2023-03-06 17:24:49, Warning [ReAgentc.exe] MeetPartitionRequirements Not enough free space req = 478091152 avail = 467849216 offset = 497942528000

2023-03-06 17:24:49, Info [ReAgentc.exe] skip partition because it does not meet WinRE requirements

"

(3) So, let's make it bigger. Mine is 848 MB. Your Disk Management (DM) shows the Recovery partition of 465 MB is followed by 1.56 GB of unallocated space...

Image

Unfortunately, DM won't let you make it larger because it is a system partition. Can you easily add 383 MB to it using AOMEI Partition Assistant? If not, we can try this...

DiskPart <<<Enter DiskPart

Select Disk 3 <<<Focus on the EVO 970

List Part <<<Show its partitions

Select Part 4 <<<Focus on its Recovery partition

Detail Part <<<Show it has the Recovery type code

SET ID=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 Override <<<Basic Data Partition

Detail Part <<<Show the new type code

Exit <<<Leave DiskPart

The 2nd Detail Part should show the new type. It is now a Basic Data Partition. Reboot to be sure the whole system knows. Then open Disk Management, right-click what was the Recovery partition, & see whether you can extend volume to 848 MB. Then make it a Recovery partition again this way...

DiskPart <<<Enter DiskPart

Select Disk 3 <<<Focus on the EVO 970

List Part <<<Show its partitions

Select Part 4 <<<Focus on what was its Recovery partition

Detail Part <<<Show it has the Basic type code

SET ID=de94bba4-06d1-4d40-a16a-bfd50179d6ac Override <<<Recovery Partition

Detail Part <<<Show the new type code

Exit <<<Leave DiskPart

I would Reboot again. Then, try...

ReagentC /Disable

ReagentC /Enable

ReagentC /Info

I hope that will do it. Good luck.

Was this answer helpful?

1 person found this answer helpful.
0 comments No comments
Answer accepted by question author
Anonymous
2023-02-23T12:27:49+00:00

(1) This should move {bootmgr} back to the top of DisplayOrder...

BCDEdit /Set {FWBootMGR} DisplayOrder {BootMGR} /Addfirst

That is where it belongs. I don't know how it got to the bottom. Do a full reboot for it to register in BIOS. Then, show us a new BCDEdit /Enum All.

That's nasty that BIOS adds one back after you have deleted it.

(2) The order of the GUIDs in DisplayOrder does not have to be the same as they are in the body of the BCD. In the body, they are in the order the boot entry was created. Moving one to the top of DisplayOrder should also move it to the top in BIOS Setup (after a full reboot). It then becomes the one that will boot by default. That is, it's the one that boots unless you chose another by using the one-time BIOS Boot Options menu. I think in your Asrock that is invoked with F11. (And DEL or F2 goes to BIOS Setup).

(3) I'm confused about your BIOS. I don't have one that complex.

(a) I don't know why it's got 4 Boot Options.

(b) Are you sure it is Boot Option #1 that is executing? Maybe disable ...#2 to be sure.

(c) Show us the contents of ...#2 as you showed ...#1 below.

(d) What is that item that is disabled within ...#1?

Our goal is to have you boot to the EVO that has Windows on it. So, that is the drive that needs to be at the top of the Boot Order in your Boot Option #1. Is it...?...

Image

The way to know that it is the correct Windows partition that is booted is that your C: partition will be 463 GB...

Was this answer helpful?

1 person found this answer helpful.
0 comments No comments
Answer accepted by question author
Ramesh 181.8K Reputation points Volunteer Moderator
2023-02-23T03:26:03+00:00

Rebuilding the BCD should be enough, not the entire boot files, even though rebuilding the entire boot files doesn't do any harm.

And wondering why you're trying to create a Recovery drive with system files? Is it for backup/restore purposes or only for accessing WinRE? If it's for accessing WinRE, you can uncheck "Backup system files..." and create the media.

Regarding your question about C:\EFI folder, you can simply rename it. If Windows reboots correctly, that folder can be deleted. Do this only after creating the USB setup disk or Recovery drive.

Was this answer helpful?

1 person found this answer helpful.
0 comments No comments

56 additional answers

Sort by: Newest
  1. Anonymous
    2023-03-01T00:39:48+00:00

    That was the "easy" way that definitely used to work. OK, let's see your BCD. We can do it manually when we know your GUIDs...

    BCDEdit /Enum All

    (a) There will be 3 references to HarddiskVolume3 that need to become ...4.

    (b) The Windows Boot Loader needs to say "Recoveryenabled Yes".

    Here is mine...

    C:\WINDOWS\system32>bcdedit /enum all

    Firmware Boot Manager


    identifier {fwbootmgr}

    displayorder {bootmgr}

                            {140ab3f9-3491-11e7-a4a0-952787f57a8e} 
    
                            {140ab3fa-3491-11e7-a4a0-952787f57a8e} 
    

    timeout 1

    Windows Boot Manager


    identifier {bootmgr}

    device partition=\Device\HarddiskVolume1

    path \EFI\Microsoft\Boot\bootmgfw.efi

    description Windows Boot Manager

    locale en-US

    inherit {globalsettings}

    default {current}

    resumeobject {67c572bf-4b5b-11ec-b24a-74e6e2074932}

    displayorder {current}

    toolsdisplayorder {memdiag}

    timeout 30

    Firmware Application (101fffff)


    identifier {140ab3f9-3491-11e7-a4a0-952787f57a8e}

    description Onboard NIC(IPV4)

    Firmware Application (101fffff)


    identifier {140ab3fa-3491-11e7-a4a0-952787f57a8e}

    description Onboard NIC(IPV6)

    Windows Boot Loader


    identifier {346bb303-b59b-11ed-b293-74e6e2074932}

    device ramdisk=[\Device*HarddiskVolume4*]\Recovery\WindowsRE\Winre.wim,{346bb304-b59b-11ed-b293-74e6e2074932}

    path \windows\system32\winload.efi

    description Windows Recovery Environment

    locale en-US

    inherit {bootloadersettings}

    displaymessage Recovery

    osdevice ramdisk=[\Device*HarddiskVolume4*]\Recovery\WindowsRE\Winre.wim,{346bb304-b59b-11ed-b293-74e6e2074932}

    systemroot \windows

    nx OptIn

    bootmenupolicy Standard

    winpe Yes

    Windows Boot Loader


    identifier {current}

    device partition=C:

    path \WINDOWS\system32\winload.efi

    description Windows 10

    locale en-US

    inherit {bootloadersettings}

    recoverysequence {346bb303-b59b-11ed-b293-74e6e2074932}

    displaymessageoverride CommandPrompt

    recoveryenabled Yes

    isolatedcontext Yes

    allowedinmemorysettings 0x15000075

    osdevice partition=C:

    systemroot \WINDOWS

    resumeobject {67c572bf-4b5b-11ec-b24a-74e6e2074932}

    nx OptIn

    bootmenupolicy Standard

    Resume from Hibernate


    identifier {67c572bf-4b5b-11ec-b24a-74e6e2074932}

    device partition=C:

    path \WINDOWS\system32\winresume.efi

    description Windows Resume Application

    locale en-US

    inherit {resumeloadersettings}

    recoverysequence {346bb303-b59b-11ed-b293-74e6e2074932}

    recoveryenabled Yes

    isolatedcontext Yes

    allowedinmemorysettings 0x15000075

    filedevice partition=C:

    filepath \hiberfil.sys

    bootmenupolicy Standard

    debugoptionenabled No

    Windows Memory Tester


    identifier {memdiag}

    device partition=\Device\HarddiskVolume1

    path \EFI\Microsoft\Boot\memtest.efi

    description Windows Memory Diagnostic

    locale en-US

    inherit {globalsettings}

    badmemoryaccess Yes

    EMS Settings


    identifier {emssettings}

    bootems No

    Debugger Settings


    identifier {dbgsettings}

    debugtype Local

    RAM Defects


    identifier {badmemory}

    Global Settings


    identifier {globalsettings}

    inherit {dbgsettings}

                        {emssettings} 
    
                        {badmemory} 
    

    Boot Loader Settings


    identifier {bootloadersettings}

    inherit {globalsettings}

                        {hypervisorsettings} 
    

    Hypervisor Settings


    identifier {hypervisorsettings}

    hypervisordebugtype Serial

    hypervisordebugport 1

    hypervisorbaudrate 115200

    Resume Loader Settings


    identifier {resumeloadersettings}

    inherit {globalsettings}

    Device options


    identifier {346bb304-b59b-11ed-b293-74e6e2074932}

    description Windows Recovery

    ramdisksdidevice partition=\Device*HarddiskVolume4*

    ramdisksdipath \Recovery\WindowsRE\boot.sdi

    Was this answer helpful?

    0 comments No comments
  2. Anonymous
    2023-02-28T22:07:46+00:00

    I ran through it again with the reboot in the new spot in the sequence and it's still pointing at dis3/par3. I guess it just hates par4.

    Was this answer helpful?

    0 comments No comments