I managed to workaround the issue with the following change to /usr/lib/linux-boot-prober/mounted/40grub2:
diff --git a/40grub2 b/41grub2-linux16 index 885614e..8b3e179 100755 --- a/40grub2 +++ b/41grub2-linux16 @@ -64,7 +64,7 @@ parse_grub_menu () { ignore_item=1 fi ;; - linux) + linux|linux16) # Hack alert: sed off any (hdn,n) but # assume the kernel is on the same # partition. @@ -77,7 +77,7 @@ parse_grub_menu () { kernel="/boot$kernel" fi ;; - initrd) + initrd|initrd16) initrd="$(echo "$2" | sed 's/(.*)//')" # Initrd same. if [ "$partition" != "$bootpart" ]; then