Can't boot into Fedora in dual system with Windows 10

Hi there,
I installed a dual system. First, I installed Windows 10 and made an unlocated space for Fedora automatic installation. The, I installed Fedora and on restart, the grub appeared normally and I can choose between bot systems.

But, the issue started when I booted into Windows 10 for the first time. When I restart, the grub doesn’t show at all i.e., it boots automatically into Windows.

I searched for this issue and found this solution: Repair missing UEFI entry for Fedora Linux. And yes, when I did it on a live boot and also form inside Fedora, the grub appeared again. But, with every boot into Windows, it disappears again. So, I searched for another solution.

I found this one done on Windows:

bcdedit /set {bootmgr} path \EFI\FEDORA\SHIMX64.EFI

This one worked fine, but this error message appeared before grub:

How can I fix this message or the boot issue, please?
Thanks in advance.

Welcome to Fedora Community @minawaheed

Try this path:

/boot/efi/EFI/fedora/shimx64.efi (btw. Linux uses case sensitive spelling.)

Please read the instructions till the end, it says:

Make sure you write the path to shim.efi in UNIX style (/), even though EFI stores DOS-style paths (), or you’ll end up with it trying to point to EFIfedorashim.efi, which still won’t work!

Thank you so much for replying.

If you mean like this:

sudo efibootmgr -c -w -L Fedora -d /dev/sdb -p 1 -l /boot/efi/EFI/fedora/shim.efi

I tried it, but unfortunately with no effect. It even doesn’t fix it for a one time till I boot into Windows like the first method.

Update: I was wrong in the drive I have efi on it so I changed the command to:

sudo efibootmgr -c -w -L Fedora -d /dev/sdc1 -p 1 -l /boot/efi/EFI/fedora/shim.efi

When rebooting, I get this error:

Non-system disk or disk error
Replace and strike any key when ready

Windows often enables “Fastboot”, which is just hibernation, so skips the normal boot process. You can turn it off, but expect it to come back with Windows updates.

There are too many clickbait web sites offering bogus “solutions” to common problems – it is best to stick with information from the official Fedora sites. Many issues are common multiple distributions. Arch Linux often has excellent documentation, e.g., EFI boot stub.

You should use -d /dev/sdc (the -p option specifies the partition).

I turned it off when I installed Windows and still boots into Windows directly.

Actually, most the solutions I found were on official Fedora forums and subreddit of it.

So it should be like this?

sudo efibootmgr -c -w -L Fedora -d /dev/sdc -p 1 -l /boot/efi/EFI/fedora/shim.efi

The issue is in sdc1? Or referring to shim.efi not shimx64.efi

Not on the ESP. Case sensitivity is a feature of the file system, and VFAT is not case sensitive, not even on linux.

1 Like

Or both. shim.efi and shimx64.efi are identical here, but sometimes
programs change behaviour based on their name. My systems use shimx64.efi.

So, how can write the command to refer to this file?
Like this:

sudo efibootmgr -c -w -L Fedora -d /dev/sdc -p 1 -l /boot/efi/EFI/fedora/shim.efi

Or that:

sudo efibootmgr -c -w -L Fedora -d /dev/sdc -p 1 -l /boot/efi/EFI/fedora/shimx64.efi

Or something else?
Thanks in advance.

If you use shimx4.efi you have a non-standard setup.

Whether you use shim.efi or shimx64.efi doesn’t matter. They work the same way.

Yes, something else, namely: the loader name must be relative to the mount point of the EFI file system, that is

sudo efibootmgr -c -w -L Fedora -d /dev/sdc -p 1 -l /EFI/fedora/shim.efi

Although the docs suggest to use backslashes in the loader name such as \\EFI\\fedora\\shim.efi as the UEFI firmware uses Windows style file path names.

But, when I created this and booted int Windows, it still has the same issue and the grub doesn’t appear. And on live boot Fedora, when I check efibootmgr it shows me only Windows boot.

So, should I change the file path to be full like this: /boot/efi/EFI/fedora/shimx64.efi?

Or changing the backslashes to be like this: \\EFI\\fedora\\shim.efi?

Edit: typo – my laptop keyboard has unreliable “five” and “six” keys: shimx4shimx64

So when you run the efibootmgr command to create the entry, what does it show on the terminal? It should show the new entry being added and all the other entries.

By the way, you don’t need the -w option. It doesn’t do anything at all.

If the entry is not being added, it looks like you have some hardware or firmware problems. Perhaps the storage for your UEFI settings are out of space.

At time, it appears normally as a separate entry from Windows boot, and I can see the grub… But, when I boot into Windows and restart, the grub disapears and on live boot again running efibootmgr, I can’t find the Fedora entry, I only find Windows boot.

When I changed the path to be full like this (But with sdc1 not sdc), I got no boot found (Both fedora and windows). And, on live boot and running efibootmgr, the entry is found. But, I don’t know if make the drive sdc1 not sdc made that boot error or not. I installed both systems, but I am afraid to repeat the full path like above, may be it’s the boot error issue.

So, I don’t know what to do.

What kind of disk is sdc? And what kind of file system is created in sdc1? The option for -d must be the device name of the entire disk and not one of its partitions.

Sdc is the drive name installed on it the dual system. It’s a SSD drive.
The sdc1 has efi part of both systems like this:

It is problematic if you want to boot from Windows and are looking the “Partition Layout” from Linux.

Windows will just find it when you also look how windows sees them. For that you have to use Windows tools. Just when you get it work booting into grub you can have a look from Linux side.

Otherwise we are turning in circles and just create hot air.

Here an other manual how to check the “Disk Partitions Sheme” in windows.

And yes, we are a Fedora Linux Community and are not really giving support for Windows systems here.
Please have a look in Windows specific Forums to get it as far as you can boot into a Linux partition serving the Grub2 boot manager. From this point on we will be able to give you assistance.

I set up every step of this tutorial in installation. So, I don’t think it’s an issue in installation.

That’s not the first time I dual boot in the same drive between Linux and windows. I had no issue with dual booting with Manjaro and other Arch distros and other distros in general. So, I don’t think it’s a Windows issue. And there are lots of posts on the same issue on this forum and subreddit. But, I don’t know why this fix above not working for me.

My experience has been that Windows often turns on “Fastboot” with updates that involve multiple restarts but also other “random” times.

I think what some of the folks helping you are trying to figure out is whether or not Windows is modifying the system’s BIOS bootloader entries when you try to boot after running Windows. They won’t be able to help if it is because that’s a Windows issue. But it’s unclear if you’re ever successful in modifying that system bootloader correctly in the first place.

After you try @vekruse 's suggested efibootmgr command, you could try to boot into the system bootloader from power on immediately afterwards. This is a different keypress combo on different systems; on my Lenovo laptop, I press and hold the f12 key at power on.

Maybe try that and see if you see the Fedora bootloader tag as a first step.

Good luck!