Bootloader/grub error. Can't install

When everthing is installed apart from Grub,
then you must install grub.

Use the Manjaro USB stick, boot from it, chroot into the system and then:

sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
sudo grub-mkconfig -o /boot/grub/grub.cfg

You mean restart or stay after the bootloader fails? I’m not that familiar with chroot. Sry.

Boot from the Manjaro USB stick, manjaro-chroot --a on console and then execute the commands above.

Hello @Tzalim :wink:

When installing Manjaro on BTRFS, then root is normally at /@/ and /home at /@home/ as subvolumes. Roughly saying it is working like a partition; you can mount a subvolume like a partition.

So when mounting btrfs it must be like that:

sudo mount -o subvol=@ /dev/sda2 /mnt
sudo mount -o subvol=@home /dev/sda2 /mnt/home
sudo mount /dev/sda1 /mnt/boot/efi

Then chroot with the manjaro-helper script:

manjaro-chroot /mnt /bin/bash

However there is also a great article on the wiki: GRUB/Restore the GRUB Bootloader - Manjaro

I rebooted, went back in the installer, did what I always do which is delete the drive and left the defaults like swap and ext4 and didn’t choose btrfs. I’m used to ext4, I just thought btrfs was quicker and better and Garuda uses it.

Ok, so I did what you said but it couldn’t find manjaro-chroot --a so I just did manjaro-chroot -a

[manjaro@manjaro-cinnamon ~]$ manjaro-chroot -a
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
==> Mounting (ManjaroLinux) [/dev/sda2]
 --> mount: [/mnt]
 --> mount: [/mnt/boot/efi]
[root@manjaro-cinnamon /]# sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
Installing for x86_64-efi platform.
Could not prepare Boot variable: No space left on device
grub-install: error: efibootmgr failed to register the boot entry: Input/output error.
[root@manjaro-cinnamon /]# sudo grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.13-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-5.13-x86_64.img
Found initrd fallback image: /boot/initramfs-5.13-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.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
Adding boot menu entry for UEFI Firmware Settings ...
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

And that all… I rebooted and still no bootable device found. So, I went back into the live usb and that’s where I am now.

Could you check if the partition is full? Reformat it and try again?

Looks like, it cannot register an entry…

I restarted and went back into the installer and tried again and when it got to the partitions part I said to erase the disk and I left the defaults like it was with no swap and ext4. But I will try again and see if there is anything different. But I just did it, so there shouldn’t be.

Ok, now what my partition tab says when I’m getting ready to install, like the summary is what I have in the image below.

I’m about to do an install.

Edit: The reason I have all unallocated space is I did a fresh drive with gparted. I know I tried that before with my friend that was helping me.

you have to ckeck option UEFI motherboard before

I haven’t had secure boot enabled for years (about 5 yrs or so sense getting this laptop), ever sense I was on windows 10, it’s been disabled. I don’t have CSM. I have UEFI enabled, legacy disabled. And no other boot options that is in that link. I will post the commands that you referenced.

[manjaro@manjaro-cinnamon ~]$ inxi
CPU: Quad Core AMD A8-7410 APU with AMD Radeon R5 Graphics (-MCP-) 
speed/min/max: 1094/1000/2200 MHz Kernel: 5.13.13-1-MANJARO x86_64 
Up: 8h 53m Mem: 1492.3/6899.5 MiB (21.6%) Storage: 945.83 GiB (0.7% used) 
Procs: 213 Shell: Bash inxi: 3.3.06
[manjaro@manjaro-cinnamon ~]$ test -d /sys/firmware/efi && echo efi || echo bios
efi
[manjaro@manjaro-cinnamon ~]$ sudo efibootmgr -v
BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 2001,2002,2003
Boot0000* Notebook Hard Drive - WDC WD10JPVX-60JC3T0	BBS(HD,,0x500)................-...........A.....................................}.........A.......................
Boot0001* USB Hard Drive -  USB	BBS(7,,0x500)..................................................................vH........A...........................
Boot0002* USB Hard Drive (UEFI) - USB	PciRoot(0x0)/Pci(0x12,0x0)/USB(0,0)/USB(1,0)/HD(1,MBR,0x0,0x5c2cd4,0x2000)RC
Boot2001* USB Drive (UEFI)	RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)	RC
Boot3000* Internal Hard Disk or Solid State Disk	RC
Boot3001* Internal Hard Disk or Solid State Disk	RC
Boot3002* Internal Hard Disk or Solid State Disk	RC
Boot3003* Internal Hard Disk or Solid State Disk	RC
Boot3004* Internal Hard Disk or Solid State Disk	RC
[manjaro@manjaro-cinnamon ~]$ sudo parted -l
Model: ATA WDC WD10JPVX-60J (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      2097kB  317MB   315MB   fat32              boot, esp
 2      317MB   1000GB  1000GB  ext4         root


Model:  USB  SanDisk 3.2Gen1 (scsi)
Disk /dev/sdb: 15.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 2      3093MB  3097MB  4194kB  primary               esp
[manjaro@manjaro-cinnamon ~]$ sudo lsblk -fs
NAME FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
loop0
     squash 4.0                                                    0   100% /run/miso/sfs/livefs
loop1
     squash 4.0                                                    0   100% /run/miso/sfs/mhwdfs
loop2
     squash 4.0                                                    0   100% /run/miso/sfs/desktopfs
loop3
     squash 4.0                                                    0   100% /run/miso/sfs/rootfs
sda1 vfat   FAT32 NO_LABEL
│                       266C-8298                             299.2M     0% /tmp/calamares-root-t5ty9044/boot/efi
└─sda
                                                                            
sda2 ext4   1.0         47982c44-559c-4bde-9856-85ad2ea58a08  862.2G     1% /tmp/calamares-root-t5ty9044
└─sda
                                                                            
sdb1 iso966 Jolie MANJARO_CINNAMON_2112
│                       2021-09-07-17-04-26-00                              
└─sdb
     iso966 Jolie MANJARO_CINNAMON_2112
                        2021-09-07-17-04-26-00                     0   100% /run/miso/bootmnt
sdb2 vfat   FAT12 MISO_EFI
│                       5D2E-5B66                                           
└─sdb
     iso966 Jolie MANJARO_CINNAMON_2112
                        2021-09-07-17-04-26-00                     0   100% /run/miso/bootmnt
sr0

So the problem is clearly between efibootmgr and your UEFI.

What makes me think are these entries:

It could be possible that your UEFI NVRAM has no space left for new entries… You can delete unnecessary entries with:

sudo efibootmgr --delete-bootnum --bootnum 3000

It say’s I have to specify an entry to delete but did do the -b option but its just like a help for the different options. I did all of the entries and it told me the same thing. Like 3001, 3002, 3003 and 3004.

[manjaro@manjaro-cinnamon ~]$ sudo efibootmgr --delete-bootnum 3000
You must specify an entry to delete (see the -b option).

If you want to remove entry Boot3000 try

sudo efibootmgr -b 3000 -B

I did them all except Boot3004, should I do that one as well? And then restart and do the installation again?

[manjaro@manjaro-cinnamon ~]$ sudo efibootmgr
BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 2001,2002,2003
Boot0000* Notebook Hard Drive - WDC WD10JPVX-60JC3T0
Boot0001* USB Hard Drive -  USB
Boot0002* USB Hard Drive (UEFI) - USB
Boot2001* USB Drive (UEFI)
Boot2002* Internal CD/DVD ROM Drive (UEFI)
Boot3004* Internal Hard Disk or Solid State Disk

Thanks @Wollie I always forget about the --boot-num parameter xD Corrected… :white_check_mark:

I would first suggest to re-run the grub-install procedure, like done before:

Ok, idk what to do next. I put in these commands…

[manjaro@manjaro-cinnamon ~]$ manjaro-chroot -a
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
==> Mounting (ManjaroLinux) [/dev/sda2]
 --> mount: [/mnt]
 --> mount: [/mnt/boot/efi]

and then…

[root@manjaro-cinnamon /]# sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
Installing for x86_64-efi platform.
Could not prepare Boot variable: No space left on device
grub-install: error: efibootmgr failed to register the boot entry: Input/output error.
[root@manjaro-cinnamon /]# sudo grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.13-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-5.13-x86_64.img
Found initrd fallback image: /boot/initramfs-5.13-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.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
Adding boot menu entry for UEFI Firmware Settings ...
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

I haven’t restarted yet.

can you check if there is enough size for /boot/efi ?

sudo df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
dev            devtmpfs  3.4G     0  3.4G   0% /dev
run            tmpfs     3.4G  114M  3.3G   4% /run
/dev/sdb       iso9660   2.9G  2.9G     0 100% /run/miso/bootmnt
cowspace       tmpfs     256M     0  256M   0% /run/miso/cowspace
overlay_root   tmpfs     5.1G  193M  4.9G   4% /run/miso/overlay_root
/dev/loop0     squashfs   56M   56M     0 100% /run/miso/sfs/livefs
/dev/loop1     squashfs  787M  787M     0 100% /run/miso/sfs/mhwdfs
/dev/loop2     squashfs  1.4G  1.4G     0 100% /run/miso/sfs/desktopfs
/dev/loop3     squashfs  694M  694M     0 100% /run/miso/sfs/rootfs
overlay        overlay   5.1G  193M  4.9G   4% /
tmpfs          tmpfs     3.4G   61M  3.4G   2% /dev/shm
tmpfs          tmpfs     3.4G   56M  3.4G   2% /tmp
tmpfs          tmpfs     3.4G  2.4M  3.4G   1% /etc/pacman.d/gnupg
tmpfs          tmpfs     690M  124K  690M   1% /run/user/1000
/dev/sda2      ext4      916G  6.8G  863G   1% /mnt
/dev/sda1      vfat      300M  148K  300M   1% /mnt/boot/efi
tmpfs          tmpfs     3.4G     0  3.4G   0% /tmp/calamares-root-t5ty9044/run
shm            tmpfs     3.4G     0  3.4G   0% /mnt/dev/shm
run            tmpfs     3.4G  8.0K  3.4G   1% /mnt/run
tmp            tmpfs     3.4G     0  3.4G   0% /mnt/tmp
overlay        overlay   5.1G  193M  4.9G   4% /mnt/etc/resolv.conf

see this
https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface#Requirements_for_UEFI_Variables_support_to_work_properly

can you from chroot
return

sudo manjaro -chroot -a
cat /etc/fstab
inxi -Mxa 
efivar -l
cat /sys/firmware/efi/efivars/dump-*
exit (end-chroot)

you may need to mount efivar if efivar -l is not ok before command grub-install
mount -t efivarfs efivarfs /sys/firmware/efi/efivars
or
remove dump

if efivar is ok and no dump , add this line command kernel on boot ( live iso )
efi_no_storage_paranoia and after chroot
recheck state efivar and dump files

before grub-install