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.
/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!
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).
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?
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.
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.
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.
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.
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.