Grub cannot boot Arch Linux install

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?

Hi @iVoid,

While I don’t know what could be the matter, I can suggest the you confirm os-prober is enabled, in Manjaro:

grep OS_PROBER /etc/default/grub

For exmaple:

$ grep OS_PROBER /etc/default/grub
GRUB_DISABLE_OS_PROBER=false

And I guess you knows this, but any change for Grub should be made in /etc/default/grub, with sudo:

sudo micro /etc/default/grub

Followed by running:

sudo update-grub

Hi @Mirdarthos,

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…

:wink: :stuck_out_tongue_winking_eye:

I think you should NOT mount the arch-linux partition, because normally all “other” systems are unmounted when grub tries to detect them.

Sure no problem, my goal is also to learn and I had just learned about this recently so I thought that sharing that might be appreciated. :slight_smile:

That is at odds with what is in the ArchWiki though:

  • Remember to mount the partitions each time you run grub-mkconfig in order to include the other operating systems every time.

Hi @iVoid ,
I wonder whether you could read the following post, in order to solve your problem:
Recent grub update seems broken for me / Newbie Corner / Arch Linux Forums

The user bob-roderich has posted the solution, you can try this.

Hope it helps, regards.

@j8a thanks, it worked!

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:

sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro

Before running sudo update-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?

This may happen, when an other install overwrites your grub in your EFI-partition with an other version.

You may find this file under /boot… and its name is anything.efi

On my install this seems to be:

  • /boot/efi/EFI/manjaro/grubx64.efi
ls -lA /boot/**/*.efi
-rwxr-xr-x 1 root root  167936 15. Sep 2018  /boot/efi_backup/EFI/boot/bootx64.efi
-rwxr-xr-x 1 root root  167936 15. Sep 2018  /boot/efi_backup/EFI/manjaro/grubx64.efi
-rwx------ 1 root root  278528 25. Jun 2020  /boot/efi/EFI/boot/bootx64.efi
-rwx------ 1 root root  282624 26. Jun 2020  /boot/efi/EFI/manjaro/grubx64.efi
-rwx------ 1 root root  115780 14. Mai 2022  /boot/efi/EFI/refind/drivers_x64/btrfs_x64.efi
-rwx------ 1 root root  318483 14. Mai 2022  /boot/efi/EFI/refind/refind_x64.efi
-rwx------ 1 root root  927680 31. Mai 2021  /boot/efi/EFI/tools/Shell.efi
-rwx------ 1 root root 1029696 31. Mai 2021  /boot/efi/EFI/tools/Shell_Full.efi
-rwx------ 1 root root 1367256 30. Dez 21:04 /boot/efi/EFI/tools/shellx64.efi
-rw-r--r-- 1 root root  282624 26. Jun 2020  /boot/grub/x86_64-efi/core.efi
-rw-r--r-- 1 root root  282624 26. Jun 2020  /boot/grub/x86_64-efi/grub.efi

And you can look into efi-variables to find which one is used now:

maxi -e
Currently running: 6.1.12-1-MANJARO (linux61)
Info about: efi bootloaders
 /boot/efi/EFI/manjaro/grubx64.efi              276K
 /boot/efi/EFI/boot/bootx64.efi                 272K
 /boot/efi/EFI/refind/refind_x64.efi            312K
 /boot/efi/EFI/refind/drivers_x64/btrfs_x64.efi 116K
 /boot/efi/EFI/tools/Shell.efi                  908K
 /boot/efi/EFI/tools/Shell_Full.efi             1008K
 /boot/efi/EFI/tools/shellx64.efi               1,4M
 /boot/grub/x86_64-efi/core.efi                 276K
 /boot/grub/x86_64-efi/grub.efi                 276K
 /boot/efi_backup/EFI/boot/bootx64.efi          164K
 /boot/efi_backup/EFI/manjaro/grubx64.efi       164K
Info about: efi vars (needs efibootmgr)
 Boot0000* manjaro                  HD(1,GPT,b1d3d562-88ff-4ac2-8326-9c5d82892379,0x800,0x1dc800) \EFI\MANJARO\GRUBX64.EFI  
 Boot0001* rEFInd Boot Manager      HD(1,GPT,b1d3d562-88ff-4ac2-8326-9c5d82892379,0x800,0x1dc800) \EFI\REFIND\REFIND_X64.EFI
 Boot0003* UEFI: Built-in EFI Shell VenMedia(5023b95c-db26-429b-a648-bd47664c8012)                                          
 Boot0004* UEFI OS                  HD(1,GPT,b1d3d562-88ff-4ac2-8326-9c5d82892379,0x800,0x1dc800) \EFI\BOOT\BOOTX64.EFI     
 Boot001A* UEFI OS                  HD(1,GPT,99e0488b-1204-4acc-83a6-30d2c839b094,0x800,0x100000) \EFI\BOOT\BOOTX64.EFI     
 Boot0020* UEFI OS                  HD(1,GPT,4f943c21-f008-4448-aaf4-ff8be3fd2a28,0x800,0x200000) \EFI\BOOT\BOOTX64.EFI     
 Boot0022* Hard Drive               BBS(HD,,0x0)                                                                            
 Boot0023* CD/DVD Drive             BBS(CDROM,,0x0)                                                                         
 Boot0024* USB                      BBS(USB,,0x0)   

Thanks for the insight!

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.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.