The following warnings occurred:
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 807 - File: showthread.php PHP 7.3.12 (Linux)
File Line Function
/showthread.php 807 errorHandler->error





Post Reply 
 
Thread Rating:
  • 2 Vote(s) - 4.5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
VMware VM with more than 1 vCPU BSoD when loading WinPE using WIMBOOT
2016-06-30, 23:00 (This post was last modified: 2016-06-30 23:18 by pxe_curious.)
Post: #1
VMware VM with more than 1 vCPU BSoD when loading WinPE using WIMBOOT
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:
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
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
VMware VM with more than 1 vCPU BSoD when loading WinPE using WIMBOOT - pxe_curious - 2016-06-30 23:00



User(s) browsing this thread: 1 Guest(s)