UEFI - Multiple Manjaro OS's

Some of us have multiple instances of Manjaro, say Manjaro KDE, Manjaro LXQT, and so on. In UEFI, there is only one 'manjaro' bootorder and that would be latest that is installed or have its grub most recently updated. Some of us would like to have all the various bootorder listed so we can boot into the respective Manjaro editions through boot set up. Most, almost all, have 1 $esp and that is quite right too.

To circumvent this issue, some of us use custom (usually custom_40 - but I'd recommend custom.cfg, as in custom_41) and add entries that uses configfile or multiboot. I personally don't do this, I even disable os-prober, because I have my own grub and all my entries are there without being affected by anything outside it. And this is not what I'm addressing in this topic. Just the point that there is only one 'manjaro' bootorder regardless of the number of Manjaro OS's we have.

To have multiple bootorders, at each Manjaro OS, create an additional directory within the $esp, so say at Manjaro KDE,

sudo cp /boot/grub/x86_64-efi/core.efi /boot/efi/EFI/manjaro-kde/grubx64.efi

Do that at all other Manjaro's and we'll have /boot/efi/EFI/manjaro-lxqt/grubx64.efi and so on.
Note that /boot/efi/EFI/manjaro/grubx64.efi will remain and that will continue to be latest manjaro that is updated/installed. And do not change the naming of grubx64.efi because that is what EFISTUB will pick up (and also used by systemd-boot and rEFInd - [1]).

One additional advantage of doing this is that we can set our preferred manjaro bootorder as the default bootorder (efibootmgr -o xxxx,yyyyy...) without hassles.

Hope this is useful to some of us (most do not need this, with one Manjaro - and not useful to me :slightly_smiling_face: ). Also it is applicable to other likewise distro's like Ubuntu and Linux Mint (which uses (ubuntu/grubx64.efi) and so on.

Cheers.

[1] - It is not advisable to use systemd-boot and rEFInd if we want multiple 'same' distros - Arch and Antergos for example - irrespective of this bootorder issue.

1 Like

i have many questions on that :
1 - can we create a folder in fat32 with - , like manjaro-kde ?

2 - i have a look on script for update-grub , there is only $manjaro , so any update grub will break this ( no automatisation for adding DE in name of Manjaro ) ?

3 - there is a limit in longer name in Efi for select the boot ?

4 - if os-prober is on , it scan every partitions on each disks , use all cpu , because it will check if this is another entry ,and may failed on time after ( 15 - 20 mn with only 5 disks with each manjaro DE ) , to avoid that , i have remove os-prober since i use only linux.
if os-prober is on , update-grub will break this ?

To make a new bootorder, all we need to do is to put in the bootloader-id as follows...

sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro-kde  --recheck --debug

This time, I verified as follows...

.
.
.
rub-install: info: copying `/boot/grub/x86_64-efi/core.efi' -> `/boot/efi/EFI/manjaro-kde/grubx64.efi'.
grub-install: info: Registering with EFI: distributor = `manjaro-kde', path = `\EFI\manjaro-kde\grubx64.efi', ESP at hostdisk//dev/sda,gpt8.
grub-install: info: executing efibootmgr --version </dev/null >/dev/null.
grub-install: info: executing modprobe -q efivars.
grub-install: info: executing efibootmgr -c -d /dev/sda -p 8 -w -L manjaro-kde -l \EFI\manjaro-kde\grubx64.efi.
BootNext: 0002
BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0006,0005,0002,0000,0003,0004,0001
Boot0000* Systemd Boot Manager
Boot0001* Hard Drive
Boot0002* pop
Boot0003* rEFInd Boot Manager
Boot0004* UEFI: WDC WD10PURX
Boot0005* manjaro
Boot0006* manjaro-kde
Installation finished. No error reported.
[pop@Sun ~]$ 

Cheers.

ps: I'm going to remove these manjaro and manjaro-kde - I don't need them; and I want my bootorder uncluttered.

I think you are occasionally using the word bootorder in places where "boot entry" would be more appropriate.

Also, manjaro-architect let's you choose a custom ID for grub if manjaro is already installed. So, if you have manjaro xfce installed and want to install kde edition beside it, just choose manjaro-kde as the bootloader ID.

I understand systemd-boot, but what would be the issue with refind? I have multiple manjaro installations and refind works just fine with them. Refind does not have the requirement of mounting esp to /boot like systemd-boot does.

Yes, you're right and thanks for pointing this out.

True, I've mounted my refind $esp to /boot, because from rod smith refind website

Some users like to mount the ESP at /boot because this practice causes Linux kernels to be automatically placed on the ESP, which is useful if you're using ELILO or the kernel's EFI stub loader (often in conjunction with rEFInd or gummiboot/systemd-boot)

And since I'm testing refind, I like to see the kernels in /boot (besides grubx64.efi, bootx64.efi) being picked up. [It does.] I just like a bootloader to directly boot up an OS rather than through another boot system (like configfile or multiboot (chainload)) [1]. But that has another disadvantage besides the point we've made. It cannot handle the separate intel-ucode that Manjaro implements.

[1] - What's the point of a bootloader if it goes through another bootsystem to do the job?

Refind still shows kernels even if they are not in esp. Manjaro kernels will have the same icon, but the status line below tells you what partition you are booting from, so you can tell them apart.

Mine do not, I obviously have lots of kernels, but it scans for .efi files (and I have lots too) and in my refind, I hid them (the .efi scans) in the ...er...'hidden tags' (hope you know what I mean - the first icon in the lower 'icon line').

My refind has its own $esp, my linux has their own, my own grub its own.., in my 3 disks (say 3 because the others I don't connect normally) I have at least 8 active $esp's.
Ah... I also remove, as I mentioned in one of posts above those distro directories, $esp/efi/ubuntu,, $esp/efi/manjaro, ...etc and remove the distros' bootmenu :slightly_smiling_face: etc... I also remove $esp/efi/boot/bootx64.efi from all my $esp except one (the one with my own grub :slightly_smiling_face:). Maybe that's why. But a reminder my refind $esp is /boot not /boot/efi.

Anyway, Chrysostomus, don't worry about it (I don't :blush:) because I'm just testing out refind one more time after a long time. I may keep it as I did the systemd boot just in case I need to check out something in future. Thanks though.

Personally, and I stress personally, I find refind the least suitable bootloader (rather, efi stub loader), far less suitable than even systemd-boot. And I try not to be biased on this.

Cheers, take care, regards.

ps: just to add, in case you are wondering - my refind and systemd-boot OS's are not 'wasted' as I can boot them up from my grub too, which I normally do, except when I want to test out refind or systemd-boot, which I now seldom do.

I would like to hear your reasoning. Does it perhaps have to do with not loading the microcode?

I like refind because it detecs bootable USB drives at boot and is usually faster than grub. I think it is good in a situation where you have multiple encrypted systems, because os-prober seems to have trouble detecting encrypted systems. With refind you can have each system have their own grub, and choose between them when booting.

Grub is still probably the most robust and featureful one. It makes sense as the default.

Not able to load microcode is definitely a biggie. Though as I pointed out elsewhere, I've made a workaround to make that work in refind.

Assuming we take microcode out of the equation, and let's even say we don't have to worry about 'multiple same distros', meaning we only have one Manjaro and one Ubuntu and we compare only refind and systemd-boot - not grub, I'd still go with systemd-boot. Systemd-boot is simpler, more robust and it's fast. Not much to tinker with, no conf files to work on (but yes, needs to add entries.conf) and that's it.

Of course, other people will like the eye candy that refind has, compared to the stark black and white systemd-boot, and it's fine to make a choice based on that.

As I said, it's a personal preference and maybe that also explains why I prefer kde and my net-install raw-bones openbox and not much in between.

Cheers, good to have listened to your viewpoints.

ps: On a biased note, though the above is supposed to be an objective one, I should prefer refind as the developer maintains a detailed, helpful website and goes about helping people on booting. Nice of him and tops. On the other hand , the developer of systemd-boot is..... er, let's just say his name is Kay Sievers.

ps: I've not heard of any OS using refind as default, but there's one or two on systemd-boot.
Any you heard on refind? Just asking, nothing to do with above discussion.

IIUC this is a correction to the Initial post, which has not been merged, or .. I miss something?
I would have merged it myself, but, by experience :grin: , you don't like my edits so much :stuck_out_tongue_closed_eyes:

I say this, since this is a tutorial and a 1st-time reader might not think of checking/reading the following posts, to see the change.
If I understood wrong, please forgive me.. :neutral_face:

Okay... @AgentS. Done Removed the wrong post and edited the correct post.
Thank you for alerting me, as usual, and not editing my posts.

Cheers.

ps: Everybody knows the Confucius adage, "Do not do unto others as you do not like others to do unto you." But he did not really said this. He just said one word, "恕". It is untranslatable. Roughly it means empathy, compassion, ubuntu and therefore results in forgiveness.

1 Like

Or another, less famous quote:

I like remarks/corrections, I improve myself.

But I haven't said that, so don't blame me :rofl:

1 Like

Forum kindly sponsored by