Solus Linux is shown when updating grub in Fedora but is not added to the boot list

Before installing Fedora the same problem was present with a Linux Mint system (where the grub was installed). Unable to fix that problem and also for other reasons I have removed Mint and have installed Fedora 34 KDE in its place hoping for Solus to be added to the Fedora boot loader list by default. But it’s absent.

Updating grub it looks like Solus is seen.

[cip@fedora ~]$ sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
[sudo] password for cip: 
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/Stylish/theme.txt
Found Solus (4.2) on /dev/nvme0n1p3
Adding boot menu entry for UEFI Firmware Settings ...
done
[cip@fedora ~]$ 

Here is some info on the partitions:

[cip@fedora ~]$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
nvme0n1     259:0    0 465.8G  0 disk 
├─nvme0n1p1 259:1    0   600M  0 part /boot/efi
├─nvme0n1p2 259:2    0     1G  0 part /boot
├─nvme0n1p3 259:3    0   100G  0 part 
├─nvme0n1p4 259:4    0    16M  0 part 
├─nvme0n1p5 259:5    0 215.7G  0 part 
└─nvme0n1p6 259:6    0 148.4G  0 part /home

And in the Partition manager:

But the boot list contains only Fedora and UEFI settings (because a Windows 10 installation is also not seen: that is a separate problem I think and I’ll post a separate post on that; it is separate because that problem was created by the Fedora installation; Solus being absent in bootloader was present before Fedora installation but I want it solved in Fedora).

Solus uses the clear linux boot manager. Grub can’t detect and boot it automatically.

A simple way to solve this would be to install and use refind which can boot most anything.

Alternatively, you can configure grub to chainboot Solus. The instructions for that can be found here.

2 Likes
sudo blkid
[sudo] password for cip:
/dev/sda1: LABEL="DEPO-1" UUID="e38ad851-248f-4dc1-8667-544c023dfb7e" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="be0bdc20-cd18-4c30-b783-711bc88482ed"
/dev/sda2: LABEL="DEPO-2" UUID="12af1d35-a8a9-46b8-8823-eb1d7c5ef717" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="ce74edfc-beb1-4b0c-afe8-2847043a38be"
/dev/sda3: LABEL="NTFS" BLOCK_SIZE="512" UUID="2F35B7AD44221380" TYPE="ntfs" PARTUUID="176a6e56-f7cb-4520-883c-fbc79fd6dfe4"
/dev/nvme0n1p1: UUID="C015-27BA" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="0ea3db13-c16d-4144-a84f-7f2cf2965776"
/dev/nvme0n1p2: UUID="7e14b81a-f01a-4347-b76d-3e16a9722c9b" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="8c1dfaf8-bacf-448d-881f-3c8c8624ab86"
/dev/nvme0n1p3: LABEL="Solus" UUID="13383ed6-265a-43dc-bc53-273c15b66b00" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="b2fbe0ff-b343-418a-878d-e798b4d08219"
/dev/nvme0n1p4: UUID="0ac5b719-340a-4e39-8224-7f0ac976e350" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="Microsoft reserved partition" PARTUUID="b614d02f-33
e3-42f6-a054-4935e5153954"
/dev/nvme0n1p5: BLOCK_SIZE="512" UUID="2C54519B5451691A" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="7dd612e5-d724-47af-be97-ab57542af329"
/dev/nvme0n1p6: LABEL="fedora_localhost-live" UUID="020949bb-65de-4504-86ac-9601ed794682" UUID_SUB="0f97f07a-7e9a-4a31-a988-222dada228ff" BLOCK_SIZE="40
96" TYPE="btrfs" PARTUUID="16c2ea74-fcfe-4e59-8b31-f115fbb89469"
/dev/zram0: LABEL="zram0" UUID="6f8eb44e-37bd-473f-848e-53dd0eebf954" TYPE="swap"

Considering Identify the UUID for EFI system partition that systemd-boot resides on. , I think that (the Solus boot loader partition) must be the very partition Solus is on, /dev/nvme0n1p3, with the UUID 13383ed6-265a-43dc-bc53-273c15b66b00. Therefore I have added to etc/grub.d/40_custom the following lines:

menuentry 'Solus Linux' {
   search --fs-uuid --no-floppy --set=root 13383ed6-265a-43dc-bc53-273c15b66b00
   chainloader (${root})/EFI/org.clearlinux/bootloaderx64.efi

But now

sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
[sudo] password for cip: 
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/Stylish/theme.txt
Found Solus (4.2) on /dev/nvme0n1p3
Adding boot menu entry for UEFI Firmware Settings ...
error: ../grub-core/script/lexer.c:352:out of memory.
error: ../grub-core/script/lexer.c:352:syntax error.
error: ../grub-core/script/lexer.c:352:Incorrect command.
error: ../grub-core/script/lexer.c:352:syntax error.
Syntax error at line 252
Syntax errors are detected in generated GRUB config file.
Ensure that there are no errors in /etc/default/grub
and /etc/grub.d/* files or please file a bug report with
/boot/efi/EFI/fedora/grub.cfg.new file attached.

What can be wrong?

I think if I reboot at this point I’ll have no working boot loader. Removing the edit to etc/grub.d/40_custom fixes the above errors (goes back to the starting point).

I believe it should be your ESP. Probably this one: /dev/nvme0n1p1 : C015-27BA

Also, take a look inside your ESP and ensure that this path is correct: /EFI/org.clearlinux/bootloaderx64.efi. Solus may use a different name.

1 Like

If I use C015-27BA I get

sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
[sudo] password for cip: 
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/Stylish/theme.txt
Found Solus (4.2) on /dev/nvme0n1p3
Adding boot menu entry for UEFI Firmware Settings ...
error: ../grub-core/script/lexer.c:352:out of memory.
error: ../grub-core/script/lexer.c:352:syntax error.
error: ../grub-core/script/lexer.c:352:Incorrect command.
error: ../grub-core/script/lexer.c:352:syntax error.
Syntax error at line 254
Syntax errors are detected in generated GRUB config file.
Ensure that there are no errors in /etc/default/grub
and /etc/grub.d/* files or please file a bug report with
/boot/efi/EFI/fedora/grub.cfg.new file attached.

As for look inside your ESP and ensure that this path is correct: /EFI/org.clearlinux/bootloaderx64.efi. Solus may use a different name, the /dev/nvme0n1p1 partition is mounted (as seen in Partition Manager) but I don’t know where is it mounted, and I don’t see it in Dolphin devices.

df -h or mount will show you where it is mounted.

1 Like

df -h shows that /dev/nvme0n1p1 is mounted in boot/efi.

Here is all I see at that path:

Is it possible Solus is installed in Legacy/BIOS mode?

I just checked a Solus VM and Solus is in EFI/com.solus-project. Since you don’t have that, something is odd.

1 Like

It was installed in legacy mode on a different MBR drive, then it was copied on a GPT drive with gparted. But it was seen at some point on the drive it is now: could it be that at that moment legacy mode was enabled in BIOS? Is the legacy mode the only way a Solus like that one could be accessible?

gpt supports both legacy and uefi booting. If you installed Windows and Solus in legacy mode and Fedora in uefi, they won’t be able to see each other.

2 Likes

I guess this solves it for Solus! Or would re-enabling legacy mode fix all this??

Windows was installed in UEFI, in fact an hour before Fedora. That’s my other topic. Do you think Windows can be restored? It is in fact the only way I could keep using Fedora… Could installing a Ubuntu-based distro in place of Solus bring access to Windows without losing access to Fedora?

Fedora should be able to boot UEFI windows. You shouldn’t need to install another distro to do that. In the worst case, you could probably chainload it the same way as above. You shouldn’t need to do that though.

That being said, the easiest solution might just be to install refind. It can boot both legacy and UEFI OSes with a setting change and otherwise should “just work”

Enabling legacy brings no changes. Installing refind is too complicated for me. I will mark your previous reply as the solution here.

By default, Legacy mode can only boot MBR formated partition table.

Switch between BIOS and UEFI for existing OS requires

  • Change System Firmware Mode (BIOS or UEFI)
  • Change Partition Table format (MBR or GPT)
  • And usually change in the OS is also required.
1 Like