1

I've been dual-booting Ubuntu and Windows for quite awhile now and everything has worked perfectly fine. I have Ubuntu and Windows installed on two separate drives.

Recently, I added in another drive and installed Bazzite to it, so that I am now triple-booting. However, when I run sudo update-grub in Ubuntu, the os-prober only finds the Windows install, not the Bazzite install. However, if I go into my UEFI Bios settings and choose to boot from the drive with Bazzite installed, I can see that the Bazzite install boots just fine.

How can I get the Bazzite install to be displayed on the grub menu at boot, so that I can choose to boot into Ubuntu, Windows, or Bazzite? If it's relevant, I believe Bazzite is Fedora-based.

Edit:

I am using Ubuntu Desktop 23.10. Ubuntu is installed on Drive A and is using EXT4. Windows is installed on Drive B and is using NTFS. /boot/efi is on Drive B as well.

I have added Drive C and installed Bazzite on it. It is EXT4.

I am not using any encryption on any drives.

2 Answers2

1

I had the same issue after I installed Bazzite through manual partitioning. It looks like an automatic install will create the same pattern of partitions.

os-prober on Ubuntu 24.04 didn't detect the Bazzite install so it wasn't possible to switch to it from GRUB, it requires a little bit of work.

Identify the partition that contain the bootloader of Bazzite

Use lsblk -o name,size,label,type,fstype,uuid to find the UUID of Bazzite's bootloader. It should be the one with FSTYPE = vfat.

Example with Bazzite installed on a SATA SSD:

lsblk -o name,size,label,type,fstype,uuid
NAME          SIZE LABEL        TYPE FSTYPE UUID
sda         931,5G              disk        
├─sda1        600M BAZZITE-EFI  part vfat   4887-b985
├─sda2          1G bazzite-boot part ext4   7d674f16-d1ec-4b18-903b-2ed534fe5614
└─sda3        512G              part btrfs  6c33337f-e9cc-4207-9c84-4e6bd1704784

Here it is 4887-b985.

Add a custom entry to GRUB

Create a file like /etc/grub.d/36_custom_bazzite with this content (the part after --set=root must match with the UUID of your partition):

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "Bazzite" { insmod chain insmod ntfs search --no-floppy --fs-uuid --set=root 4887-b985 chainloader /EFI/fedora/grubx64.efi }

Run sudo update-grub and reboot the system.

You can now switch from the default GRUB to the GRUB of Bazzite by choosing the “Bazzite” option. Once there, it will automatically select the second entry labeled ostree:1, this is normal, just wait and Bazzite will start automatically.

(thanks to telcoM on unix.SE for the help with the chainloader)

Bonus

If you run sudo grub-reboot "Bazzite", it will automatically select Bazzite the next time your reboot or start the computer.

A.L
  • 531
-1

You need to add an entry for Bazzite OS to Ubuntu's GRUB boot menu.

Update the grub bootloader using the following command:

sudo update-grub 

If that doesn't work install Boot-Repair and run it on Ubuntu using the following commands:

sudo add-apt-repository ppa:yannubuntu/boot-repair    
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

The third line in the above code block contains the boot-repair command which is used to start the Boot-Repair GUI.

karel
  • 122,292
  • 133
  • 301
  • 332