Bug 1252134 - BSOD: Failed to create Win10 Enterprise VM
BSOD: Failed to create Win10 Enterprise VM
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm (Show other bugs)
6.8
x86_64 Linux
high Severity urgent
: rc
: ---
Assigned To: Amnon Ilan
Virtualization Bugs
Jiri Herrmann
: TestOnly
: 1293245 (view as bug list)
Depends On:
Blocks: 1172231 1275757 1359965
  Show dependency treegraph
 
Reported: 2015-08-10 15:13 EDT by Swapna Krishnan
Modified: 2017-02-07 09:09 EST (History)
29 users (show)

See Also:
Fixed In Version:
Doc Type: Known Issue
Doc Text:
Limited CPU support for Windows 10 and Windows Server 2016 guests On a Red Hat Enterprise 6 host, Windows 10 and Windows Server 2016 guests can only be created when using the following CPU models: * the Intel Xeon E series * the Intel Xeon E7 family * Intel Xeon v2, v3, and v4 * Opteron G2, G3, G4, G5, and G6 For these CPU models, also make sure to set the CPU model of the guest to match the CPU model detected by running the "virsh capabilities" command on the host. Using the application default or hypervisor default prevents the guests from booting properly. To be able to use Windows 10 guests on Legacy Intel Core 2 processors (also known as Penryn) or Intel Xeon 55xx and 75xx processor families (also known as Nehalem), add the following flag to the Domain XML file, with either Penryn or Nehalem as MODELNAME: <cpu mode='custom' match='exact'> <model>MODELNAME</model> <feature name='erms' policy='require'/> </cpu> Other CPU models are not supported, and both Windows 10 guests and Windows Server 2016 guests created on them are likely to become unresponsive during the boot process.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-05-10 17:00:00 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
BSOD screenshot (16.76 KB, image/png)
2015-08-10 15:13 EDT, Swapna Krishnan
no flags Details
Debug Build BSOD (21.17 KB, image/png)
2015-08-13 13:33 EDT, Swapna Krishnan
no flags Details

  None (edit)
Description Swapna Krishnan 2015-08-10 15:13:36 EDT
Created attachment 1061193 [details]
BSOD screenshot

Description of problem:
In RHEL 6.7, when I tried to create a Win10-Enterprise virtual machine, after the VM boots off the iso, there is a BSOD with error message "Your PC ran into a problem and needs to restart." and Error Code: SYSTEM_THREAD_EXCEPTION_NOT_HANDLED.

The Win10 VM gets created with RHEL 7.1 (as reported by customer) or with Fedora 22 host. 

Version-Release number of selected component (if applicable):
qemu-kvm-0.12.1.2-2.479.el6.x86_64
virt-manager-0.9.0-29.el6.x86_64
en_windows_10_enterprise_x64_dvd_6851151.iso => Win10 Enterprise ISO used

How reproducible:
100%

Steps to Reproduce:
1. Create a Win10 VM through virt-manager by going through the steps at "Create New VirtualMachine"
2. Set 4096 MB RAM and 40GB harddisk space and VNC graphics display and vga driver and to boot from Win10 ISO file. 
3. Power on the VM. Guest BSODs within a couple of seconds. 

Actual results:
BSOD

Expected results:
VM goes through windows installation process and Win10 VM gets created. 

Additional info:
Comment 3 Pavel Hrdina 2015-08-11 10:13:22 EDT
This is most likely qemu-kvm bug, moving it to that component.
Comment 4 Bandan Das 2015-08-11 14:20:00 EDT
Can you try a debug build ? That will show the error code which would be helpful.
Comment 5 lijin 2015-08-11 22:12:48 EDT
should be the same issue with https://bugzilla.redhat.com/show_bug.cgi?id=1223317
Comment 6 Bandan Das 2015-08-11 22:23:10 EDT
(In reply to lijin from comment #5)
> should be the same issue with
> https://bugzilla.redhat.com/show_bug.cgi?id=1223317

Note that bug 1223317 is a RHEL7 bug. If we can get the error code from the BSOD, we can verify if it's the same bug.
Comment 7 David Blechter 2015-08-12 08:56:27 EDT
(In reply to Bandan Das from comment #4)
> Can you try a debug build ? That will show the error code which would be
> helpful.

Did you try to reproduce the bug? What are the results?
Comment 8 David Blechter 2015-08-12 08:58:10 EDT
(In reply to Bandan Das from comment #6)
> (In reply to lijin from comment #5)
> > should be the same issue with
> > https://bugzilla.redhat.com/show_bug.cgi?id=1223317
> 
> Note that bug 1223317 is a RHEL7 bug. If we can get the error code from the
> BSOD, we can verify if it's the same bug.

Is the 1223317 regression? It works on rhel 7.1
Comment 9 Bandan Das 2015-08-12 16:18:24 EDT
(In reply to David Blechter from comment #7)
> (In reply to Bandan Das from comment #4)
> > Can you try a debug build ? That will show the error code which would be
> > helpful.
> 
> Did you try to reproduce the bug? What are the results?

Sorry I don't have a setup handy :( However, I found a preview build with debug enabled. Hopefully, this should be enough to confirm if it's the same as bug 1223317. 

Please download en_windows_10_pro_insider_preview_10074_debug_checked_x64_dvd_6651358.iso from the virtlab415.virt.bos.redhat.com:/sos.

Please check if any of these workarounds work for you -

1. Boot qemu with -cpu Nehalem,+fsgsbase
2. Load the kvm module with ignore_msrs=1 ->
rmmod kvm && modprobe kvm ignore_msrs=1
Comment 10 Swapna Krishnan 2015-08-13 13:33:47 EDT
Created attachment 1062738 [details]
Debug Build BSOD
Comment 11 Swapna Krishnan 2015-08-13 13:36:31 EDT
> Please download
> en_windows_10_pro_insider_preview_10074_debug_checked_x64_dvd_6651358.iso
> from the virtlab415.virt.bos.redhat.com:/sos.

I tried this and have attached screenshot of BSOD with debug build. 

> 
> Please check if any of these workarounds work for you -
> 
> 1. Boot qemu with -cpu Nehalem,+fsgsbase

I tried through virt-manager by changing in Processor options and BSOD still happened

> 2. Load the kvm module with ignore_msrs=1 ->
> rmmod kvm && modprobe kvm ignore_msrs=1

There was no difference with this either.
Comment 12 Bandan Das 2015-08-14 01:41:28 EDT
(In reply to Swapna Krishnan from comment #11)
> > Please download
> > en_windows_10_pro_insider_preview_10074_debug_checked_x64_dvd_6651358.iso
> > from the virtlab415.virt.bos.redhat.com:/sos.
> 
> I tried this and have attached screenshot of BSOD with debug build. 
> 
> > 
> > Please check if any of these workarounds work for you -
> > 
> > 1. Boot qemu with -cpu Nehalem,+fsgsbase
> 
> I tried through virt-manager by changing in Processor options and BSOD still
> happened
> 
> > 2. Load the kvm module with ignore_msrs=1 ->
> > rmmod kvm && modprobe kvm ignore_msrs=1
> 
> There was no difference with this either.

Atleast one of the error codes, 0xc0000096 is bug 1232894 but that behavior afaik isn't applicable anymorein the latest Windows10 release. The rest are different and I don't think are related to bug 1223317 

Vadim is looking into this, added him to cc list,
Comment 13 lijin 2015-08-14 03:53:58 EDT
(In reply to Bandan Das from comment #9)
> (In reply to David Blechter from comment #7)
> > (In reply to Bandan Das from comment #4)
> > > Can you try a debug build ? That will show the error code which would be
> > > helpful.
> > 
> > Did you try to reproduce the bug? What are the results?
> 
> Sorry I don't have a setup handy :( However, I found a preview build with
> debug enabled. Hopefully, this should be enough to confirm if it's the same
> as bug 1223317. 
> 
> Please download
> en_windows_10_pro_insider_preview_10074_debug_checked_x64_dvd_6651358.iso
> from the virtlab415.virt.bos.redhat.com:/sos.
> 
> Please check if any of these workarounds work for you -
> 
> 1. Boot qemu with -cpu Nehalem,+fsgsbase

Guest bsod without "-cpu Nehalem,+fsgsbase" on rhel6;
I tried with "-cpu Nehalem,+fsgsbase",win10-32 can be boot/installed correctly,no bsod.

package info:
qemu-kvm-rhev-0.12.1.2-2.479.el6.x86_64
kernel-2.6.32-572.el6.x86_64
seabios-0.6.1.2-30.el6.x86_64

qemu command:
/usr/libexec/qemu-kvm -name 109RNGW10D32AIC -enable-kvm -m 3G -smp 4 -uuid c2575de7-9236-425d-8adf-5f07a6d46ddd -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/tmp/109RNGW10D32AIC,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -boot order=cd,menu=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=109RNGW10D32AIC,if=none,id=drive-ide0-0-0,format=raw,serial=mike_cao,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive file=en_windows_10_enterprise_x86_dvd_6851156.iso,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -drive file=109RNGW10D32AIC.vfd,if=none,id=drive-fdc0-0-0,format=raw,cache=none -global isa-fdc.driveA=drive-fdc0-0-0 -netdev tap,script=/etc/qemu-ifup,downscript=no,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=00:52:6e:4b:05:de,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=isa_serial0 -device usb-tablet,id=input0 -vnc 0.0.0.0:0 -vga cirrus -cpu Nehalem,+fsgsbase
Comment 14 Bandan Das 2015-08-24 17:36:36 EDT
(In reply to lijin from comment #13)
> (In reply to Bandan Das from comment #9)
> > (In reply to David Blechter from comment #7)
> > > (In reply to Bandan Das from comment #4)
> > > > Can you try a debug build ? That will show the error code which would be
> > > > helpful.
> > > 
> > > Did you try to reproduce the bug? What are the results?
> > 
> > Sorry I don't have a setup handy :( However, I found a preview build with
> > debug enabled. Hopefully, this should be enough to confirm if it's the same
> > as bug 1223317. 
> > 
> > Please download
> > en_windows_10_pro_insider_preview_10074_debug_checked_x64_dvd_6651358.iso
> > from the virtlab415.virt.bos.redhat.com:/sos.
> > 
> > Please check if any of these workarounds work for you -
> > 
> > 1. Boot qemu with -cpu Nehalem,+fsgsbase
> 
> Guest bsod without "-cpu Nehalem,+fsgsbase" on rhel6;
> I tried with "-cpu Nehalem,+fsgsbase",win10-32 can be boot/installed
> correctly,no bsod.

Thank you for testing. The complication here is that backporting the rhel7 fix means creating a new machine type for rhel6...Sigh..
Comment 15 Eduardo Habkost 2015-10-07 10:53:53 EDT
(In reply to Bandan Das from comment #14)
> Thank you for testing. The complication here is that backporting the rhel7
> fix means creating a new machine type for rhel6...Sigh..

If we are not changing any defaults and already require the user to change something in the VM configuration explicitly, a new machine-type is not necessary. We can just let the user explicitly enable +fsgsbase, instead.
Comment 16 lijin 2015-10-21 22:25:40 EDT
I try win10-64 guest today,guest will bsod with or without "-cpu Nehalem,+fsgsbase";
"-cpu Nehalem,+fsgsbase" only works for win10-32,not win10-64

package info:
qemu-kvm-rhev-0.12.1.2-2.479.el6_7.2.x86_64
kernel-2.6.32-573.el6.x86_64
seabios-0.6.1.2-30.el6.x86_64

qemu command:
/usr/libexec/qemu-kvm -name 105RNGW10D64XPQ -enable-kvm -m 3G -smp 4 -uuid 9a9ac631-454e-4761-96d9-2791643c506c -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/tmp/105RNGW10D64XPQ,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -boot order=cd,menu=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=105RNGW10D64XPQ,if=none,id=drive-ide0-0-0,format=raw,serial=mike_cao,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive file=en_windows_10_enterprise_x64_dvd_6851151.iso,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -drive file=105RNGW10D64XPQ.vfd,if=none,id=drive-fdc0-0-0,format=raw,cache=none -global isa-fdc.driveA=drive-fdc0-0-0 -netdev tap,script=/etc/qemu-ifup,downscript=no,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=00:52:55:7b:cd:da,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=isa_serial0 -device usb-tablet,id=input0 -vnc 0.0.0.0:1 -vga cirrus -cpu Nehalem,+fsgsbase -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0
Comment 17 Bandan Das 2015-10-22 14:59:18 EDT
(In reply to lijin from comment #16)
> I try win10-64 guest today,guest will bsod with or without "-cpu
> Nehalem,+fsgsbase";
> "-cpu Nehalem,+fsgsbase" only works for win10-32,not win10-64

Did you set ignore_msrs=1 ? You probably need that too.

> package info:
> qemu-kvm-rhev-0.12.1.2-2.479.el6_7.2.x86_64
> kernel-2.6.32-573.el6.x86_64
> seabios-0.6.1.2-30.el6.x86_64
> 
> qemu command:
> /usr/libexec/qemu-kvm -name 105RNGW10D64XPQ -enable-kvm -m 3G -smp 4 -uuid
> 9a9ac631-454e-4761-96d9-2791643c506c -nodefconfig -nodefaults -chardev
> socket,id=charmonitor,path=/tmp/105RNGW10D64XPQ,server,nowait -mon
> chardev=charmonitor,id=monitor,mode=control -rtc
> base=localtime,driftfix=slew -boot order=cd,menu=on -device
> piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive
> file=105RNGW10D64XPQ,if=none,id=drive-ide0-0-0,format=raw,serial=mike_cao,
> cache=none -device
> ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive
> file=en_windows_10_enterprise_x64_dvd_6851151.iso,if=none,media=cdrom,
> id=drive-ide0-1-0,readonly=on,format=raw -device
> ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -drive
> file=105RNGW10D64XPQ.vfd,if=none,id=drive-fdc0-0-0,format=raw,cache=none
> -global isa-fdc.driveA=drive-fdc0-0-0 -netdev
> tap,script=/etc/qemu-ifup,downscript=no,id=hostnet0 -device
> rtl8139,netdev=hostnet0,id=net0,mac=00:52:55:7b:cd:da,bus=pci.0,addr=0x3
> -chardev pty,id=charserial0 -device
> isa-serial,chardev=charserial0,id=isa_serial0 -device usb-tablet,id=input0
> -vnc 0.0.0.0:1 -vga cirrus -cpu Nehalem,+fsgsbase -object
> rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0
Comment 18 lijin 2015-10-22 22:44:13 EDT
(In reply to Bandan Das from comment #17)
> (In reply to lijin from comment #16)
> > I try win10-64 guest today,guest will bsod with or without "-cpu
> > Nehalem,+fsgsbase";
> > "-cpu Nehalem,+fsgsbase" only works for win10-32,not win10-64
> 
> Did you set ignore_msrs=1 ? You probably need that too.

still not work after load the kvm module with ignore_msrs=1
Comment 19 Bandan Das 2015-10-23 12:30:41 EDT
(In reply to lijin from comment #18)
> (In reply to Bandan Das from comment #17)
> > (In reply to lijin from comment #16)
> > > I try win10-64 guest today,guest will bsod with or without "-cpu
> > > Nehalem,+fsgsbase";
> > > "-cpu Nehalem,+fsgsbase" only works for win10-32,not win10-64
> > 
> > Did you set ignore_msrs=1 ? You probably need that too.
> 
> still not work after load the kvm module with ignore_msrs=1

Can you get a list of what error codes you are getting from Windows ? You probably need a debug build for that.
Comment 20 lijin 2015-10-26 03:38:14 EDT
(In reply to Bandan Das from comment #19)
> (In reply to lijin from comment #18)
> > (In reply to Bandan Das from comment #17)
> > > (In reply to lijin from comment #16)
> > > > I try win10-64 guest today,guest will bsod with or without "-cpu
> > > > Nehalem,+fsgsbase";
> > > > "-cpu Nehalem,+fsgsbase" only works for win10-32,not win10-64
> > > 
> > > Did you set ignore_msrs=1 ? You probably need that too.
> > 
> > still not work after load the kvm module with ignore_msrs=1
> 
> Can you get a list of what error codes you are getting from Windows ? You
> probably need a debug build for that.

it's the same bsod code with attachment "BSOD screenshot".

change cpu to "Westmere" does not hit this issue,both win10-32 and win10-64 can install/boot correctly.
Comment 22 Radim Krčmář 2015-10-26 12:49:02 EDT
fsgsbase does the trick with 32 bit windows so we are hitting more than just the problem from 1223317.

Can you get a `trace-cmd record -e 'kvm:*'`?  (We might be able to see a #GP.)

Thanks.
Comment 24 lijin 2015-10-28 05:46:08 EDT
QE run Windows 10 sanity test on rhel6 host recently(boot win10 on rhel6 host with different cpu model),the detailed info can be checked in page https://mojo.redhat.com/docs/DOC-1052943.
In this page,win10-64 can boot normally with "-cpu Nehalem,+fsgsbase".

I'm not sure why on different host,win10-64 guest behaves differently,you can get the detailed host info on that page too.

Anything else,please let me know.
Comment 37 lijin 2016-02-25 22:28:44 EST
QE have finished following windows 10 testing on rhel6.7-z and rhel7.2 with machine type rhel6.5.0,all tests passed.
1.virtio-win-1.8.0-4 Function Test on RHEL6.7-z host - PASS
2.virtio-win-1.8.0-4 WHQL CHAOS Test on RHEL6.7-z host - PASS
3.virtio-win-1.8.0-4 Sanity Test on RHEL7.2 host - PASS
4.kvm functional base testing by autotest- PASS

For the details,please refer to "Windows 10 Support Test Report" https://mojo.redhat.com/docs/DOC-1054973
Comment 39 errata-xmlrpc 2016-05-10 17:00:00 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-0815.html
Comment 41 Paolo Bonzini 2016-08-01 07:16:13 EDT
I think using fsgsbase is risky if the host does not support it.  Could we use erms instead?  Unlike fsgsbase it doesn't specify the existence of any instruction.

Also, perhaps we can mention that the cause is a bug in Windows 10...
Comment 44 Paolo Bonzini 2016-08-03 17:03:35 EDT
The docs say:

> To be able to use Windows 10 guests on Legacy Intel Core 2 processors (also 
> known as Penryn) or Intel Xeon 55xx and 75xx processor families (also known as 
> Nehalem), add the following flag to the Domain XML file, with either Penryn or 
> Nehalem as MODELNAME: 

This allows you to specify a (modified) Penryn or Nehalem CPU model that runs Windows 10, but you'll still need an Ivy Bridge or newer CPU on the host.

Using the erms flag would allow you to use Windows 10 on Penryn or Nehalem.
Comment 57 CongLi 2017-02-06 04:23:39 EST
*** Bug 1293245 has been marked as a duplicate of this bug. ***

Note You need to log in before you can comment on or make changes to this bug.