hy im trying to install arch as the third os on my windows / ubuntu machine and i cant figure it out how to set the grub bootloader i have already read the friendly manual but probably also due to my non native English origins i coudnt find an answer to my question witch is during the arch install should i reinstall grub with grub-install ? i would prefer to keep the old (ubuntu) one also because its already customized but unfortunately i cant…if i dont install it i dont have the directory /boot/grub in witch i should place the grub.conf file so should i just create this directory ? i have tried with os-prober correctly activated to generate a new grub.conf but it doesnt pick up the arch install …, what are the files i must have to make grub recognize those partitions as a new os to witch assign a new boot entry …
If you’re running under UEFI, GRUB typically installs a
bootx64.efi
file in the EFI partition (typically under its own little GRUB folder), so that when your computer boots up, the BIOS/UEFI can point to that file and start GRUB, which will then look at its configuration file to find all the preconfigured bootable operating systems that it knows about. BIOS is a little bit different, but the premise is the same - a small executable is placed somewhere that the BIOS can find and execute to launch your OS’ bootloader.All
os-prober
does is look at operating systems that are already mounted and adds them to the configuration file. If a system isn’t mounted, thenos-prober
(and by extension, GRUB, since thegrub.cfg
file is where all the OS options are placed) won’t know about it.Assuming that you have your fstab file for Archlinux configured correctly (where your EFI partition is mounted under a reasonable directory, such as
/boot/efi
), you can boot into Ubuntu, mount your Archlinux partion under Ubuntu temporarily, and runsudo grub-mkconfig -o /boot/grub/grub.cfg
under Ubuntu to generate the necessary boot option for Archlinux.You can install the GRUB package under Archlinux, but there’s no need to install the
bootx64.efi
file (fromsudo grub-install
) a second time since that file already exists. It would mostly be used for keeping yourgrub.cfg
up to date. The theming can probably be copied over from Ubuntu’s configuration (but I’m not sure of where it is off the top of my head).Thanks I always thought ther was a grub for each os and they will recognize each other … Following an other user advices I have added a separate /boot partition to Ubuntu but eventhow I have added the line in the fatab on boot it doesn’t mount properly so I have to manually mount it from the recovery mode… if I select to mount it on boot from the GUI (gnome-disks) it adds a couple of lines in the file /run/systems/generator/boot.mount but nothing changes …can u confirm me that this file is not consulted on boot so its not relevant ? So should I mount the /boot/EFI (already mounted) ,/ , /home and /boot (already mounted) on Ubuntu before updating grub ? Doesn’t this tell to mount the arch os when I boot ubuntu ? … I have just realized could the problem be in the fact that during the arch install I have followed a tutorial which have told me to create a /boot /EFI directory on witch I should mount the EFI partition while in Ubuntu the EFI partition is mounted in /boot/efi that could defenetly be it … how should I proceed to fix it remove the EFI directory with all the stuff there’s in it and mount it on /boot/efi? Don’t wanna mess it up removing stuff is always dangerous… Let me know thanks a lot man I feel like we are getting closer
Thanks I have found arch with grub but I still can’t see it in the boot entries 😂 seems somebody is joking with me … Anyway as usual I boot grub comes out without arch so I select Ubuntu he boots me in recovery mode I mount the /boot partition and boot into Ubuntu …
If you’re having to mount drives in Ubuntu’s recovery mode, something is really f*cked up. If you can remember the default state, I would try and revert back to that first before making any changes. (Hopefully you don’t have to reinstall anything)
I’m not familiar with gnome-disks, so I can’t say anything about its own file relationships and how that works with GRUB.
From past experience, most Linux distributions will place your EFI partition (looks like it’s at
/dev/nvme0n1p1
in your example) at/boot/efi
./boot
partitions generally aren’t really needed for a home linux environment afaik, but I’m sure someone with more experience will be happy to come along and give an example of when you might need one. However, in order for Linux to boot up successfully, it does need to know where all of its internal components are (typically the kernel and an initramfs, if you have one - I think Ubuntu ships with one by default).If you’re looking to just have the EFI partition mounted correctly, you can unmount it temporarily (as root, so exercise caution) and then make changes with the directory structure before remounting it. Your
fstab
file should match up with where you want it mounted.Hey thanks man I have followed your advice and reverted back the Ubuntu fstab … I the added the separate boot partition in a better way and now I can finally boot back into Ubuntu without the recovery mode …
I noticed that in most tutorials they will generate the fstab before mounting the /boot/efi partition I checked my ubuntu fstab wich also has the /boot/efi entry so I mounted it before generating the fstab but still nothing changes (yeah I also fixed the mount point to /boot/efi)
I feel like im going nowhere since eventhow I find a way to make os prober recognize arch and the other way around I still can’t see the entry in the boot screen which remains the same(probably the original ubuntu one with my aesthetics customization) is it possible that I have somehow generated a copy of some file maybe the grub.conf which remains unmodified ? I’m glad it didn’t get worse but I will be happy to see some positive changes … Thanks for your help
I had a closer look at your picture and I noticed that GRUB is throwing an error about an unrecognized partition type.
What file system did you choose to install Arch on? You might not have the correct file system drivers for
os-prober
to see it.Hy thanks for still being here yeh I have noticed them too but I skipped them since there was the same error for Ubuntu and it works fine … My EFI system is mounted on a fat 32 partition my ubuntu root is mounted on an ext4 partitions as my separate boot partition witch is also Ext4 my arch install is instead mounted on an LVM partition witch I have formatted with Ext4 both for the home and the root … the LVM partition is on nvm0n1p9
Btw sorry if I keep sending pictures of the screen instead of screenshots just a lazy boy😅
Btw sorry if I keep sending pictures of the screen instead of screenshots just a lazy boy😅
Work smarter, not harder :)
Those file formats are fairly typical for most Linux installations, so that rules out GRUB drivers.
Your most recent screenshot shows evidence of an encrypted volume for your Arch install. I would have a read on the archlinux wiki and give that a shot first. In addition, while you’re in Ubuntu, they have
update-grub
that will auto-generate GRUB’s config file for you, so that might help with a couple of problems.Beyond that, you might have to use an alternate bootloader, as GRUB doesn’t seem to have very good support for LUKS at the moment. Alternatively, you could remove the LUKS encryption from your Arch install, but I’m not aware of how feasible that solution is since I don’t use it.
If I’m not mistaken couldn’t you just mount your already configured grub bootloader to /mnt/boot?
For example, during the arch install if your grub is at /dev/sda2, couldn’t you do mount --mkdir /dev/sda2 /mnt/boot?
Somebody who knows more than I do can definitely jump in here as well! But could give that a try
Hy I think silent_water is saying the same thing but unfortunately I don’t already have a separate boot partition thanks for the answer I will defenetly dig deeper
erm, have you tried reading the manual ? ☝️🤓
Tldr 😉