Hello, I have a laptop with two hard drives, in one of which EOS with KDE is installed. Whenever I have tried to install EOS on the other drive (for testing purpose), the bootloader entry of the first drive is overwritten in the boot menu by the new install. I can still boot from “Boot from EFI” option in boot menu in the first drive and then reinstall grub with a different bootloader-id but it’s a hassle, to say the list.
I have also tried modifying bootloader-id in /etc/calamares/modules/bootloader.conf
in the live usb but the overwrite still happens.
Could you please suggest any other way to avoid it?
Hello @shirshendu ,
I would install the test system with no grub option in Calamares.
From your primary system
su
remove hashmark from the following line in /etc/default/grub
GRUB_DISABLE_OS_PROBER=false
save it
grub-mkconfig -o /boot/grub/grub.cfg
will find your new test system and insert it to grub menu
EDIT:
This might be interesting for you
The fact that you
means that the bootloader is not overwritten.
Installing Grub bootloader for your second system just gives the boot priority to this system and since os-prober is disabled by default you are not seeing a boot option in the Grub boot menu for your first system.
Instead of reinstalling the bootloader for your first system each time, you could have just gone into the firmware settings and put it back on top of the boot priority list.
I installed the 2nd drive with btrfs and enabled os-prober in the 1st drive and updated grub … But the 2nd EOS isn’t detected
Just to clarify myself, in the 1st post, what I referred was the entry being deleted in the system boot screen (which contains the entry “Boot From EFI”), not Grub.
For it to work, you have to give the two installations different bootloader IDs.
First rename the directory in /boot/efi/EFI
that contains the grubx64.efi
file. A lot of distros set it up so this directory is named after the distro, but I think for EOS it might just be named “Grub”. Take a peek in /boot/efi/EFI
to be sure.
sudo mv /boot/efi/EFI/[old name] /boot/efi/EFI/[new name]
Change the GRUB_DISTRIBUTOR=
line in /etc/default/grub
to match whatever you just named the boot directory in /boot/efi/EFI/
.
sudo nano /etc/default/grub
GRUB_DISTRIBUTOR="[new name]"
Next, run the Grub installation script.
sudo grub-install ...
I have put “...
” to mean “add whatever options are specifically relevant for your Grub installation”. In some cases, grub-install
or grub-install --no-nvram
is enough. If you are not sure, refer to the document here: https://wiki.archlinux.org/title/GRUB
Bear in mind, if you reinstall with the --bootloader-id
flag you need to make sure it is set to =[new name]
(whatever your new GRUB_DISTRIBUTOR
value is).
For example:
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=[new name]
Like I mentioned however, for many systems grub-install --no-nvram
will be enough.
Regenerate the Grub configuration file.
sudo grub-mkconfig -o /boot/grub/grub.cfg
Now you should be all set to set up the bootloader on the second installation, either with the default bootloader ID or with whatever bootloader ID you choose.
Thanks for the reply. That is exactly what I did after installing both systems.
I did a little more testing and to install the two systems with separate bootloader entries, we have to edit the bootloaderid
entry in /etc/calamares/modules/bootloader.conf
in live media before launching calamares and then install as usual.
This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.