Friday, 3 May 2013

ConfigMgr 2012 / SCCM 2012 SP1 Step by Step Guide Part 13e: In place migration XP to Windows 7

Back to main menu

Config Mgr is the only product that can carry out an in-place migration of XP to Windows 7 while retaining user data.

Part 13e of my Config Mgr 2012 SP1 Step by Step Guide details how to do this. 
(Note that I carried out the process below pre-SP1 so there are references to WAIK. This has now been replaced with WADK).

The process is carried out as follows:

1. Create USMT Package
2. Create migration Task Sequence
3. Prepare test device and collection
4. Deploy the Task Sequence
5. Client migration

1. Create USMT Package (Note that this package is automatically created in Config Mgr 2012 SP1)

Locate the USMT folder in C:\Program Files\Windows AIK\Tools 

Copy the folder to your Sources folder. This USMT folder will be used to create a Config Mgr package.

Right click Packages and choose "Create Package"

Browse to the source folder

Name the package and click Next

Choose "Do not create a program"

Click Next to create the USMT package. Don't forget to distribute it to the DPs. (not necessary in SP1) 

2. Create refresh Task Sequence

Edit: Read this first before continuing. Some of these steps now cause this error in later versions of SCCM and USMT. 

C:\_SMSTaskSequence\Packages\HOP00001\x86\migapp.xml ##ERROR## --> /nocompress /hardlink[gle=0x00000006]
An option is specified more than once and is ambiguous

Remove the steps

"Set USMT Additional Capture Options"


"Set USMT Additional Restore Options"

(These options were for ConfigMgr 2007 and used to work in ConfigMgr 2012 RTM - they don't seem to work any more).

and tick the box: "Capture locally by using links instead of copying files" (in the Capture User Files and Settings" step).

Right click Task Sequences and choose to "Create a new task sequence"

Choose to "Install and existing image package"

Name the task sequence and choose a boot image.

Choose your image and enter the licensing and local administrator details.
Note the important setting here - ensure the "Partition and format the target computer" box is unticked.

Configure the domain, OU and domain-join account.

Choose the Config Mgr client package.

Choose to "Capture user settings" and select the USMT package. In this case we will not use the State Migration Point (this is more suitable in a computer replace scenario). 

Choose to "Save user settings locally". This is called hard linking.

Select your Software Update preference

Select any Config Mgr Applications you require.

Confirm your settings and click Next.

Click Close

Note that the task sequence has been created.

Right click the TS and choose Edit.

Choose to migrate all.

Note the Local State Location

Add a New Task Sequence Variable (Set USMT Additional Capture Options)

Configure the new variable as shown
Variable: OSDMigrateAdditionalCaptureOptions
Value: /nocompress /hardlink

Verify the USMT package and settings

Verify the OS image settings. Note that there is no "Partition Disk" stage in this TS.

Verify licensing information and local administrator account settings.

Verify domain, OU and domain-join account.

Verify Config Mgr Client package

Add a New Task Sequence Variable (Set USMT Additional Restore Options)

Variable: OSDMigrateAdditionalRestoreOptions
Value: /nocompress /hardlink

Verify USMT restore settings

Edit: Read this first before continuing. Some of these steps now cause this error in later versions of SCCM and USMT.C:\_SMSTaskSequence\Packages\HOP00001\x86\migapp.xml ##ERROR## --> /nocompress /hardlink[gle=0x00000006]
An option is specified more than once and is ambiguous

Remove the steps

"Set USMT Additional Capture Options"


"Set USMT Additional Restore Options"

(These options were for ConfigMgr 2007 and used to work in ConfigMgr 2012 RTM - they don't seem to work any more).

and tick the box: "Capture locally by using links instead of copying files" (in the Capture User Files and Settings" step).

3. Prepare test device and collection

Test XP device with test file saved to desktop .

Note existing profiles.

Test Collection containing test device.

4. Deploy the Task Sequence

Right click the task sequence and select Deploy

The "Deploy Task Sequence Wizard" starts. Select the TS and the test collection.

Choose "Required" 

Choose "As soon as possible"

Click Next to continue.

5. Client migration

XP device with test file on desktop.

Manually retrieve "Machine Policy" (not required - saving time)

Notified that software is available

The task sequence starts and sets the Local State Location.

User data is being captured by USMT and saved to the Local State location (scanstate.exe)

Manifest files are being downloaded. They are required for USMT to be able to capture all user settings.

Computer now downloads the boot images and restarts (will boot into Windows PE).

Stages boot image


Computer boots into Windows PE

Downloads image file

The computer hard drive could not be formatted as the user data has been saved (hard linked) to the "Local State location" and would be lost. The remainder of the drive is now wiped.

OS image is applied

Computer restarts

Config Mgr client installs and initialises

User data is restored by USMT (loadstate.exe)

Windows 7. Note test file on desktop.


  1. Wow Thanks Gerry Hampson for your great effort.. love the blog..

  2. What happened to part D?

  3. Good question. I've done this but not taken screenshots. Been meaning to get back to it - can't seem to find the time. Soon, I hope

  4. Question, shortly I will be doing an inplace migration on a lab of 50 pc's, i will not be capturing any settings from the old OS, but is it possible to do a multicast in this scenario, without have to boot all the machines to pxe?

  5. Multicast only works while in Windows PE. You can deploy your task sequence to known machines and have then restart into Windows PE (PE and PXE are different things).

    However, your networking must be able to support multicast. This is the tricky bit.

  6. First thanks for all your work on your blogs. Do you have any good resources on how to do the same as above but in a refresh situation? I understand how to get USMT to capture and place the data on a State Migration point, and I sort of understand the linking process that needs to be done within the Console. However, how do we initiate the process on the new hardware? Will that be automatic based off the linking?

  7. The high level steps are as follows:
    • Configure the State Migration Point Role
    • Create a Computer Association for Side-by-Side Deployment
    • Create a USMT Package
    • Capture and Restore User State Data (integrate in Task Sequence)

    You will find the information here:

  8. Where the partition Disk 0-BIOS,partition Disk 0-UEFI and pre provision Bitlocker steps?

  9. Good effort
    Very useful ..Thanks Gerry

  10. Replies
    1. Hi Gerry,

      Thanks for this great XP to 7 Migration guide for SCCM.


  11. Maybe you can mention this is not supported and working anymore in 2012 R2?

  12. Wonderful guide - thanks.
    It's highly appreciated to see such guidance by SCCM2012 Master..Keep going...

  13. Hi ,

    I have followed the same procedure but user profile is not migrating.
    Migration of Windows 7 to Windows 8 has done but issue with USMT.
    I am using SCCM 2012 SP1 .
    How can a rectify this issue.
    Please help me out.

    1. You have the correct version to carry out this migration. You require USMTv5 to migrate to Windows 8. This is included in Windows Assessment & Deployment Kit 8.0, which you must have installed in order to deploy SCCM 2012 SP1.
      Therefore, if the process is not working, you need to troubleshoot. Have a look at SMSTS.log file on the client for issues.

  14. Hi Gerry,
    Great guide, thanks for the nice work. Anon poster on Jan 9th mentioned that this process does not work in 2012 R2. Can you confirm or deny?

    1. The process will work. However you will have manual steps to carry out. The boot images in R2 will not support XP. In order to use this process you will have to import down-level boot images into your R2 environment. Note that you will not be able to add drivers to them. You will have to maintain these boot images externally.

      So, I suppose the answer is - yes, but with a certain amount of difficulty.

    2. Hi Gerry
      see link - MS have released a Hotfix for this. Came across this problem after doing my own R2 implementation. Have yet to test, will let you know once I have.



    3. Thanks Michael. You still have to use down-level boot images to support XP. The boot images native to R2 will not work.

  15. Thanks Gerry for those helpfull tuto.
    By the way, can someone here confirm if the workaround publish by MS worked.

  16. I've just install the hotfix and try a new TS.
    But i'm encountering error 0x800700C1.
    What else shall be done after hotfix install?

  17. Thanks Garry For such wonderful blog... Just now implemented In place upgrade from XP to Win 7 In my Lab .. Appreciate your help :)


  18. Thanks for the guide Gerry!!

    Same problem as Anonymous (3 March 2014): error 0x800700C1, the problem is USMT version -> solution:

  19. Hi Gerry,

    I followed your steps and the hardlinking TS migrate all the profiles on the computer but not the files shortcuts and docs within the Desktop.

    1. What is missing? I believe that the USMT will only migrate valid shortcuts for example. Remember that you have installed a new OS and apps so the shortcuts may not be valid.

      If there is still a problem you need to troubleshoot. Examine the scanstate.log and loadstate.log files.

  20. Hi Gerry,
    i follow your steps but i have a problem, the installation finish at error 0x80004005.

    1. You haven't given enough information.

      What exactly are you trying to do?
      What have you done?
      Where are you seeing the error?
      Have you examined any log files?

  21. Hello Gerry
    I'm having an issue with a refresh from xp to 7 using the task sequence in this blog.
    Everything seems to work properly until it gets to "Restart in Windows PE". Instead of restarting, the PC is shutting down. But after powering on the PC manually, the task sequence continues without problem.
    Here is part of the smsts log i when it tries to restart the PC

    Save the current environment block TSManager 2014-06-13 18:20:20 2816 (0x0B00)
    Executing command line: "bcdedit.exe" TSManager 2014-06-13 18:20:20 2816 (0x0B00)
    CreateProcess failed. Code(0x80070002) TSManager 2014-06-13 18:20:20 2816 (0x0B00)
    Command line execution failed (80070002) TSManager 2014-06-13 18:20:20 2816 (0x0B00)

    1. 0x80070002 = The system cannot find the file specified.

      Generally this is caused by some kind of network issue - often an incorrect NIC driver in the boot image.

  22. Hi Gerry, Thank you very much for the full step by step process, I will really help us to achieve our Refresh and Replace Goals. I have a question, I have everything in place, USMT steps (state capture runs normally, I am able to read capturing groups and settings), however after booting to WinPE, Wiping the disk, Applying the Image, installing apps, at the and of my REFRESH, I dont get my files from my logged in user profile (It seems that the Format is removing everything, but I have created a temp file that remains after the refresh. I also realized that on the StateStore folder on my Windows folder, for the Users portion, I have only the Public profile saved. It seems that all my users are being skipped while the capture is running.

    See the path created after the refresh on my C:

    the only folder there is Public profile, no other user has been captured, however my previously created folder on the C: (temp) has been captured and placed on the StateStore folder.

    Any Idea?

    My environment looks like:

    SCCM 2012 R2 integrated with MDT 2013
    My Customsettings.ini looks like:



    OSDMigrateAdditionalCaptureOptions=/ue:*\* /ui:mgcorp\* /uel:90

    Thanks a lot for your help in advance.

    1. Are you using State Migration or hard-linking Eden? If you are using hard-linking you CANNOT format the drive.

  23. Gerry,

    I'm using 2012 R2. Right now I'm doing a Windows 7 -> Windows 7 for proof of concept on the USMT before trying W10. My main concern is having a task sequence useable through the Software Center. When using pxe and WinPE I'm prompted for a passcode, preventing students from doing anything mischievous. When running it from the Software Center, it starts with no further security measures.

    So let me run a few scenarios past you;
    1. Is it possible to have USMT work after the Task Sequence is initiated in WinPE?
    2. Is it possible to password protect the Task Sequence through the Software Center?
    3. I'm unfamiliar with deploying to users, as we deploy to machines, however if those two options do not work, could I simply deploy to my user account?

    1. 1. Yes, this is USMT Offline migration.
      2. Yes, Niall has a good method here (ConfigMgr integrated with MDT)
      3. You can only deploy task sequences to computers.

  24. hi Engineers thanks for your Article
    but I did all your tutorial but when in client side I want to run the Operation I faced failed , I don't know why , could you help me?