The first bunch of serial console messages is skipped if the domain is started via "virsh create domain.xml --console". For example a direct Linux kernel boot looks like: $ sudo virsh create domain.xml --console --autodestroy Domain dom created from domain.xml Connected to domain dom Escape character is ^] [ 0.072574] Freeing SMP alternatives: 8k freed [ 0.073859] ACPI: Core revision 20110623 [ 0.076735] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 [ 0.078352] CPU0: Intel QEMU Virtual CPU version 1.1.2 stepping 03 [...] The loss can be reduced by quickly hitting a key after the "Escape" message. Qemu itself does not exhibit this behaviour. It's not specific to Linux either, I first noticed the problem through a missing bootloader menu, which appeared just fine after a Ctrl-L forcing a full screen redraw. Libvirt (virsh) version 0.9.12.
Sorry this didn't receive a timely response. I just tried this with a direct kernel boot and <bios useserial='yes'/>, and the console connected before even seabios started showing any output. So I suspect this is fixed with recent libvirt If anyone can still reproduce, please file a new bug