grub_file_filters not found after Ubuntu 19.10 upgrade

In my case, I had an Xubuntu 18.04 VM and after upgrading to 20.04, got the grub error. So I followed what's described here, which is for Kali, but should work for any Linux / grub installation:

  1. Using an Ubuntu / Xubuntu ISO Live enter live mode (I used Ubuntu 20.04 since I had it already downloaded in my computer).

  2. Once inside, I opened a terminal and ran:

# So we can run the next commands as `root`:
sudo su

# To figure which partition had my Xubuntu installation (partition type `Linux`)
# in my case it was `/dev/sda1`, we can use:
fdisk -l

# Let's mount a few things:
mount /dev/sda1 /mnt
mount --bind /dev /mnt/dev
mount --bind /dev/pts /mnt/dev/pts
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys

chroot /mnt

# Now let's try to fix Grub:
grub-install /dev/sda

If things went well, you should see a message saying something like:

Installation finished. No error reported

  1. Now we can cleanup and reboot:
# To change back chroot:
exit

# And now we can umount all:
umount /mnt/dev/pts
umount /mnt/dev
umount /mnt/proc
umount /mnt/sys
umount /mnt

# Now we can reboot:
reboot

Got the same issue, fixed by booting a 19.10 "rescue" USB key then, in terminal: (where sda is your disk and sda1 is your partition on the disk.)

$ sudo mount /dev/sda1 /mnt
$ sudo grub-install --root-directory=/mnt /dev/sda

I couldn't get boot-repair (or boot-repair-disk) working, but managed to fix this by booting from a live Ubuntu 19.10 USB, mounting the old disk, entering chroot, and running grub-install and update-grub.

There is a launchpad bug here, which recommends the chroot fix as described here.