I am far from being knowledgable when it comes to boot loader and EFI, nonetheless here are my 2 cents.
Is the windows install on an external detachable drive? If yes, I am wondering if the issue is that the mount point is /run/media/
Maybe that is not allowed?
Also, not sure grub is able to deal with two EFI partitions in an automatic manner, one even being external? Whenever I have a dualboot system, there is only one EFI partition.
When running efibootmgr -v on Fedora, do you “see” the Windows Boot Loader?
Thank you for the reply.
Windows is on an internal drive and it being mounted to /run/media is just the default.
I have found the solution to my problem.
I have deleted my old efi partition where the windows efi files were stored on, this is why (my newly installed) grub couldn’t see it. efibootmgr -v did not detect the windows partition either because it detects window’s efi files, which I deleted.
Generating grub configuration file …
Found Windows Boot Manager on /dev/sdb5@/EFI/Microsoft/Boot/bootmgfw.efi
Found Debian GNU/Linux 11 (bullseye) on /dev/sdd3
Adding boot menu entry for UEFI Firmware Settings …
Detecting snapshots …
[…]
Found 10 snapshot(s)
Unmount /tmp/grub-btrfs.fMVBt2wr1n … Success
done
The commands used were the following (in the windows live media rescue shell):
$ diskpart // Start a diskpart shell
diskpart> list disk // List all disks
diskpart> sel disk <disk_id> // Select the disk with the EFI partition
diskpart> list vol // List all volumes
diskpart> sel vol <volume_id> // Select the EFI volume
diskpart> assign letter=F // Assign a letter to the EFI volume (I choosed F)
diskpart> exit
$ bcdboot C:\Windows /s F: /f ALL // Create all Windows boot files in F:
In a dual boot system you should never remove or format an existing efi partition. Whenever installing a new Linux system, you have the option to use an existing efi partition (mount point /boot/efi) without formatting it. In Fedora’s installer, there is a checkbox for that.
Yes, I kind of know.
What led me to deleting this was to have new, clean, separate /boot/ and /boot/efi partitions of sufficient size (which wasn’t the case before, which led to problems).
Anyway I have learned
that os-prober looks at the efi partition to find system efi files
I have only a 250 GB /boot/efi partition and it is only 16% used with 4 fedora kernels and the windows efi files.
I think that if you do not have enough room in /boot/efi that you have some other problem with files that should not be there. /boot also only needs to be ~500 GB, since with the same machine I have only ~250 GB data in /boot.