2 hard drives (one is backup): error: 'grub_calloc' symbol not found (Despite reinstalling grub)

Hi!
I have 2 hard drives (/dev/sda and /dev/sdb): one is for booting linux (/dev/sdb) and the other one is a backup (/dev/sda) (I rsync regularly the entire content of the first disk on the other one). It’s on BIOS Legacy.

If I try to boot, it stops: here is the error:

error: 'grub_calloc' symbol not found.
Entering recovery mode ...
grub rescue>

If I disconnect physically the backup drive, it boots normally.

Each disk has a 2 partitions inside (for the system and the other for the personal documents):

  • for the disk where I boot from: /dev/sdb1 and /dev/sdb2.
  • and same for the backup (since it’s a copy): /dev/sda1 and /dev/sda2.
sudo fdisk -l
Disk /dev/sda: 1.84 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: ST2000LM015-2E81
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xb152024b

Device     Boot     Start        End    Sectors  Size Id Type
/dev/sda1            2048  204802047  204800000 97.7G 83 Linux
/dev/sda2       204802048 3907028991 3702226944  1.7T 83 Linux


Disk /dev/sdb: 1.84 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: ST2000LM007-1R81
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xb152024b

Device     Boot     Start        End    Sectors  Size Id Type
/dev/sdb1  *         2048  204802047  204800000 97.7G 83 Linux
/dev/sdb2       204802048 3907028991 3702226944  1.7T 83 Linux

I want to boot from /dev/sdb1.
os-prober sees 2 OSs, but only /dev/sdb1 is the good one, the other is the backup (/dev/sda1)

$ os-prober
/dev/sda1:Manjaro Linux (20.1):ManjaroLinux:linux
/dev/sdb1:Manjaro Linux (20.1):ManjaroLinux1:linux

I’m trying to reinstalling grub:

# manjaro-chroot -a

Here, manjaro-chroot gives me the choice of the 2 OSs: I choose ManjaroLinux1. Then,

# grub-install /dev/sdb
Installing for i386-pc platform.
Installation finished. No error reported.

and then:

# update-grub         
Generating grub configuration file ...
Found background: /usr/share/grub/background.png
Found linux image: /boot/vmlinuz-5.9-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.9-x86_64.img
Found initrd fallback image: /boot/initramfs-5.9-x86_64-fallback.img
Found linux image: /boot/vmlinuz-5.8-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.8-x86_64.img
Found initrd fallback image: /boot/initramfs-5.8-x86_64-fallback.img
Found linux image: /boot/vmlinuz-5.7-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.7-x86_64.img
Found initrd fallback image: /boot/initramfs-5.7-x86_64-fallback.img
grub-probe: error: cannot find a GRUB drive for /dev/sdc1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdc1.  Check your device.map.
Found Manjaro Linux (20.2) on /dev/sda1
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

Here is my fstab:

$ cat /etc/fstab
# /etc/fstab: static file system information.
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
/swapfile       swap    swap    defaults        0       0
UUID=4e4bc30b-3313-4c61-a1b4-3b179cc4dd08       /       ext4    defaults,noatime        0       1
UUID=65d454f2-7a4e-4dc7-8db3-7b2c46127759       /mnt/backup     ext4    defaults,noatime        0       2
UUID=f0f92cf9-b49b-4c56-98fa-bfcea2106e7d       /mnt/rsync_system       ext4    auto,nofail,noatime,rw  0       2
UUID=0fa734b2-de67-4bea-a460-61e1d4c77782       /mnt/rsync_backup       ext4    auto,nofail,noatime,rw  0       2

So it installs grub correctly on /dev/sdb (and detects the other OS on my backup disk /dev/sda1).
How can I fix this error and make it boot normally?
Thanks

EDIT: SOLVED! I don’t know what’s happened… I’ve physically reconnected the backup hard drive and now it’s booting normally without the previous error message.
Apparently there’s a bug with a new update on Grub, but I don’t know why reconnecting the disk solved this.

:+1: Thank you for sharing! :+1:

However, could you do me a favour and:

  • edit your question by pressing the 3 dots and the pencil icon
  • make it into a real question
  • cut and paste the solution into a reply to your own question
  • click the 3 dots below your own answer to mark a solution like this:
    Solution
    so that the next person that has the exact same problem you just had will benefit from your post as your question will now be in the “solved” status.

:crossed_fingers: