On the failing VM, the disk layout is
Disk /dev/vda: 55 GiB, 59055800320 bytes, 115343360 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 2B7F2CB1-4DFD-4D7F-AF01-65A16CD1FA67
Device Start End Sectors Size Type
/dev/vda1 48 2047 2000 1000K BIOS boot
/dev/vda2 2048 4196351 4194304 2G Linux swap
/dev/vda3 4196352 115343326 111146975 53G Linux filesystem
Ironically, this was recently working, so I don’t know what has changed since
both VMs are essentially identical except for the disk driver (on the system
where grub is working, the disk is identified by /dev/sda)
The version installed is grub-2.06-r6 (Gentoo).