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
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)
$ 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.
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.