OSD Migration – Windows 10 9926 to 10041 using SCCM 2012 R2
Last week ConfigMgr blogger and Twitter friend Paul Winstanley ran a live blog detailing the process of using SCCM 2012 to upgrade an existing Windows 10 machine from one build (build 9926) to the next (build 10041).
Paul is a number of time zones ahead of me so he had a good head start when I tuned in Tuesday morning. We both ran into a bit of a stumbling block when our upgrades failed.
While Paul ran into this error upgrading 9926 to 10041, I received the same error attempting to upgrade Windows 8.1 to Windows 10 (9926).
In both of our cases the error was triggered by a mismatch of our original OS with the intended OS we were trying to upgrade to. Specifically in my case I was starting with the evaluation version of Windows 8.1 from the TechNet Evaluation Center, so the SKU of my Windows 8.1 machine was “EnterpriseEval” while the Windows 10 SKU was “Enterprise“. This mismatch triggered the error.
While I was troubleshooting the failure I started to document the process of setting this all up in my lab and I decided to share it for others who might be interested in giving this a try.
This document covers setting things up from scratch. It begins with configuring and installing the build 9926 machine and then moves to upgrading that machine to build 10041. Of course while the specifics may differ you can start using a Windows 7 machine and can upgrade to whichever build is currently available for Windows 10, the concepts are the same.
- Windows Technical Preview build 9926
- Windows Technical Preview build 10041
- Windows “vNext” upgrade from the SCCM TechNet blog
Important: Ensure that both editions are identical (SKU, language, architecture) otherwise this will not work.
Copy the contents of each Windows 10 ISO to the source location used by your SCCM infrastructure.
Create a task sequence to deploy the initial Windows 10 (9926) machine.
You can use Johan Arwidmark’s blog posting for information on deploying windows 10 using SCCM 2012.
Add Windows 10 9926 as an Operating System Image
New-CMOperatingSystemImage -Name "Windows 10 Pro 64bit (9926)" -Path \\CM01\_Sources\OSImages\Windows10Pro.9926\sources\install.wim -Version 9926
Create a basic OSD task sequence to deploy an existing image
Create a package for the DISM files for build 9926
(In my example I’m just using the 64bit binaries.)
New-CMPackage -Name "Windows 10 DISM 64bit (9926)" -Path \\CM01\_Sources\Packages\_Win10-DISM_9926\x64 -Version 9926
Edit your OSD task sequence and add the following 2 command lines prior to the “Apply Operating System” action.
Copy WTP DISM Executable
cmd /c copy .\dism.exe x:\windows\system32\ /y
[Select your DISM package]
Copy WTP DISM Subsystem
cmd /c copy .\dism* x:\windows\system32\dism /y
[Select your DISM package]
Create a collection to use for this project
New-CMDeviceCollection -LimitingCollectionName "All Systems" -Name "OS Deployment"
Distribute your OSD content to your DPs
Deploy your OSD sequence to your “OS Deployment” collection
Add your test machine/VM to your “OS Deployment” collection
Boot your test machine/VM and build it with 9926
Preparing the Upgrade Task Sequence
Okay, now that the test machine is rolling along let’s set up for the actual migration.
Follow the instructions in the TechNet blog for setting up the “Windows vNext Upgrade” task sequence.
For the first step in the Preparation portion use the 10041 ISO as the source of your files.
Once you have reached step 4 in the blog, deploy the upgrade task sequence to your “OS Deployment” collection.
Performing the Upgrade
Let’s check the progress of our test machine’s initial build.
Looks like it’s completed
It’ll take some time to settle into SCCM and pull policy, so don’t be surprised if nothing is available in Software Center right away.
And we are on our way…
I hope my Hyper-V host doesn’t run out of disk space…