In this post you learn to upgrade an existing ConfigMgr 2012 SP1 and MDT 2012 Update 1 environment to ConfigMgr 2012 R2 and MDT 2013.
Known issues
Before diving into the guide, please note that you need to install the KB2905002 hotfix if you want to do OSD in ConfigMgr 2012 R2. The hotfix solves an issue where PXE feature doesn’t work when using the site server as a DP. The hotfix also solves the OSD performance issues that was reported in ConfigMgr 2012 R2.
Update 2014-03-14: The KB 2905002 hotfix has been replace by the KB 2910552 hotfix. Read more on this post: Do not do OSD in ConfigMgr 2012 R2 without this hotfix.
For more information about installing the hotfix, this blog is a must read: http://blogs.technet.com/b/configmonkey/archive/2013/11/13/deploying-configmgr-hotfixes.aspx
You may also run into that the network account cannot access the server. See later in this guide for workarounds.
Upgrade process overview
In this guide you upgrade a single primary site server named CM01, currently running ConfigMgr 2012 SP1 on Windows Server 2012 and with SQL Server 2012 SP1 installed locally (of course). The ConfigMgr 2012 SP1 installation is also integrated with MDT 2012 Update 1, and has a working OSD environment configured. The high-level steps are the following:
- Backup your ConfigMgr 2012 SP1 server
- Testing the site database for upgrade
- Uninstall ADK 8.0
- Install ADK 8.1 (make sure to download the re-release, available on October 17, 2013)
- Install ConfigMgr 2012 R2
- Install MDT 2013
- Post configuration (fix a few things like creating new boot images, new sequences, and possible fix network access account and PXE)
Backup your ConfigMgr 2012 SP1 server
Before beginning the upgrade, make sure you have a backup of your ConfigMgr 2012 SP1 server. A full image of your ConfigMgr 2012 SP1 virtual machine is optimal, but at least make sure you have SQL Backup of your site server database. Also review the System Center 2012 R2 Configuration Manager Upgrade Checklist on TechNet before continuing.
Note: The best guide for ConfigMgr backup configuration is of course Steve Thompson’s excellent post: SQL Server Backup Recommendations for Configuration Manager
Testing the site database for upgrade
In addition to the backup I highly recommend testing the site database for the upgrade. This by copying the site database to a separate SQL Server (in my case SQL01), and running the ConfigMgr 2012 R2 setup with the /TESTDBUPGRADE command-line option. For more details, see Test the Configuration Manager Site Database for the Upgrade on TechNet.
Successfully testing the site database upgrade after restoring it on a separate SQL server.
Uninstall ADK 8.0
To uninstall ADK 8.0, first close all programs (especially the ConfigMgr admin console) then simply go to Programs and Features, and uninstall ADK 8.0 from there. After the uninstallation, make sure the Windows Kit folder in C:Program Files (x86) was deleted by the setup.
The C:Program Files (x86) folder after uninstalling ADK 8.0.
Install ADK 8.1
To install ADK 8.1, make sure you have have downloaded the ADK 8.1 setup files after October 17, 2013. This since Microsoft re-released the ADK 8.1, and the re-release contains important updates. If you want to download ADK 8.1 before installing, simply select that option during the wizard, or run adksetup.exe /layout "D:\Setup\ADK 8.1".
The ADK 8.1 (re-release) folder after downloading the setup files. Note the new Patches folder.
During the ADK 8.1 setup, select only the following components:
- Deployment Tools
- Windows Preinstallation Environment (Windows PE)
- User State Migration Tool (USMT)
Install ConfigMgr 2012 R2
After ADK 8.1 is installed, you are ready to install ConfigMgr 2012 R2. Run the setup, and select the Upgrade this Configuration Manager site option.
Running the ConfigMgr 2012 R2 upgrade.
Install MDT 2013
To install MDT 2013, first close all programs (especially the ConfigMgr admin console), and the run the MDT 2013 setup with the default settings. Once the setup is complete run the Configure ConfigMgr Integration wizard and select to install the MDT extensions.
Installing the MDT 2013 extensions.
Post configuration
After ConfigMgr 2012 R2 and MDT 2013 are installed you need to do a few more things to make OSD work again. In this section you do the following:
- Create new boot images
- Create one or more task sequences
- Configure the network access account(s)
- Fix PXE
Create new boot images
The ConfigMgr 2012 R2 upgrade process does not upgrade your existing custom boot images, so you need to create two new WinPE 5.0 boot images using the MDT wizard (one for x86 and one for x64). WinPE 5.0 is required to support Windows 8.1 and Windows Server 2012 R2 deployments. Don’t forget to enable the boot images for PXE if you are using that.
Creating the x86 WinPE 5.0 boot image.
Create one or more task sequences
You also need to create a new MDT 2013 package, and that is done during the creation of a new task sequence. I have also found a few time to many, that the upgraded task sequences doesn’t work as expected, so for R2 upgrades I simply always create new task sequences, and copy over any changes from the upgraded ones. The new task sequence(s) you create, should be configured to boot from the WinPE 5.0 boot image, to use the new USMT 6.3 package, and the updated ConfigMgr Client package.
After creating the task sequence, and the MDT 2013 package, don’t forget to distribute it.
Creating the new MDT 2013 package while creating a new task sequence.
Workarounds for known issues
Fix potential Network Access account problems
Sometimes after an upgrade to ConfigMgr 2012 R2 upgrade, the network access account does not work anymore. Workarounds are:
- Create a new network access account and add that (ConfigMgr 2012 R2 can use multiple accounts), and delete the old network access account.
- Create a seccond Dummy user and add that as an NAA, after that you can remove it again and SCCM will now find the original account (Have worked for some, but not all).
Sloooowly downloading the WIM image in ConfigMgr 2012 R2.
Happy Deployment / Johan
– Follow me on Twitter: @jarwidmark
There are unsupported hacks you can do the ConfigMgr 2012 boot image to able to add it to the normal WDS you already have. Meaning you have a single PXE for both MDT 2013 Lite Touch and for ConfigMgr 2012 R2. Might be useful for a transition period.
Linked Replication Shares should never, ever, be used for anything 🙂
/ Johan
Johan First off thank you for the guide; I've been following your work for the past 4 years. I have a question about a scenario in our environment. We have a already established MDT/WDS server for image deployment. I just setup a SCCM server, and I want to integrate it with MDT. The trouble with that is, our PXE is already setup on our WDS server; and so is our Deployment Share. What do you suggest to get them to work together without changing where the PXE server is at. I am unsure how to proceed without doing harm or… Read more »
Oupps, I missed replying to this, sorry… Currently, the best free guides are the guides from Niall Brady, at windows-noob.com.
/ Johan
Can we use parts of this guide to install a new SCCM 2012 environment or can you recommend any other guide?
/JE
You can keep the same CustomSettings.ini but you may have to update the Unattend.xml template depending in what OS you deploy.
As far as WinPE 5.0 goes, yes Windows 8.1 drivers, but often a Windows 8 driver will work.
/ Johan
Great article Johan. Thanks. Couple of quick questions
1) Do you need to recreate the customsettings package (I use the admin DB)
2) With the new WinPE5.0 boot image I assume you have to update any model specific drivers – which version? – is it Win 8.1?
A pleasure to return to the community Johan, especially after your excellent TechEd session last year!
Thanks for the note on access content directly from DP, I have updated the article with that info
/ Johan
Haven't tried hiding the progress bar, but this does not apply for standalone MDT deployments, only ConfigMgr 2012 R2.
/ Johan
I've switched to using "Access content directly from distribution point" to skip the download section – on our gigabit network I apply a 8GB WIM in 5 mins. Only downside is that you obviously can't use multicasting with this enabled, not a big deal for us as we rarely mass-deploy a bunch of new machines all at once. I'm considering leaving this enabled even after the fix since this is actually faster than 2012 SP1.
Since the slowness is related to updating the progress bar, does hiding the progress UI prior to applying the WIM make any difference? Or is the bad code still executing even when the progress bar is hidden?
Also, is this just a ConfigMgr 2012 R2 + MDT 2013 issue, or would it affect standalone MDT 2013 LTI deployments as well?
You can fix the NAA bug the other way around too.
IE create a seccond Dummy user and add that as an NAA.
After that you can remove it again and SCCM will now find the original account
Ok fixed it – silly mistake.
Only one of my task sequences was advertised, and it had 'native' boot image.
After advertising remaining ts it started using my boot images.
For me WDS starts ok, it works relatively good so far, the only thing however no task sequence is shown in the OS deployment list on client with my boot images, it only works if I assign native boot image. If all my ts have assigned boot images (created as per above manual, from latest ADK and MDT2013) the PXE fails (it will not display: press F12 to PXE boot).I have both x86 and x64 versions of all boot images, all have:Data Source -> Deploy this boot image from the PXE-enabled dpThis setting is not set by default, after setting… Read more »
Hi
Have had the same issue, PXE/WDS broken. Reinstalling Wimgapi fixed it
Thnx Joachim
BR
/Per
Hi!
We had similar issues with PXE after upgrading to 2012 R2. The WDS service did not start. After reinstalling PXE on the distribution point the Distmgr.log contained error messages like:
Failed to restart WDS service
Library path mismatch:
Finding Wimgapi.Dll
MsiEnumRelatedProducts failed
FindProduct failed; 0x80070103
MsiEnumRelatedProducts failed
FindProduct failed;
Found C:Windowssystem32wimgapi.dll
SetNamedSecurityInfo() failed.
SetObjectOwner() failed.
SetFileSecurity() failed.
Reinstalling Wimgapi from smswimwimgapi.msi on the site server solved the issue 🙂
Regards
/ Joachim Häggström
PXE works as long as the console isn't installed on the primary site server. Something to do with wimgapi.msi . Over to you Redmond…
Thanks for the comments, I will be posting back any solutions to issues when I come accross them…
/ Johan
Hi Johan,
GREAT ARTICLE! In terms of the slow performance via WinPE when downloading the OS image, I've had one of my customers experience this issue, and it appeared to be related to the built-in driver for the Intel 82579M NIC driver in their environment. They updated to the latest driver for Win8/Win8.1 and it appeared to solve the issue for them.
Curious to see if perhaps this same driver is being used in your environment, or if a similar approach resolves the issue you are seeing?
Thanks!
Keith
KeithMayer.com
On the pxe issues seem to get a 0x8007013 error about the msi can't be enumerated. The cert says it expires in 25/07/2013 . I may be barking up the wrong tree and it still doesn't explain why it works on a seperate dp. Is it because the console is installed on the primary site server, usually?
And far as cmtrace goes, yes it's included in ConfigMgr 2012 R2.
/ Johan
Hi Anders,
Great idea… The short answer: As long as it's the same sql version, it' just adding a backup/restore step of the site server to the new OS before starting the upgrade…
/ Johan
This might be a simple question, but is cmtrace included with 2012r2 installation? Or i need a toolkit package?
Thanks.
Hi Johan,
Would like to see "A Geeks Guide" for migrading a primary site running e.g. (Windows 2008 R2/Windows 2012, SCCM 2012 SP1, MDT 2012 Update 1) -> new primary site Running (Windows 2012 R2, SCCM 2012 R2, SQL 2012 SP1, MDT 2013) with the same server name.
Regards
Anders Jensen