I dual boot with Ubuntu 19.10 and Windows 10. The drive was partitioned as:
dev/sad1 (8GB swap)
dev/sda2 (~50MB EFI Partition, containing UEFI files for both Ubuntu and Windows)
dev/sda3 (~450GB mounted as root partition, ext4 filesystem)
dev/sda4 (~20MB Windows system reserved partition)
dev/sda5 (~130GB Windows 10 Partition, C drive, NTFS filesystem)
dev/sda6 (~400GB mounted as home (/home), ext4 filesystem)
While installing Pop OS in place of Ubuntu, Pop recommended an EFI partition of ~500MB so I Deleted dev/sda3 (partition mounted as root) and tried to extend the EFI partition. GParted extended the partition but "failed to extend the filesystem". So dev/sda2 was now 500MB with ~50MB of FAT32 filesystem in it. I then went on to install Pop OS in a newly created ext4 filesystem on dev/sda3 leaving 100GB of unallocated space after dev/sda3 and before Windows reserved system partition on dev/sda4. I want to expand the primary partition of Windows from ~130GB to ~230GB.
After the installation of Pop OS the partitions look like this:
dev/sad1 (8GB swap)
dev/sda2 (~500MB EFI Partition, containing UEFI files for Pop OS.)
dev/sda3 (~350GB mounted as root partition, ext4 filesystem)
Unallocated space (~100GB)
dev/sda4 (~20MB Windows system reserved partition)
dev/sda5 (~130GB Windows 10 Partition, C drive, NTFS filesystem)
dev/sda6 (~400GB mounted as home (/home), ext4 filesystem)
I was under the impression that Pop OS installer would detect the UEFI Files for Windows installation and would place the UEFI files in the EFI/Microsoft folder in the correct place But it did not! And now I am stuck with non-bootable Windows installation. The EFI partition only contains Pop OS UEFI files.
I came across a tutorial which shows that copying the Microsoft folder from Windows EFI partition to Pop OS EFI Partition would allow the Pop OS bootloader Systemd-boot
to show Windows as a boot option but there is no EFI partition for Windows. Earlier there was an EFI partition for grub
where said files were located but Pop OS installer overwrote them and I do not have a backup of the old EFI Partition.
I know from this question that the contents of /boot/EFI/Microsoft
look like this:
(Notice contents inside Microsoft folder)
❯❯❯ tree -L 4 /boot
/boot
├── e0dbb6ba929948f599abce57c8e2eb65
├── EFI
│ ├── BOOT
│ │ └── BOOTX64.EFI
│ ├── Microsoft
│ │ ├── Boot
│ │ │ ├── BCD
│ │ │ ├── BCD.LOG
│ │ │ ├── BCD.LOG1
│ │ │ ├── BCD.LOG2
│ │ │ ├── bg-BG
│ │ │ ├── bootmgfw.efi
│ │ │ ├── bootmgr.efi
│ │ │ ├── BOOTSTAT.DAT
│ │ │ ├── boot.stl
│ │ │ ├── cs-CZ
│ │ │ ├── da-DK
│ │ │ ├── de-DE
│ │ │ ├── el-GR
│ │ │ ├── en-GB
│ │ │ ├── en-US
│ │ │ ├── es-ES
│ │ │ ├── es-MX
│ │ │ ├── et-EE
│ │ │ ├── fi-FI
│ │ │ ├── Fonts
│ │ │ ├── fr-CA
│ │ │ ├── fr-FR
│ │ │ ├── hr-HR
│ │ │ ├── hu-HU
│ │ │ ├── it-IT
│ │ │ ├── ja-JP
│ │ │ ├── kd_02_10df.dll
│ │ │ ├── kd_02_10ec.dll
│ │ │ ├── kd_02_1137.dll
│ │ │ ├── kd_02_14e4.dll
│ │ │ ├── kd_02_15b3.dll
│ │ │ ├── kd_02_1969.dll
│ │ │ ├── kd_02_19a2.dll
│ │ │ ├── kd_02_1af4.dll
│ │ │ ├── kd_02_8086.dll
│ │ │ ├── kd_07_1415.dll
│ │ │ ├── kd_0C_8086.dll
│ │ │ ├── kdstub.dll
│ │ │ ├── ko-KR
│ │ │ ├── lt-LT
│ │ │ ├── lv-LV
│ │ │ ├── memtest.efi
│ │ │ ├── nb-NO
│ │ │ ├── nl-NL
│ │ │ ├── pl-PL
│ │ │ ├── pt-BR
│ │ │ ├── pt-PT
│ │ │ ├── qps-ploc
│ │ │ ├── Resources
│ │ │ ├── ro-RO
│ │ │ ├── ru-RU
│ │ │ ├── sk-SK
│ │ │ ├── sl-SI
│ │ │ ├── sr-Latn-RS
│ │ │ ├── sv-SE
│ │ │ ├── tr-TR
│ │ │ ├── uk-UA
│ │ │ ├── winsipolicy.p7b
│ │ │ ├── zh-CN
│ │ │ └── zh-TW
│ │ └── Recovery
│ │ ├── BCD
│ │ ├── BCD.LOG
│ │ ├── BCD.LOG1
│ │ └── BCD.LOG2
│ └── systemd
│ └── systemd-bootx64.efi
├── initramfs-linux-fallback.img
├── initramfs-linux.img
├── intel-ucode.img
├── loader
│ ├── entries
│ │ └── arch.conf
│ ├── loader.conf
│ └── random-seed
├── System Volume Information
│ ├── AadRecoveryPasswordDelete
│ └── ClientRecoveryPasswordRotation
└── vmlinuz-linux
Which looks similar to this directory structure (in C:\Windows\Boot\EFI):
akshatfs@apollo:/media/akshatfs/C82CBFC42CBFAC36/Windows/Boot/EFI$ tree -L 3
.
├── bg-BG
│ ├── bootmgfw.efi.mui
│ └── bootmgr.efi.mui
├── bootmgfw.efi
├── bootmgr.efi
├── boot.stl
├── cs-CZ
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── da-DK
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── de-DE
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── el-GR
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── en-GB
│ ├── bootmgfw.efi.mui
│ └── bootmgr.efi.mui
├── en-US
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── es-ES
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── es-MX
│ ├── bootmgfw.efi.mui
│ └── bootmgr.efi.mui
├── et-EE
│ ├── bootmgfw.efi.mui
│ └── bootmgr.efi.mui
├── fi-FI
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── fr-CA
│ ├── bootmgfw.efi.mui
│ └── bootmgr.efi.mui
├── fr-FR
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── hr-HR
│ ├── bootmgfw.efi.mui
│ └── bootmgr.efi.mui
├── hu-HU
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── it-IT
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── ja-JP
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── ko-KR
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── lt-LT
│ ├── bootmgfw.efi.mui
│ └── bootmgr.efi.mui
├── lv-LV
│ ├── bootmgfw.efi.mui
│ └── bootmgr.efi.mui
├── memtest.efi
├── nb-NO
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── nl-NL
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── pl-PL
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── pt-BR
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── pt-PT
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── qps-ploc
│ └── memtest.efi.mui
├── ro-RO
│ ├── bootmgfw.efi.mui
│ └── bootmgr.efi.mui
├── ru-RU
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── sk-SK
│ ├── bootmgfw.efi.mui
│ └── bootmgr.efi.mui
├── sl-SI
│ ├── bootmgfw.efi.mui
│ └── bootmgr.efi.mui
├── sr-Latn-RS
│ ├── bootmgfw.efi.mui
│ └── bootmgr.efi.mui
├── sv-SE
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── tr-TR
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
├── uk-UA
│ ├── bootmgfw.efi.mui
│ └── bootmgr.efi.mui
├── winsipolicy.p7b
├── zh-CN
│ ├── bootmgfw.efi.mui
│ ├── bootmgr.efi.mui
│ └── memtest.efi.mui
└── zh-TW
├── bootmgfw.efi.mui
├── bootmgr.efi.mui
└── memtest.efi.mui
Which made me wonder if files in EFI partition of Windows are also located somewhere in primary partition of Windows, specifically inside C:\Windows\Boot\EFI\
And hence my questions:
- Where is EFI partition data for Windows 10 located in C drive, if any?
- If YES, which ones should I copy and where to?
- If NO, are there any other ways to fix this issue which does not require downloading a Windows iso file, I have limited bandwidth and downloading a ~5GB file is not feasible.
- I want to expand the primary partition of Windows from ~130GB to ~230GB.
diskmgmt.msc
. I have a separate partition, 100MB in size and named as EFI partition.bcdboot
) and isn’t as large as a full-blown Windows Setup medium.%WinDir%\Boot\EFI
. Once copied over, you'll then need to recreate the BCD store from WinPE/WinRE via:bootrec /fixmbr && bootrec /rebuildbcd