2016-06-30, 23:00
Ran into an issue booting WinPE using WIMBOOT:
- Happens on VMware 5.5 and 6.0 with latest updates.
- Happens whether I use undionly.kpxe, ipxe.pxe or ipxe.kpxe.
- Only happens with VMs that have more than 1 vCPU. 1 vCPU = no problem.
- Only happens when the VM is using a legacy BIOS, no problem if using EFI.
- The WinPE I am using does have drivers injected into it, but I also tested with an unaltered WINPE.WIM with same effect.
- Also booted the WinPE via ISO and it did not BSoD, hence not a driver issue with the WinPE.
- Using latest WIMBOOT 2.5.2.
- No problem with physical hardware with 2 sockets. Problem seems to be limited to VMware VMs.
- Tried VM Hardware types 9, 10 and 11 and also with different versions of Guest OS types.
Code snippet of iPXE script that loads the content:
I also tried without loading the fonts and not specifying the 'gui' option for WIMBOOT.
The BSoD I get with the 64-bit WinPE is PAGE_FAULT_IN_NONPAGED_AREA (STOP: 0x00000050).
The 32-bit WinPE's BSoD is IRQL_NOT_LESS_OR_EQUAL (STOP: 0x0000000A).
If I set the VM to 1 vCPU, it PXE boots fine, loads undionly.kpxe, loads and executes the script, loads all images and starts bootmgr which loads the image files and then starts the WinPE. Everything works as expected.
If I set the VM to 2 vCPU (or more), it PXE boots fine, loads undionly.kpxe, loads and executes the script, loads all images and starts bootmgr which loads the image files and then tries to start Windows at which point it briefly hangs and then shows the BSoD.
If I then change the vCPU count back to 1, it boots fine again. This is true for both the 32-bit and 64-bit WinPE.
Any ideas what can be done here?
Screenshots:
BSOD 64-bit: http://imgur.com/8sTrvvx
BSOD 32-bit: http://imgur.com/F373cGn
WIMBOOT: http://imgur.com/kNInEus
- Happens on VMware 5.5 and 6.0 with latest updates.
- Happens whether I use undionly.kpxe, ipxe.pxe or ipxe.kpxe.
- Only happens with VMs that have more than 1 vCPU. 1 vCPU = no problem.
- Only happens when the VM is using a legacy BIOS, no problem if using EFI.
- The WinPE I am using does have drivers injected into it, but I also tested with an unaltered WINPE.WIM with same effect.
- Also booted the WinPE via ISO and it did not BSoD, hence not a driver issue with the WinPE.
- Using latest WIMBOOT 2.5.2.
- No problem with physical hardware with 2 sockets. Problem seems to be limited to VMware VMs.
- Tried VM Hardware types 9, 10 and 11 and also with different versions of Guest OS types.
Code snippet of iPXE script that loads the content:
Code:
iseq ${arch} 64 && set winpe winpe_x64.wim || set winpe winpe_x86.wim
imgselect ${url}/win/wimboot gui
imgfetch --name bcd ${url}/win/bcd bcd
imgfetch --name boot.sdi ${url}/win/boot.sdi boot.sdi
imgfetch --name segmono_boot.ttf ${url}/win/fonts/segmono_boot.ttf segmono_boot.ttf
imgfetch --name segoe_slboot.ttf ${url}/win/fonts/segoe_slboot.ttf segoe_slboot.ttf
imgfetch --name segoen_slboot.ttf ${url}/win/fonts/segoen_slboot.ttf segoen_slboot.ttf
imgfetch --name wgl4_boot.ttf ${url}/win/fonts/wgl4_boot.ttf wgl4_boot.ttf
imgfetch --name boot.wim ${url}/windows/pxeboot/${winpe} boot.wim
imgexec
I also tried without loading the fonts and not specifying the 'gui' option for WIMBOOT.
The BSoD I get with the 64-bit WinPE is PAGE_FAULT_IN_NONPAGED_AREA (STOP: 0x00000050).
The 32-bit WinPE's BSoD is IRQL_NOT_LESS_OR_EQUAL (STOP: 0x0000000A).
If I set the VM to 1 vCPU, it PXE boots fine, loads undionly.kpxe, loads and executes the script, loads all images and starts bootmgr which loads the image files and then starts the WinPE. Everything works as expected.
If I set the VM to 2 vCPU (or more), it PXE boots fine, loads undionly.kpxe, loads and executes the script, loads all images and starts bootmgr which loads the image files and then tries to start Windows at which point it briefly hangs and then shows the BSoD.
If I then change the vCPU count back to 1, it boots fine again. This is true for both the 32-bit and 64-bit WinPE.
Any ideas what can be done here?
Screenshots:
BSOD 64-bit: http://imgur.com/8sTrvvx
BSOD 32-bit: http://imgur.com/F373cGn
WIMBOOT: http://imgur.com/kNInEus