GitHub - vinceliuice/grub2-themes: Modern Design theme for Grub2 here’s what I used to install the theme, the guide was provided in the README.md file. Didn’t edit anything at all. And yeah, thanks for the advice, I’ll back up my files.
/boot/loader/entries/ exists, and there are 3 files in there, 1 more than in the live usb /boot/loader/entries/ directory.
You have two efi partitions. This usually works fine. However since you installed a custom theme, something went wrong and you may have installed grub a second time into the windows efi partition (sda1). I believe I’ve seen a setup where you could select several Linux Bootloader in the Bios/UEFI-Setup. You can verify if you also have several listed and try them.
The files you found under /etc/grub2.cfg and /etc/grub2-efi.cfg are generated from templates for the actual written bootloader. It is composed of files in /etc/grub.d/ and /etc/default/grub.
The bootloader is written to /boot/grub2/.
There are several files written that after all should point your sd8
sda8 btrfs fedora_fedora-80xh 1339ff31-2770-40c5-8983-e26f24c962ce
see “/boot/efi/EFI/fedora/grub.cfg” for example.
However it is not recommended to manually edit there.
After you backed up, you can try however.
Jonathan S advice seems promising.
You also can try to merge them.
However I belive what bootloader is being taken should be set in your BIOS/UEFI Settings.
I tried searching for that, but there seems to be no clear answer. I tried a few different guides, but neither seemed to work.
I’ll try that, thanks. Honestly, if that doesn’t work, I’ll probably just end up reinstalling. I’ve taken a backup of everything important I have, and that should probably it. I’m no expert, and I might end up accidentally breaking something important while editing those files. Thanks anyways for all your help though
When booted to fedora you can use efibootmgr to see the uefi bios boot order. It can also be used to modify the boot order and default boot loader.
I also looked at the install.sh that you used to install the grub theme and there are errors in it.
The way it was written works well for the older grub.cfg location used for Fedora 33 and earlier and runs
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
if that file exists, which is not correct for Fedora 34 and later.
Fedora 34 places the grub.cfg file at /boot/grub2/grub.cfg.
A clean new install of F34 does not create /boot/efi/EFI/fedora/grub.cfg so the theme install will work properly, but upgrading to F34 from F33 or earlier will leave the existing grub.cfg file at that location which then causes the error.
If the file grub.cfg already exists under the /boot/efi/ path it will cause the install of your theme to improperly place the updated grub.cfg file in that location rather than in /boot/grub2/ .
I agree with huben - that is a good catch.
Above, you posted the contents of /boot/grub2/grub.cfg, which looks correct, but you appear to be loading (as JV says) /boot/efi/EFI/fedora/grub.cfg.
You could try using the ‘configfile’ command of grub to load your /boot/grub2/grub.cfg.
To run the grub configfile command, press c to go to the grub commandline and type:
Note that there is no preceding /boot - that is implicit.
If that loads the grub menu as it was, then you’re in luck - just load Fedora, back up your /boot/grub2.grub.cfg (to say /boot/grub2/grub.cfg.bak) and run:
grub2-mkconfig -o /boot/grub2/grub.cfg
If desperate, you can always use configfile to load the .bak file.
This trick has saved my bacon on a production server.
Did end up installing MX Linux because someone recommended it @jerrymdaniel could use this though
I run into the same issue, fedora boot entry disappeared and only windows boot menu shows up, it’s probably caused by the grub theme installation. I tried grub
configfile <grub config on disk> and
grub2-mkconfig to re-regenerate the config file, however they don’t work for me. I’m providing my steps how I recovered my fedora boot entry for your reference:
- In grub boot menu, press “c” to enter grub command line:
- List disk partitions with
grub> ls hd2,gpt1 hd2,gpt2 ...
- Find out the root partition by check the partitions one by one, for example, my root partition is
grub> ls (hd2,gpt2) root
- Now you should be able to find out the kernel boot opts on your root partition.
grub> cat (hd2,gpt2)/root/etc/grub2.cfg # or other grub2 config files in your root partition ... set kernelopts="root=UUID=... ro rootflags=subvol=root" ...
- Now use the kernel boot opts to boot up your fedora by manual.
grub> linux (hd2,gpt6)/root/boot/vmlinuz-5.14.xxxx root=UUID=... ro rootflags=subvol=root grub> initrd (hd2,gpt6)/root/boot/initramfs-5.14.xxxx grub> boot
- Now you enter your fedora os, you can try
grub2-mkconfigor other possible solutions, these don’t work for me, and seems I recovered my fedora boot entry by reinstalling the grub2 and shim rpms, because I tried many thing, I’m not pretty sure it was fixed by the reinstalling of grub2 and shim rpms, but it worth a try if everything else don’t work for you.
$ sudo dnf reinstall grub* shim* Package ======================== Reinstalling: grub2-common grub2-efi-ia32 grub2-efi-ia32-cdboot grub2-efi-x64 grub2-efi-x64-cdboot grub2-efi-x64-modules grub2-pc grub2-pc-modules grub2-tools grub2-tools-efi grub2-tools-extra grub2-tools-minimal grubby shim-ia32 shim-x64
grub2-efi-x64-modules is probably an important rpm need to be installed and reinstall it, so it’s better that you have all these rpms installed and then reinstall them.
7. After reinstalling the grub and shim rpms, reboot, you should see your fedora boot entries again.