Manjaro dual boot

Hello everyone

I currently have Win 10, Manjaro XFCE, EOS-i3 (my fave) and have just installed Archlabs on my ASUS laptop after some shenanigans and steep learning curves because my efi partition was full (I ended up having to physically copy its contents to another partition, delete it and then make a bigger one and then copy back the contents since gparted couldnt fill the enlarged partition with its contents)

I could boot to archlabs but then had to do the following to get Manjaro to boot (I’m used to having to do this, but not exactly sure why):

boot up and press ‘c’ at the menu to get to the grub prompt (grub>).

grub> search.file /etc/manjaro-release  root
grub> configfile /boot/grub/grub.cfg

Then, when booted:

sudo grub-install /dev/sda
sudo update-grub

However, now everything except Archlabs boots
But I can boot it from the UEFI / BIOS options

As you can see I dont really know what is going on and the Archwiki Efi page hasnt helped me

Could someone explain what the problem could be please?

Thanks

Couldnt find a way to edit my post

If I access the Archlabs Grub via the UEFI firmware option then only Archlabs and windows boot - not EOS or Manjaro

Did you search the forum for “dual boot with manjaro”. I believe this issue has been addressed, but I don’t recall the solution.

Welcome to the forums.

3 Likes

Thanks @PackRat
Yes I did, found nothing that helped me tho - although I could well have missed something
and I searched elsewhere, most problems were problems with Win booting tho

Its really that I dont understand the efi I think

Could it be something to do with where efi is mounted?
I noticed for Manjaro it was /boot/efi and for Archlabs it is /boot

I’m stabbing in the dark tho :smile:

Thanks @anon99136783
I’d like to try to understand what’s happening and why tho

What are the mechanincs of the efi thing?
Which files do what, in efi and grub for eg?
how do efi and grub interact?
etc

Thanks,
My Efi partition is flagged boot and my setup looks much like yours but with more partitions

Its what all the different files in this partition do and why I have what seems to be repeats of grub directory (/boot/efi/grub and /boot/grub) that I dont understand

For example when I ‘write’ the Manjaro grub to sda what files does this mean, and where?
etc etc

When I am booted into EOS I have this:

[root@Endeavour boot]# ls
efi   initramfs-linux-fallback.img  initramfs-linux-lts-fallback.img  intel-ucode.img  vmlinuz-linux-lts
grub  initramfs-linux.img	    initramfs-linux-lts.img	      vmlinuz-linux
[root@Endeavour boot]# ls efi
boot-repair  BOOTSECT.BAK  grub				 initramfs-linux.img		   initramfs-linux-lts.img  vmlinuz-linux
boot-sav     EFI	   initramfs-linux-fallback.img  initramfs-linux-lts-fallback.img  intel-ucode.img	    vmlinuz-linux-lts
[root@Endeavour boot]# ls efi/grub
fonts  grub.cfg  grubenv  locale  themes  x86_64-efi
[root@Endeavour boot]# ls grub
fonts  grub.cfg  grubenv  locale  themes  x86_64-efi

When I am in Manjaro I have:

[manjaro boot]# ls
efi                                 initramfs-5.15-x86_64-fallback.img  linux515-x86_64.kver
grub                                initramfs-5.15-x86_64.img           memtest86+
initramfs-5.10-x86_64-fallback.img  intel-ucode.img                     vmlinuz-5.10-x86_64
initramfs-5.10-x86_64.img           linux510-x86_64.kver                vmlinuz-5.15-x86_64
[manjaro boot]# ls efi
boot-repair   EFI                           initramfs-linux.img               intel-ucode.img
boot-sav      grub                          initramfs-linux-lts-fallback.img  vmlinuz-linux
BOOTSECT.BAK  initramfs-linux-fallback.img  initramfs-linux-lts.img           vmlinuz-linux-lts
[manjaro boot]# ls efi/grub
fonts  grub.cfg  grubenv  locale  themes  x86_64-efi
[manjaro boot]# ls grub
fonts     grub.cfg.example  grub.cfg.pacsave.1  locale  unicode.pf2
grub.cfg  grub.cfg.pacsave  grubenv             themes  x86_64-efi

When I boot into Archlabs (via setting it as 1st in boot sequence in UEFI / BIOS on laptop) I have:

[root@archlabs boot]# ls
boot-repair   grub				initramfs-linux-lts.img
boot-sav      initramfs-linux-fallback.img	intel-ucode.img
BOOTSECT.BAK  initramfs-linux.img		vmlinuz-linux
EFI	      initramfs-linux-lts-fallback.img	vmlinuz-linux-lts
[root@archlabs boot]# ls grub
fonts  grub.cfg  grubenv  locale  themes  x86_64-efi
[root@archlabs boot]#

is one of the grub folders what gives me the Manjaro Grub menu and the other that gives me the Archlabs Grub Menu? (these are the two I have, depending on if I select Manjaro or Archlabs as 1st boot in BIOS (not sure if its called BIOS anymore but its the blue screen via F2 on ASUS)

Thanks!

Ah, now I have been promoted to Basic I can edit and wont be making multiple posts as above (as I had to as I was rebooting into each OS between posts and couldnt edit - sorry!)

EDIT:
by opening the two grub.cfg files I can see that:

  • The grub folder at /boot/grub is the Manjaro one
  • The grub folder at /boot/efi/grub is the Archlabs one

Does this help to explain anything?

I have a workaround :

Make a custom grub entry in Archlabs’ grub to chainload the Manjaro grub
(Inspired by this post on the Mint forums)

1/ In Archlabs:

sudo nano /etc/grub.d/40_custom

insert the last two lines:

#!/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 "Manjaro GRUB chainloader" {
 chainloader /efi/Manjaro/grubx64.efi
}

2/ update grub:

sudo grub-mkconfig -o /boot/grub/grub.cfg

(or install and simply use update-grub wrapper thingy)

3/ Set laptop to boot 1st to Archlabs via firmware UEFI settings

4/ Use the Archlabs GRUB menu for Archlabs, EOS and Windows
[EDIT: in fact to get EOS to boot from the Archlabs GRUB menu I had to edit /boot/grub/grub.cfg to add the missing /boot/initramfs-linux-lts.img to the initrd line under the EndeavourOS Linux menuentry - I have no idea why (I did try to update-grub in EOS and then in Archlabs, but it didnt add that bit) and this edit was undone on grub-update, so is a very flakey solution :slight_smile: )]

5/ Or use the ‘Mangaro GRUB chainloader’ entry to go to the Manjaro GRUB menu if I want to boot to Manjaro,

But, I dont think I will be doing 5/ very often as I MUCH prefer Archlabs [Openbox] & EOS [i3] :smile:
[EDIT #4: I edited the Manjaro GRUB to set Default to 0 (1st, entry, Manjaro) and set the delay to 0 sexonds so that I dont even see the Manjaro GRUB menu before it boots into Manjaro]

Now to find out how to remove grub menu entries that wont work to tidy up …
[EDIT#3: I just cut the relevant Manjaro menuentries out of /boot/grub/grub.cfg to carry on my flakey solution :)]

EDIT #2: NB I installed Archlabs and EOS on another laptop with no Manjaro and there were no such problems

2 Likes

Glad that you got it sorted out @leigh

1 Like

On the laptop with only AL and Endeavor, what order did you do the install? ArchLabs then Endeavor?

1 Like

On the old ASUS S200E I installed EOS first then AL (it already had Win10 on it, and that is still there, although gathering dust :smiley: )
Except that the GRUB in use is the EOS one as I did update-grub on EOS afterwards - no idea why
I just tried update-grub on AL but got the following error:

/usr/bin/grub-mkconfig: line 261: /boot/grub/grub.cfg.new: No such file or directory

On the even older ASUS EeePC I have AL on its own

EDIT: Are all these problems to do with mounting efi at /boot or /boot/efi depending on OS?

1 Like