Hey,
I got Arch installed on my laptop and wanted to install Garuda next to it, however Garuda's bootloader does not show an option to boot arch from it.
How can I fix this?
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 1 0B 0 disk
zram0 254:0 0 15,5G 0 disk [SWAP]
nvme0n1 259:0 0 476,9G 0 disk
├─nvme0n1p1 259:1 0 512M 0 part /boot/efi
├─nvme0n1p2 259:2 0 49,7G 0 part
└─nvme0n1p3 259:3 0 426,8G 0 part /var/tmp
nvme0n1p2 is the Arch disrto, nvme0n1p3 is the Garuda one
# Probing for other operating systems is disabled for security reasons. Read
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
# functionality install os-prober and uncomment to detect and include other
# operating systems.
GRUB_DISABLE_OS_PROBER=false
Please post always your garuda-inxi and use the forum search function, thank you.
╭─stk@stk in ~
╰─λ sudo update-grub
[sudo] password for stk:
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/garuda-dr460nized/theme.txt
Found linux image: /boot/vmlinuz-linux-zen
Found initrd image: /boot/intel-ucode.img /boot/initramfs-linux-zen.img
Found fallback initrd image(s) in /boot: intel-ucode.img initramfs-linux-zen-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Arch Linux on /dev/nvme0n1p2
Detecting snapshots ...
Found snapshot: 2023-09-07 06:54:37 | @/.snapshots/10/snapshot | post | apache |
Found snapshot: 2023-09-07 06:54:36 | @/.snapshots/9/snapshot | pre | /usr/bin/pacman -S --noconfirm extra/apache |
Found snapshot: 2023-09-07 06:53:51 | @/.snapshots/8/snapshot | post | dart-sass |
Found snapshot: 2023-09-07 06:53:50 | @/.snapshots/7/snapshot | pre | /usr/bin/pacman -S --noconfirm extra/dart-sass |
Found snapshot: 2023-09-07 06:45:25 | @/.snapshots/6/snapshot | post | a2ps appimagelauncher aribb24 audacious audacious-plugins bluez-cups bot |
Found snapshot: 2023-09-07 06:45:04 | @/.snapshots/5/snapshot | pre | pacman -S --needed appimagelauncher audacious discord filezilla firedrag |
Found snapshot: 2023-09-07 06:41:10 | @/.snapshots/4/snapshot | post | a52dec aalib abseil-cpp adwaita-cursors adwaita-icon-theme alsa-card-pro |
Found snapshot: 2023-09-07 06:32:08 | @/.snapshots/3/snapshot | pre | pacman -Su |
Found snapshot: 2023-09-07 00:03:21 | @/.snapshots/2/snapshot | post | archlinux-keyring chaotic-keyring |
Found snapshot: 2023-09-07 00:03:12 | @/.snapshots/1/snapshot | pre | pacman -Udd --noconfirm --needed archlinux-keyring-20230821-2-any.pkg.ta |
Found 10 snapshot(s)
Unmount /tmp/grub-btrfs.ZuuBgjenF7 .. Success
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: warning: unknown device type nvme0n1.
done
After rebooting Arch still won't show up
(I did make sure nvme0n1p2 was mounted)
This could be the reason for your problem, although at a quick internet search this could be really only a “warning” not affecting the functionality.
Give a look at this one in our forum and see if anything changes:
Also, update your system fully (I see an old kernel, so probably this is a new install) with a:
I updated garuda now fully and then additionally I also executed garuda-update grub yet it still won't work.
I did ignore the nvme0n1 warning, as you said and as in the linked post says that it's not of importance.
Now I want to try installing lsb-release on my arch distro yet I can't boot into my archdistro because it doesn't show up in grub.
Mmm I expected an entry for Arch actually. I'm a bit lost.
Maybe you could boot from an Arch USB and use arch-chroot to install lsb-release.
I'd also reinstall the GRUB at that point.
But there is something strange that I can't identify...
I’ve got lsb-release installed on arch now, nothing changed.
I’ve also reinstalled grub using THIS tutorial, nothing changed either.
What confuses me is (as I posted above), while updating grub it tells me that it has found Arch on nvme0n1p2, but it then goes on adding an entry for UEFI Firmware Settings and detecting snapshots…why does it ignore the Archdistro it found?
Yes, chrooting will be fine. Be sure to mount the EFI partition as well before running commands involving Grub.
If you can’t boot to Arch at all, I would recommend reinstalling Grub before regenerating the configuration file. How you phrase the installation command will depend on where the EFI partition is mounted, see here:
Then follow the below steps to install GRUB to your disk:
Choose a boot loader identifier, here named GRUB. A directory of that name will be created in esp/EFI/ to store the EFI binary and this is the name that will appear in the UEFI boot menu to identify the GRUB boot entry.
Execute the following command to install the GRUB EFI application grubx64.efi to esp/EFI/GRUB/ and install its modules to /boot/grub/x86_64-efi/.
Note:
Make sure to install the packages and run the grub-install command from the system in which GRUB will be installed as the boot loader. That means if you are booting from the live installation environment, you need to be inside the chroot when running grub-install. If for some reason it is necessary to run grub-install from outside of the installed system, append the --boot-directory= option with the path to the mounted /boot directory, e.g --boot-directory=/mnt/boot.
Some motherboards cannot handle bootloader-id with spaces in it.
I mounted the esp and root directory and then reinstalled grub via arch-chroot according to the linked 3 steps.
Then I successfully regenerated the grub configuration file and rebooted. Now I got the arch-like-looking grub interface but it wont show any os anymore. Neither garuda nor arch.
I already checked /etc/default/grub and the disable option is still uncommented and set to false.
As I just used the commandline in the livearch boot I'm not really sure how to post any outputs here without manually transcribing them all.
Is there smth like termbin that I can use for that?
Edit: Ahh wait, thinking about that I visited termbin's website and realised I can use it outside of garuda-inxi
just a sec...
You could have done it from the Garuda live environment and you would have had more tools at your disposal–terminal emulator, a web browser, even the chroot tool you could have used.
Now that you have the bootloader installed, boot back to Garuda and re-run sudo update-grub to regenerate the Grub configuration file and see if it picks up Arch.