No windows Boot option on grub after installing fedora 39 on a separate hard drive

First time installing Fedora XFCE spin here and quite a newbie. It’s rock-solid! but I have one problem.

Here’s my installation

I notice there’s two bootable flashdrive. Namely, UEFI: Sandisk.. and Sandisk... But I only have one flash drive. I tried booting with the UEFI: Sandisk and do automatic install and I realize it doesn’t add my windows option on grub.

So I reinstall and choose the Sandisk.. And then, I decided to choose custom installation and set it to automatic partition. I see /boot but no /boot/efi. I reinstall again into UEFI:Sandisk.., the custom installation seems not working (I couldn’t see the clickable automatic partition at the custom pane) So I decided to go back and click the automatic installation.

I assume this happen because I install Fedora on a separate on my D drive? I have no choice as my main/C drive in which the windows located has not enough capacity for extra space.

So, my setup now was whenever I dual boot to windows I need to select UEFI Firmware Settings on grub or whenever my PC restarts I would hit f2 to open my UEFI GUI and switch my 1st bootable option to my windows drive.

I tried to read on these relevant issues. But I couldn’t found any solution or workaround. I’ve read someone would say to reinstall fedora or Windows. But for me that would be tiring because I’ve reinstall it 3 times lol. Thanks for reading, I hope someone can lend some help. Thanks!

Relevant issues:

Please post the output of lsblk -f so we can see what mode things were installed in.

If windows was installed in legacy boot (MBR) mode and fedora in UEFI mode then grub cannot boot the other OS. Similarly if reversed. Both must be installed in the same mode for grub to b e able to boot windows.

Also, if windows was installed in uefi mode and fedora was installed in uefi mode but they are on different disks and fedora was not allowed to access the drive containing windows it may not be able to find windows for booting.

When you select the UEFI disk for booting fedora and installing it will install in uefi mode.
If you only select the sandisk without the UEFI marking fedora is installed in legacy boot mode.
Your image shows the bios is uefi bios but does not tell us what mode was used for the install.

Hello @computersavvy. Here’s the resullt

NAME FSTYPE FSVER LABEL           UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
loop0
                                                                             0   100% /var/lib/snapd/snap/core18/2812
                                                                                      /var/lib/sn
                                                                                      apd/snap/co
                                                                                      re18/2812
loop1
                                                                             0   100% /var/lib/snapd/snap/core20/2105
                                                                                      /var/lib/sn
                                                                                      apd/snap/co
                                                                                      re20/2105
loop2
                                                                             0   100% /var/lib/snapd/snap/core22/1033
                                                                                      /var/lib/sn
                                                                                      apd/snap/co
                                                                                      re22/1033
loop3
                                                                             0   100% /var/lib/snapd/snap/core/16202
                                                                                      /var/lib/sn
                                                                                      apd/snap/co
                                                                                      re/16202
loop4
                                                                             0   100% /var/lib/snapd/snap/gtk-common-themes/1535
                                                                                      /var/lib/sn
                                                                                      apd/snap/gt
                                                                                      k-common-th
                                                                                      emes/1535
loop5
                                                                             0   100% /var/lib/snapd/snap/bare/5
                                                                                      /var/lib/sn
                                                                                      apd/snap/ba
                                                                                      re/5
loop6
                                                                             0   100% /var/lib/snapd/snap/hello-world/29
                                                                                      /var/lib/sn
                                                                                      apd/snap/he
                                                                                      llo-world/2
                                                                                      9
loop7
                                                                             0   100% /var/lib/snapd/snap/obsidian/x1
                                                                                      /var/lib/sn
                                                                                      apd/snap/ob
                                                                                      sidian/x1
loop8
                                                                             0   100% /var/lib/snapd/snap/gnome-3-38-2004/143
                                                                                      /var/lib/sn
                                                                                      apd/snap/gn
                                                                                      ome-3-38-20
                                                                                      04/143
loop9
                                                                             0   100% /var/lib/snapd/snap/telegram-desktop/5470
                                                                                      /var/lib/sn
                                                                                      apd/snap/te
                                                                                      legram-desk
                                                                                      top/5470
sda                                                                                   
├─sda1
│    ntfs         System Reserved 387CC35B7CC31294                                    
├─sda2
│    ntfs                         ECC4C4E9C4C4B75C                                    
└─sda3
     ntfs                         DAA0F7F0A0F7D14D                                    
sdb                                                                                   
├─sdb1
│    ntfs         New Volume      FEF4D58BF4D54715                      136.3G    61% /run/media/ginoongflores/New Volume
├─sdb2
│    vfat   FAT32                 F735-8EBB                             581.4M     3% /boot/efi
├─sdb3
│    ext4   1.0                   b6fc4db9-33d9-49de-a2d3-7370c62551bf  628.1M    29% /boot
└─sdb4
     btrfs        fedora          6fe433b3-0fad-40a3-914c-42012ef0cb12    106G    10% /home
                                                                                      /var/lib/snapd/snap
                                                                                      /
zram0
                                                                                      [SWAP]

Also, I notice when booting to windows using the UEFI, there’s the EFI installed on the D drive. I think that suppose on the C drive?

Update:

I also tried this solution from this link by modifying the 40_custom from the /etc/grub.d. And when I reboot, there’s an option of Windows 10 from the grub but it says something like it can't found the /EFI/Microsoft/Boot/bootmgfw.efi

Please also give us the output of sudo fdisk -l

It appears that windows may be installed in legacy boot mode. If that is the case then there would be no associated efi partition on that drive. I assume you are using windows 10?
Fedora is clearly installed in uefi boot mode.

We can confirm the windows installation with the output of fdisk. If sda has a dos partition table then windows is installed as legacy boot and if it has a gpt partition table then it is installed as uefi boot.

Yes, I’m using windows 10. Here’s the result @computersavvy. I have the EFI system on /dev/sda2.

Disk /dev/sda: 111.79 GiB, 120034123776 bytes, 234441648 sectors
Disk model: Apacer AS340 120
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5abb3a03

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048    104447    102400    50M  7 HPFS/NTFS/exFAT
/dev/sda2          104448 233392780 233288333 111.2G  7 HPFS/NTFS/exFAT
/dev/sda3       233394176 234436607   1042432   509M 27 Hidden NTFS WinRE


Disk /dev/sdb: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: ST500DM002-1ER14
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: AD49B4DE-E974-4100-A656-71B3A19B423C

Device         Start       End   Sectors   Size Type
/dev/sdb1       2048 725112831 725110784 345.8G Microsoft basic data
/dev/sdb2  725112832 726341631   1228800   600M EFI System
/dev/sdb3  726341632 728438783   2097152     1G Linux filesystem
/dev/sdb4  728438784 976773119 248334336 118.4G Linux filesystem


Disk /dev/zram0: 5.71 GiB, 6128926720 bytes, 1496320 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/loop0: 4 KiB, 4096 bytes, 8 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop2: 105.82 MiB, 110960640 bytes, 216720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop1: 55.66 MiB, 58363904 bytes, 113992 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop3: 63.91 MiB, 67014656 bytes, 130888 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop4: 74.11 MiB, 77713408 bytes, 151784 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop5: 91.69 MiB, 96141312 bytes, 187776 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop6: 20 KiB, 20480 bytes, 40 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop7: 109.39 MiB, 114704384 bytes, 224032 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop8: 349.7 MiB, 366682112 bytes, 716176 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop9: 414.44 MiB, 434569216 bytes, 848768 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


You have 2 options with this arrangement.

  1. Leave things as they are and continue to use the bios boot menu to select booting either windows or fedora.
  2. Reinstall fedora in legacy boot mode on sdb and it then should be able to use grub and boot windows.

Actually there is a 3rd option.
– Reinstall windows on sda in uefi mode so fedora could remain in uefi modeand grub could then boot both as well.

Note that windows can only boot in legacy mode when installed on a dos partitioned drive and only boots in uefi mode when installed on a gpt partitioned drive. (I think windows 11 only uses uefi mode booting)

Alright. Thanks for the suggestion. If ever I would select the option #2. What do you mean by reinstalling the fedora in legacy boot mode on sdb? Do you mean reinstalling it alongside with the windows drive? Or reinstalling it on a bootable flashdrive that doesn’t have an UEFI name on it? Because I notice there’s always an two option of this when installing an OS like linux.

If your bios is set to boot with CSM mode enabled the displayed options on the usb when booting to install should be both uefi and legacy. That selects the boot mode so it is installed the same.

The install iso is ‘hybrid’ and can be booted in either mode so that screen allows the selection of boot mode at install time.

Option 2 allows you to select the legacy mode install. It seems you selected the uefi mode when you did that install.

So If I selected the 2nd option, I would choose the bootable flashdrive without the uefi name on it right? I tried it before the the 1st option but the catch or the issue was after I finish the installation. I reboot the PC and there was no fedora OS on the boot option, only the bootable flashdrive, I selected it and I was at the media installation again but the thing was the drive allocated for fedora was already written by the fedora system. So, I think it would be kinda a loop installation because I need to redo the installation again and delete the previous fedora installation by unallocating the its drive on windows.

It was a bit strange experience. Still, I would be fine with the 1st option for now as I love my setup on fedora at this time. Thanks for the help, will check other options soon. Thanks @computersavvy!

correct

However, when booting legacy (CSM) mode there are quirks to getting it to boot from the second drive and in getting grub configured to boot windows. It has been many years since i booted windows from fedora using MBR boot so I don’t remember the quirks involved nor how to resolve them.

You must remove the usb device after the install completes because you probably have usb selected as the first boot device. You probably also have the first drive as the next in line to boot and that would boot windows. These are all bios settings and that is part of an install with MBR booting.

1 Like