I use Grub to dual boot Manjaro with Windows and it works. Know I want to use Grub to also boot a pure Arch Linux install so I created and formatted a partition and installed Arch Linux to it with no problems, and in the end I booted Manjaro, mounted my new Arch Linux partition, and ran grub-mkconfig -o /boot/grub/grub.cfg to update my grub configuration, and now my new Arch Linux install is on the Grub boot menu as you would expect.
The problem is, Grub is still working fine to boot Manjaro and Windows, but it won’t boot my new Arch Linux install. I get the error:
error: no such device: 63ea7dfe-894f-4559-b9cb-47d4b87f92e9.
error: file '/boot/vmlinuz-linux' not found.
error: you need to load the kernel first.
I’ve quadrupled checked that the 63ea7dfe-894f-4559-b9cb-47d4b87f92e9 UUID DOES EXIST and corresponds to my new Arch Linux partition, so this does not make sense.
I’ve also tried installing Grub to my new Arch Linux partition (though I don’t need it, I want to use my existing Manjaro Grub) and it works fine to boot it, so this seems to be a problem with Manjaro’s Grub.
So I entered the Grub command-line in Manjaro’s Grub and ran ls -l and my new Arch Linux partition shows up but with unknown file system, and the label and UUID is not displayed for it, which seems to explain why Grub can’t find it.
I tried the same with my new Arch Linux install’s Grub, and ls -l properly recognizes the file systems of all my partitions.
Can anybody help me understand why Manjaro’s Grub does not recognize those new partition’s file systems?
I can confirm that os-prober is enabled as it gives the expected output of GRUB_DISABLE_OS_PROBER=false.
As for running sudo update-grub instead of sudo grub-mkconfig -o /boot/grub/grub.cfg, they do exactly the same thing, you can verify this by opening the update-grub script in a text editor.
I believe you, said you’re probably aware of it. It was just my things that might be aa cause, according to my limited knowledge. I only have Manjaro installed, so I don’t really worry. Yet, I have os-prober enabled for whatever reason. Weird, I know…
But since I did not need to follow all those steps, I just wanted to leave the differences on this thread so people who stumble upon it in the future know. In my case there is no need to chroot as my Manjaro install is booting normally, I just couldn’t use my grub install to boot another arch linux installation, so in my case all I needed to do was reinstall grub:
So the problem is sorted, but just for the sake of my linux learning journey could anyone confirm if it is recommended to reinstall grub everytime another OS is added to the disk?
My impression from the archwiki is that you just needed to update grub and let os-prober do its job, is this because of changes to grub made by manjaro?
I’m not sure when I might have installed another version on the same path on my EFI partition but I guess it could have happened some years ago, so there’s a chance this was the cause I guess.