I have added a third bootable operating system to my computer, but Grub2 continues to show only 2 operating systems available to boot from. How can I configure grub2 to boot at least 3 systems?
I have a custom boot order, created with efibootmgr. That may be affecting the automatic configuration.
@featherfoot you need (as root user) to run os-prober
to see if the other operating system are seen.
Are all three installed in the same mode, either legacy, or UEFI? If one is different, handling the difference can be a challenge.
This may be helpful. All my systems, except a rarely used laptop, are multiboot.
os-prober shows two Ubuntu based systems; which corresponds to Ubuntu and Kubuntu. I am puzzled why it doesn’t find openSuse, which is running.
localhost:/boot/grub2 # os-prober
67122.789695 | DM multipath kernel driver not loaded
/dev/sda2:Ubuntu 24.10 (24.10):Ubuntu:linux
/dev/sdb1:Ubuntu 24.04.1 LTS (24.04):Ubuntu:linux
localhost:/boot/grub2 #
@featherfoot That is correct, it only probes for other operating systems, not what is running.
efibootmgr shows the following:
localhost:/boot/grub2 # efibootmgr
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001,0003,0002,0004,0005,0006
Boot0000* opensuse HD(2,GPT,434be06a-6729-4f0a-9a44-715d71d72afb,0x7800800,0x219800)/File(\EFI\OPENSUSE\GRUBX64.EFI)
Boot0001* Hard Drive BBS(HD,,0x0)0000474f00004e4fb700000001000000750057004400430020002000570044005300310030003000540032004200300042002d0030003000590053003700300000000501090002000000007fff040002010c00d041030a0000000001010600010801010600020003120a000300ffff00007fff040001043e00ef47642dc93ba041ac194d51d01b4ce63900310035003000330038003000380036003000320039002000200020002000200020002000200000007fff04000000424f00004e4fb700000001000000750057004400430020002000570044005300310030003000540032004200300041002d003000300053004d003500300000000501090002000000007fff040002010c00d041030a0000000001010600030101010600010003120a000400ffff00007fff040001043e00ef47642dc93ba041ac194d51d01b4ce63000320036003300360039003000380036003200370031002000200020002000200020002000200000007fff04000000424f
Boot0002* CD/DVD Drive BBS(CDROM,,0x0)0000474f00004e4fb5000000010000007500410053005500530020002000200020004400520057002d003200340042003100530054002000200020006a0000000501090003000000007fff040002010c00d041030a0000000001010600030101010600010003120a000500ffff00007fff040001043e00ef47642dc93ba041ac194d51d01b4ce638004a00300044004c0043003100300039003800370039002000200020002000200020002000200000007fff04000000424f
Boot0003* Ubuntu HD(2,GPT,434be06a-6729-4f0a-9a44-715d71d72afb,0x7800800,0x219800)/File(\EFI\UBUNTU\SHIMX64.EFI)
Boot0004* UEFI:CD/DVD Drive BBS(129,,0x0)
Boot0005* UEFI:Removable Device BBS(130,,0x0)
Boot0006* UEFI:Network Device BBS(131,,0x0)
localhost:/boot/grub2 #
I had assumed that my new system, at sda2 would show up as Boot0001. I’m not familiar with this entry and assumed that entry 0001 would be for sda2. That entry doesn’t look like a kubuntu/ubuntu entry.
Is there something that needs to happen beyond installing kubuntu to make the OS show up in boot order? I can select other grub configurations and kubuntu is in that one.
@featherfoot Fire up YaST Bootloader, in the third tab “Bootloader Options” has the checkbox been selected for “Probe Foreign OS” if not, select that and press OK, then it will be added…
Yes, probe foreign OS checkbox was checked.
It struck me that I thought I was doing update-grub2’s, but they were apparently not working. Mr. Google reminded me that openSuse uses:
grub2-mkconfig -o /boot/grub2/grub.cfg
instead. When I did that, my Kubuntu shows up.
Thank you for your help. It is now working as expected.