graphic: 0.946 other: 0.922 semantic: 0.912 device: 0.907 assembly: 0.906 vnc: 0.896 instruction: 0.893 mistranslation: 0.882 KVM: 0.861 boot: 0.849 socket: 0.830 network: 0.798 QEMU (still) hangs on Windows 7 install I'm trying to install Windows 7 as guest, but the machine still hangs (more precisely, the windows icon keeps flashing, but never goes past this stage). I think this is a different bug from https://bugs.launchpad.net/qemu/+bug/1581936. Specifically, its happens when the OVMF BIOS is used, and I can't find any workaround (in the above bug, by changing the display, the installation doesn't hang). The most minimal commandline that reproduces the issue is (generic format): $QEMU_BINARY \ -drive if=pflash,format=raw,readonly,file=$QEMU_BIOS \ -drive if=pflash,format=raw,file=$QEMU_BIOS_TMP \ -enable-kvm \ -m $QEMU_MEMORY \ -display std \ -cpu host,kvm=off -smp 4,sockets=1,cores=4 \ -cdrom $QEMU_WINDOWS_7_CD \ ; I'm using `OVMF_15214.fd` as BIOS. I'll assume "OVMF_15214.fd" is from . It's an ancient build of OVMF (older than two and half years). The binary packaged in that ZIP file isn't even a split one, it's a unified binary that is unsuitable for the command line that you've given above. Please either grab the most recent OVMF build from your distribution, or a bleeding edge build from (recommended). Then create a copy of the varstore template, to be used as the VM's own private variable store. Also, fix the "-display std" command line option, as in "-vga std". It will just work then. Below I'll specify the commands that I just re-tested. Note that I'm also renaming the QEMU_BIOS and QEMU_BIOS_TMP variables (whose names are quite inappropriate) to FIRMWARE_BINARY and VARIABLE_STORE. # this binary corresponds to upstream git cc9a366d3b16, # dated "Thu Sep 29 00:34:20 2016 +0100" QEMU_BINARY=/opt/qemu-installed/bin/qemu-system-x86_64 # these files are from package # "edk2.git-ovmf-x64-0-20160929.b2144.g84bc72f.noarch", installed # from kraxel.org FIRMWARE_BINARY=/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd VARIABLE_STORE_TEMPLATE=/usr/share/edk2.git/ovmf-x64/OVMF_VARS-pure-efi.fd VARIABLE_STORE=/tmp/guest1-vars.fd # Windows 7 installer disk QEMU_WINDOWS_7_CD=en_windows_7_enterprise_n_with_sp1_x64_dvd_u_677704.iso # other settings QEMU_MEMORY=2048 # create empty variable store from pristine template if the varstore doesn't # exist yet, or has been lost for some reason if ! [ -e "$VARIABLE_STORE" ]; then cp -v -- "$VARIABLE_STORE_TEMPLATE" "$VARIABLE_STORE" fi $QEMU_BINARY \ -drive if=pflash,format=raw,readonly,file="$FIRMWARE_BINARY" \ -drive if=pflash,format=raw,file="$VARIABLE_STORE" \ -enable-kvm \ -m $QEMU_MEMORY \ -vga std \ -cpu host,kvm=off -smp 4,sockets=1,cores=4 \ -cdrom $QEMU_WINDOWS_7_CD Thanks! Using the OVMF provided with the Ubuntu 16.04 packages solved the issue.