Após mais pesquisas e algumas tentativas e erros, cheguei ao seguinte que tem o comportamento desejado. Em particular, adicionei os parâmetros de inicialização do Linux text single 3
.
menuentry 'Ubuntu console' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-console' {
recordfail
gfxmode text
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 afa3d5b1-2af8-4e3d-b97f-91336a0e70b3
else
search --no-floppy --fs-uuid --set=root afa3d5b1-2af8-4e3d-b97f-91336a0e70b3
fi
linux /boot/vmlinuz-4.4.0-31-generic root=UUID=afa3d5b1-2af8-4e3d-b97f-91336a0e70b3 ro quiet text single 3
initrd /boot/initrd.img-4.4.0-31-generic
}