The breaking difference seems to be: $ grep serial /mnt/debian/boot/grub/grub.cfg $ grep serial /mnt/fedora/boot/grub2/grub.cfg serial terminal_input serial terminal_output serial
And with that hindsight, this can be reproduced also with one-liner: # Hangs $ virt-install --name bookworm --ram 4096 --vcpus 2 --disk size=10 --os-variant debian12 --graphics none --location 'https://ftp.debian.org/debian/dists/bookworm/main/installer-amd64/' # Works $ virt-install --name bookworm --ram 4096 --vcpus 2 --disk size=10 --os-variant debian12 --graphics none --console pty,target_type=serial --location 'https://ftp.debian.org/debian/dists/bookworm/main/installer-amd64/' --extra-args 'console=ttyS0,115200n8 serial' Personally, I'd like the base vagrant image to always start the serial console as that allows disabling graphics from the get go and also allows managing local virtual machines using the `$ virsh console` command. Cheers, Juho