we still meet similar issue on centos.7 (qemu 2.9.0-16.el7_4.5.1 + libvirt 3.2.0-14.el7_4.3)
my workaround including: a) without kvm accel or b) as comment #7 said "-machine type=pc-i440fx-x" where x <= 2.6 or c) with pci device "disable-modern=on" i found the function _farcall16 in seabios was invoked (https://github.com/coreboot/seabios/blob/af0daeb2687ad2595482b8a71b02a082a5672ceb/src/stacks.c#L418) and failed when guest hang with 'Booting from hard disk'. the invoking sequence (in seabios rel-1.11.0-5-g14d91c3) like : src/boot.c line 614, call_boot_entry-> src/stacks.c line 427, farcall16-> src/stack.c line 411, _farcall16 but the issue perform diff in our two clusters. I just name them cluster A(6.0.0.0 3029758 E5 2640 v2,ststem x3650 M4) and cluster B (6.0.0.0 3029758 E5 2620 v4,system x3650 M5)for easy. This issue in cluster B not be reproduced in cluster A(same qemu/libvirt/esxi) my command: /usr/libexec/qemu-kvm -machine pc-i440fx-rhel7.3.0 \ -m 256 -drive file=centos.qcow2,if=none,id=drive-virtio-disk0 \ -device virtio-blk-pci,disable-modern=on,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0 \ -vnc :1 -chardev stdio,id=seabios -device isa-debugcon,iobase=0x402,chardev=seabios hope the above info can help fix the bug. -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1636217 Title: qemu-kvm 2.7 does not boot kvm VMs with virtio on top of VMware ESX Status in QEMU: New Bug description: After todays Proxmox update all my Linux VMs stopped booting. # How to reproduce - Have KVM on top of VMware ESX (I use VMware ESX 6) - Boot Linux VM with virtio Disk drive. # Result virtio based VMs do not boot anymore: root@demotuxdc:/etc/pve/nodes/demotuxdc/qemu-server# grep virtio0 100.conf bootdisk: virtio0 virtio0: pvestorage:100/vm-100-disk-1.raw,discard=on,size=20G (initially with cache=writethrough, but that doesn´t matter) What happens instead is: - BIOS displays "Booting from harddisk..." - kvm process of VM loops at about 140% of Intel(R) Core(TM) i5-6260U CPU @ 1.80GHz Skylake dual core CPU Disk of course has valid bootsector: root@demotuxdc:/srv/pvestorage/images/100# file -sk vm-100-disk-1.raw vm-100-disk-1.raw: DOS/MBR boot sector DOS/MBR boot sector DOS executable (COM), boot code root@demotuxdc:/srv/pvestorage/images/100# head -c 2048 vm-100-disk-1.raw | hd | grep GRUB 00000170 be 94 7d e8 2e 00 cd 18 eb fe 47 52 55 42 20 00 |..}.......GRUB .| # Workaround 1 - Change disk from virtio0 to scsi0 - Debian boots out of the box after this change - SLES 12 needs a rebuilt initrd - CentOS 7 too, but it seems that is not even enough and it still fails (even in hostonly="no" mode for dracut) # Workaround 2 Downgrade pve-qemu-kvm 2.7.0-3 to 2.6.2-2. # Expected results Disk boots just fine via virtio like it did before. # Downstream bug report Downstream suggests an issue with upstream qemu-kvm: https://bugzilla.proxmox.com/show_bug.cgi?id=1181 To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1636217/+subscriptions