Boot error: 'no such partition' ↳ grub rescueᐳ ▁

I cannot use that grub rescue-terminal since it assumes an American keyboard. (And even if I had one that could be attached to the system, it would still be impossible to type my passphrases with such a device.)

I can boot the machine from my Ventoy-stick and after 5-10 minutes of adjusting Gnome to a semi-usable configuration, I can follow the procedure to Restore the GRUB Bootloader.

But I’m stuck at chroot asking me Select system to mount [0-1] :
(from ManjaroLinux and ManjaroLinux1)

It’s indeed a dual boot setup (Manjaro-Gnome and Manjaro-KDE) with the respective /-partitions @ p3 and p2 of the internal nvme. (… and the EFI @ p1)
But chroot’s ManjaroLinux and ManjaroLinux1 don’t give me a clue what to choose …

·

p.s. (4 hrs later):
I just tried one of the options:

   ~  su                                                                           ✔ 
[manjaro-gnome manjaro]# manjaro-chroot -a
==> Detected systems:
 --> 0) ManjaroLinux
 --> 1) ManjaroLinux1
==> Select system to mount [0-1] : 
1
==> Mounting (ManjaroLinux1) [/dev/nvme0n1p3]
 --> mount: [/mnt]
[manjaro-gnome /]# pacman -Syu grub
:: Synchronizing package databases...
 core is up to date
 extra                        8.5 MiB  5.92 MiB/s 00:01 [#############################] 100%
 multilib is up to date
warning: grub-2:2.12.r350.g0e367796-1 is up to date -- reinstalling
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...

Packages (3) gnome-shell-extension-dash-to-dock-102-1
             gnome-shell-extension-dash-to-panel-69-1  grub-2:2.12.r350.g0e367796-1

Total Download Size:    0.54 MiB
Total Installed Size:  59.05 MiB
Net Upgrade Size:       0.12 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 gnome-shell-extension...   314.6 KiB  3.30 MiB/s 00:00 [#############################] 100%
 gnome-shell-extension...   240.0 KiB  2.00 MiB/s 00:00 [#############################] 100%
 Total (2/2)                554.6 KiB  3.54 MiB/s 00:00 [#############################] 100%
(3/3) checking keys in keyring                          [#############################] 100%
(3/3) checking package integrity                        [#############################] 100%
(3/3) loading package files                             [#############################] 100%
(3/3) checking for file conflicts                       [#############################] 100%
(3/3) checking available disk space                     [#############################] 100%
:: Running pre-transaction hooks...
(1/1) Creating Timeshift snapshot before upgrade...
==> skipping timeshift-autosnap due skipRsyncAutosnap in /etc/timeshift-autosnap.conf set to TRUE.
:: Processing package changes...
(1/3) reinstalling grub                                 [#############################] 100%
:: To use the new features provided in this GRUB update, it is recommended
   to install it to the MBR or UEFI. Due to potential configuration
   incompatibilities, it is advised to run both, installation and generation
   of configuration:
     # UEFI: https://wiki.archlinux.org/title/GRUB#Installation
     # BIOS: https://wiki.archlinux.org/title/GRUB#Installation_2
(2/3) upgrading gnome-shell-extension-dash-to-dock      [#############################] 100%
(3/3) upgrading gnome-shell-extension-dash-to-panel     [#############################] 100%
:: Running post-transaction hooks...
(1/4) Arming ConditionNeedsUpdate...
(2/4) Installing Grub to MBR/EFI
WARNING: EFI directory not found! Grub couldn't be installed.
error: command failed to execute correctly
(3/4) Compiling GSettings XML schema files...
(4/4) Updating the info directory file...
[manjaro-gnome /]# 

Seems blind guessing has hit the right partition,
but wonder what else might have been destroyed by …?
(… and how multilib made it to appear here …)

For some reason it does not see the efi partition. I think it is time to mount it manually (chroot with manual mounts) as per the above guide.

No, it does not see the directory/boot/efi — where the EFI partition is to be mounted.

This is usually the result of the contents of /boot being on a separate partition from the root partition. In that case, the directory /boot on the root filesystem does not contain anything, and thus also no /boot/efi directory that the EFI partition is to be mounted on.

I think that manjaro-chroot’s choices refer to the root partition(s) and that was (accidentally?) hit partition 3 correctly.
What can I do to make it see the /boot/efi/-directory in partition 1?
Since it doesn’t reach the grub-menu (where to choose which system to boot):
can it at all have read the /boot/-, rsp. /boot/grub/x86_64-efi/-directory …?
Where do I have to make which correction to let the system reach the grub-menu again?
(As for the case history:
I haven’t changed anything outside of the /home/…-directory myself
between the last successful boot and this incident.)

Probably nothing to convince the tools automatic mode to work.

Can you see the EFI partition?
lsblk -f

If you can, you can chroot “by hand” - while still taking advantage of the tool.

  • mount whichever partition the system root you want to use to /mnt
  • mount the ESP partition to /mnt/boot/efi
  • chroot (manjaro-chroot …)

like this:

lsblk -f

(to find out the device and partition names)

sudo mount /dev/_root_partition /mnt

sudo mount /dev/_EFI_partition /mnt/boot/efi

manjaro-chroot /mnt /bin/bash

1 Like

If unsure what is what post the lsblk here and we will tell you.

[manjaro-gnome /]# lsblk -f
NAME        FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
loop0                                              
loop1                                              
loop2                                              
loop3                                              
sda                                                
|-sda1                                             
| |-ventoy                                         
| `-sda1                                           
`-sda2                                             
sdb                                                
`-sdb1                                             
nvme0n1                                            
|-nvme0n1p1                                        
|-nvme0n1p2                                        
|-nvme0n1p3                           25.1G    40% /
|-nvme0n1p4                                        
|-nvme0n1p5                                        
|-nvme0n1p6                                        
|-nvme0n1p7                                        
`-nvme0n1p8                                        
[manjaro-gnome /]# mount /nvme0n1p1/EFI /mnt/boot/efi
mount: /mnt/boot/efi: fsconfig() failed: /nvme0n1p1/EFI: Can't lookup blockdev.
       dmesg(1) may have more information after failed mount system call.
[manjaro-gnome /]# mount /nvme0n1/nvme0n1p1/EFI /mnt/boot/efi
mount: /mnt/boot/efi: fsconfig() failed: /nvme0n1/nvme0n1p1/EFI: Can't lookup blockdev.
       dmesg(1) may have more information after failed mount system call. 
[manjaro-gnome /]#

I can, however, mount it with the file manager, which puts it into
/run/media/manjaro/SME_5_EFI/EFI/boot,
but …

[manjaro-gnome /]# mount /SME_5_EFI/EFI /mnt/boot/efi
mount: /mnt/boot/efi: fsconfig() failed: /SME_5_EFI/EFI: Can't lookup blockdev.
       dmesg(1) may have more information after failed mount system call.
[manjaro-gnome /]#

… fails as well.

(no idea why it refuses to render the upper chunk of terminal output like the lower one)

just before chroot

sudo lsblk -fs

after chroot ,
you can check

cat /etc/fstab 

That’s good as a test.
The partition is visible and you can mount it.
Good.

Now unmount it again. :wink:

the correct procedure for you would be:

sudo mount /dev/nvme0n1p3 /mnt
(mount your root partition to /mnt)

sudo mount /dev/nvme0n1p1 /mnt/boot/efi
(mount your EFI partition to the correct place under /mnt)

manjaro-chroot /mnt /bin/bash
(chroot in the now fully assembled system)


one of your two Manjaro installations (or even both?) may have BTRFS as a file system - only you can know
But that would require a different procedure - to mount the necessary BTRFS subvolumes is a bit more involved - but also described in the HowTo or wiki.

¹) That’s, of course, been done before the failed mount attempt via terminal …
where I didn’t know about just prepending …
²) … /dev to the path! :bulb: :open_mouth:
will give it a go and edit this post re. its result ⁴⁾
³) Some weeks ago I had one test install (and liked it), but I’ve read too much for really switching to it yet.
(… at least before I have 2 machines configured to a fully productive state. The desktop is still at ~95%, the laptop (was|will be) at ~75%)

⁴) looks much better - can I dare to reboot the machine?
(the preparation after again having to boot into the live system would cost another wearing ½ hour)
(and I’d really like to know the reason for the semi-successful format of the following chunk,
empty lines and lines with the 3 back-ticks are there …)

    ~  sudo mount /dev/nvme0n1p3 /mnt                                   ✔ 
    ~  sudo mount /dev/nvme0n1p1 /mnt/boot/efi                          ✔ 
    ~  manjaro-chroot /mnt /bin/bash                                    ✔ 
[manjaro-gnome /]# pacman -Syu grub
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 multilib is up to date
warning: grub-2:2.12.r350.g0e367796-1 is up to date -- reinstalling
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...

Packages (1) grub-2:2.12.r350.g0e367796-1

Total Installed Size:  56.61 MiB
Net Upgrade Size:       0.00 MiB

:: Proceed with installation? [Y/n] 
(1/1) checking keys in keyring                     [######################] 100%
(1/1) checking package integrity                   [######################] 100%
(1/1) loading package files                        [######################] 100%
(1/1) checking for file conflicts                  [######################] 100%
(1/1) checking available disk space                [######################] 100%
:: Running pre-transaction hooks...
(1/1) Creating Timeshift snapshot before upgrade...
==> skipping timeshift-autosnap due skipRsyncAutosnap in /etc/timeshift-autosnap.conf set to TRUE.
:: Processing package changes...
(1/1) reinstalling grub                            [######################] 100%
:: To use the new features provided in this GRUB update, it is recommended
   to install it to the MBR or UEFI. Due to potential configuration
   incompatibilities, it is advised to run both, installation and generation
   of configuration:
     # UEFI: https://wiki.archlinux.org/title/GRUB#Installation
     # BIOS: https://wiki.archlinux.org/title/GRUB#Installation_2
:: Running post-transaction hooks...
(1/3) Arming ConditionNeedsUpdate...
(2/3) Installing Grub to MBR/EFI
Grub will be installed on: EFI
Installing for x86_64-efi platform.
Installation finished. No error reported.
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-6.15-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-6.15-x86_64.img
Found initrd fallback image: /boot/initramfs-6.15-x86_64-fallback.img
Found linux image: /boot/vmlinuz-6.12-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-6.12-x86_64.img
Found initrd fallback image: /boot/initramfs-6.12-x86_64-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.
ERROR: mkdir /var/lock/dmraid
Found Manjaro Linux (25.0.4) on /dev/nvme0n1p2
Adding boot menu entry for UEFI Firmware Settings ...
Root filesystem isn't btrfs
If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: warning: unknown device type nvme0n1.
Found memtest86+ EFI image: /boot/memtest86+/memtest.efi
/usr/bin/grub-probe: warning: unknown device type nvme0n1.
done
Warning: GRUB bootloader at '/boot/efi/EFI/Manjaro' was updated.
Your booted entry '' is not the same as 'Manjaro'.
This may be a rescue ISO, but if not check your EFI boot priority.
[manjaro-gnome /]# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
Installing for x86_64-efi platform.
Installation finished. No error reported.
[manjaro-gnome /]# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-6.15-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-6.15-x86_64.img
Found initrd fallback image: /boot/initramfs-6.15-x86_64-fallback.img
Found linux image: /boot/vmlinuz-6.12-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-6.12-x86_64.img
Found initrd fallback image: /boot/initramfs-6.12-x86_64-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 Manjaro Linux (25.0.4) on /dev/nvme0n1p2
Adding boot menu entry for UEFI Firmware Settings ...
Root filesystem isn't btrfs
If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: warning: unknown device type nvme0n1.
Found memtest86+ EFI image: /boot/memtest86+/memtest.efi
/usr/bin/grub-probe: warning: unknown device type nvme0n1.
done
[manjaro-gnome /]# lsblk -o PATH,PTTYPE,PARTTYPE,FSTYPE,PARTTYPENAME
PATH               PTTYPE PARTTYPE FSTYPE PARTTYPENAME
/dev/loop0                                
/dev/loop1                                
/dev/loop2                                
/dev/loop3                                
/dev/sda                                  
/dev/sda1                                 
/dev/sda2                                 
/dev/mapper/ventoy                        
/dev/mapper/sda1                          
/dev/nvme0n1                              
/dev/nvme0n1p1                            
/dev/nvme0n1p2                            
/dev/nvme0n1p3                            
/dev/nvme0n1p4                            
/dev/nvme0n1p5                            
/dev/nvme0n1p6                            
/dev/nvme0n1p7                            
/dev/nvme0n1p8                            
[manjaro-gnome /]# ls /sys/firmware/efi
config_table  efivars  fw_platform_size  fw_vendor  mok-variables  runtime  runtime-map  systab
[manjaro-gnome /]# exit
exit
    ~                                                                   ✔  10m 45s  

Ok, so in theory now the manjaro boot entry in the efi menu should boot up this system on partition 3 with kernel 6.15. which is EOL so your first job will be to install 6.16 if the system boots (or just hit the key and choose 6.12 from the grub menu).

1 Like

Sure. Now that the machine booted successfully …
(with a different grub-menu (as to not spoil the fun of guessing which entry means what system))
… I’ll check the manjaro-settings and let it fetch kernel 6.16.4-2 …

There can only be one Grub in charge for both systems - you can chainload the other one or have one without it’s own Grub, the other one being responsible for both.
Might be a bit cumbersome on updates.

One of the two systems with BTRFS (we don’t know) might give you some headaches …

Sure, the one Grub has now a different menu.
What had before appeared as … 25.… on p3 is now called just Manjaro Linux.

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