During my daily work I’m dependant on using BigFix on VMware Workstation 12 for creating, capturing and (test-)deploying OS-images before exporting them to my customer. This has worked flawlessly so far, working with Win7 images. Now, the need to create Win10 images has come and that is when my BSOD hell started. During the last 4-5 days I’ve become more and more confused to as what is happening. After running around in circles, I started from “Square One” again and decided to document what makes me so confused.
The BSODs appear after the first reboot, after loading boot.wim and running sysprep, when capturing images, and after boot.wim has been loaded and booted, when deploying an image.
This is “Square One”:
Deployment Resources:
PE 10 (1709) MDT 8450 USMT10_1709x86,USMT10_1709x64
MDT Bundle Creators and Windows Media:
Target: BIGFIXLAB2
Deployment Kit: WADK 10.0 (1709)
MDT Bundle Creator Version: 3.10.7.0
MDT Version 8450
Installed OS Deployment Servers:
Server Name: NO00999C21B588
Server Version: 7.1.120.31011
In this environment, everything worked perfectly when only Win7 was involved.
I created a VM for Win10 (1809) and customised it to my liking, then tried to capture it an soon found out that PE10 was outdated:
Completed // Verify the release ID of the image being captured is supported by PE10 version. If this step fails, you must import an MDT Bundle with a later version of PE10
Completed parameter “ImageReleaseID” = "{if (version of operating system as string contains “10.0.10240”) then “1507” else if (version of client >= “9.5”) then (releaseid of operating system) else if exists value “ReleaseId” of key “HKLM\Software\Microsoft\Windows NT\CurrentVersion” of registry then value “ReleaseId” of key “HKLM\Software\Microsoft\Windows NT\CurrentVersion” of registry as string else “1507”}"
Completed if {parameter “ImageReleaseID” as integer > 1607}
Completed parameter “Pe10rid” = "1709"
Completed parameter “isAllowedException” = "{if ((parameter “ImageReleaseID” as integer > 1809 And parameter “Pe10rid” as integer = 1809) Or (parameter “ImageReleaseID” as integer = 1709 And parameter “Pe10rid” as integer = 1703) Or (parameter “ImageReleaseID” as integer = 1803 And parameter “Pe10rid” as integer = 1709) Or (parameter “ImageReleaseID” as integer = 1809 And parameter “Pe10rid” as integer = 1803)) then “TRUE” else “FALSE”}"
Failed continue if {parameter “ImageReleaseID” as integer <= parameter “Pe10rid” as integer OR parameter “isAllowedException” = “TRUE”}
endif
Ran Fixlet 62: Deploy Windows Assessment and deployment Kit 10 and selected: WADK for Windows 10 release id 1809 (including WinPE AddOns) towards my Win7 Relay/Bare Metal Server
Completed //Check that the operating system is Windows 8/2012 or later
Failed continue if {version of operating system >= “6.2”}
OK, so Win7 isn’t supported…
My existing MDT bundle creator was on the BigFix server itself, but it did not show up as Relevant. Later I realised that this was because it expects WADK not to be already installed, i.e. it does not support upgrade to a newer WADK…
Relevance 6: NOT exists value “AdkInstallation” of keys “HKLM\SOFTWARE\Microsoft\WIMMount” of (if (x64 of operating system) then native registry else registry)
Booted up a VM with Win 10 Pro 1809 and agent installed
Ran Fixlet 46: Deploy MDT Bundle Creator against Win 10 machine
Ran Create MDT Bundle
Uploaded 1809 MDT Bundle from Win 10 machine
Capture Win10(1809) with WADK 1809/MDT 3.10.10: Bluescreen
A collegue of mine has seen the same bluescreen on occations, and has come around it by changing the “Hardware Compatibility” of the VM from 12x to 10x and the later setting it back to 12x. How he came up with that idea i don’t know, but I certainly had to try it, so here’s the log of trials and tribulations:
Capture after “Change Hardware Compatibility” to 10x fra 12x: Bluescreen
Capture after “Change Hardware Compatibility” to Workstation tilbake til 12x: OK!
Capture Win7 with WADK 1809/MDT 3.10.10: Bluescreen
Capture Win7 with WADK 1709/MDT 3.10.7: Bluescreen
Capture with WADK 1709/MDT 3.10.7 after “Change Hardware Compatibility” til Workstation 10x fra 12x: Bluescreen
Capture with WADK 1709/MDT 3.10.7 after “Change Hardware Compatibility” til Workstation tilbake til 12x: OK!
Capture Win10(1809) with WADK 1809/MDT 3.10.10 @Hardware Compatibility 12.x: OK!
Capture Win7 with WADK 1709/MDT 3.10.7 @Hardware Compatibility 12.x: Bluescreen
Capture Win7 with WADK 1709/MDT 3.10.7 @Hardware Compatibility 10.x: Bluescreen
Capture Win7 with WADK 1709/MDT 3.10.7 @Hardware Compatibility 12.x: OK!
Capture Win10(1809) with WADK 1809/MDT 3.10.10 @Hardware Compatibility 12.x: OK!
Capture Win7 with WADK1709/MDT 3.10.7 @Hardware Compatibility 12.x: OK!
Now, Deployment:
PXE-boot Win7 WADK 1709/MDT 3.10.7 @Hardware Compatibility 12.x: Bluescreen
PXE-boot Win7 WADK 1709/MDT 3.10.7 @Hardware Compatibility 10.x: Bluescreen
PXE-boot Win7 WADK 1709/MDT 3.10.7 @Hardware Compatibility 12.x: Bluescreen
Created new Bare Metal Profile with WADK 1809/MDT 3.10.10
PXE-boot Win7 (Binding menu never shown in GUI at client, jumped to loading boot.wim after a few “waiting for next action” so I dont know which profile got selected): Bluescreen
PXE-boot Win7 WADK 1809/MDT 3.10.10 @Hardware Compatibility 10.x: Bluescreen (Binding menu showed up, selected new profile)
Created new OS MDT Resource for Win10 1809 and uploaded it
PXE-boot Win10(1809) with WADK 1809/MDT 3.10.10 @Hardware Compatibility 12.x: Bluescreen
PXE-boot Win10(1809) with WADK 1809/MDT 3.10.10 @Hardware Compatibility 10.x: Bluescreen
PXE-boot Win10(1809) with WADK 1809/MDT 3.10.10 @Hardware Compatibility 12.x: Bluescreen
Upgraded Bare Metal OS Deployment server from 7.1.1.20.310.11 to 7.1.1.20.310.27
PXE-boot Win7 @Hardware Compatibility 12.x (Binding menu never shown in GUI at client, jumped to loading boot.wim after a few “waiting for next action” so I dont know which profile got selected): Bluescreen
PXE-boot Win7 WADK 1709/MDT 3.10.7 @Hardware Compatibility 10.x: Bluescreen
PXE-boot Win7 @Hardware Compatibility 12.x: (Binding menu never shown in GUI at client, jumped to loading boot.wim after a few “waiting for next action” so I dont know which profile got selected): Bluescreen
PXE-boot Win10(1809) @Hardware Compatibility 12.x (Binding menu never shown in GUI at client, jumped to loading boot.wim after a few “waiting for next action” so I dont know which profile got selected): Bluescreen
PXE-boot Win10(1809) with WADK 1809/MDT 3.10.10 @Hardware Compatibility 10.x: Bluescreen
PXE-boot Win10(1809) with WADK 1809/MDT 3.10.10 @Hardware Compatibility 12.x: @Hardware Compatibility 12.x (Binding menu never shown in GUI at client, jumped to loading boot.wim after a few “waiting for next action” so I dont know which profile got selected): Bluescreen
During all the PXE-boot testing, I sometimes saw the message “Please wait while we are searching and injecting in WinPE (id: xxxxxxxxx) drivers for this machine (model: VMware Workstation Guest)” and also “Error: a loop has been detected for activuity xxxxxxxxx when target was starting from network”. I guess that these are due to the BM server recognising the same machine trying to PXE-boot several times in a row and trying to be smart and sort out any driver problems. I also guess that this “intelligence” in the BM server are the cause of my observation: “Binding menu never shown in GUI at client, jumped to loading boot.wim after a few “waiting for next action” so I dont know which profile got selected”, it trying to be helpful and start off with what was terminated with the Bluescreen…
Just for the sake of it, I rounded off this session by testing capturing again:
Capture Win10(1809) with WADK 1809/MDT 3.10.10 @Hardware Compatibility 12.x: OK!
Capture Win7 with WADK1709/MDT 3.10.7 @Hardware Compatibility 12.x: Bluescreen
Capture Win7 with WADK1709/MDT 3.10.7 @Hardware Compatibility 10.x: OK!
Capture Win7 with WADK 1809/MDT 3.10 @Hardware Compatibility 12.x: Bluescreen
BTW, all VMs used for capture and deployment are non-UEFI.
Can anyone make any sense out of this?