Introduction
If you are using System Center 2012 Configuration Manager SP1 to migrate your computers from Windows XP to Windows 7 (or Windows 8) then you’ll be using USMT 5 (from the Windows 8 ADK). The return codes and error messages for this version of USMT have been updated since the release of USMT 4 and it’s good to know where they are and what they are.
Today while testing Offline (hardlinking in WinPE) migrations from Windows 7 to Windows 7 I encountered a USMT return code 3 and I wasn’t familiar with the return code. I had to find the USMT return codes for USMT 5 in order to understand the reason it was happening and how to resolve it.
Problem
When running loadstate I was using a wrapper to ‘catch’ error codes and process them, but I wasn’t catching Return Code 3 as I wasn’t aware of that return code (it didn’t exist in USMT 4 and is not listed in the USMT 4 return codes either).
Here are the definitive list of USMT 5 return codes, based on the table provided I could see that USMT return code 3 = USMT_WOULD_HAVE_FAILED which meant that I had to review the loadstate.log file to see what additional information was processed.
3 | USMT_WOULD_HAVE_FAILED | At least one error was skipped as a result of /c | Review ScanState, LoadState, or UsmtUtils log for details about command-line errors. |
The loadstate.log revealed the reason why (scroll to the end of the log),
2013-10-16 22:22:02, Info [0x000000] 20 migration errors would have been fatal if not for /c. See the log for more information[gle=0x00000012]
Solution
After reviewing the loadstate.log I determined that the errors were superficial and safe to ignore. By allowing for USMT return code 3 (based on the info in loadstate.log) in my loadstate error catcher script I was able to complete USMT successfully.
If(retCode <> 0 And retCode <> 3 And retCode <> 61) Then
Set oTSProgressUI = CreateObject(“Microsoft.SMS.TSProgressUI”)
oTSProgressUI.CloseProgressDialog()
MsgBox “WARNING: USMT returned exit code ” & retCode & “.” & vbCrLf & _
“Please check c:\Windows\temp\loadstate.log for details” & vbCrLf & _
“Press OK to continue.”, 48
End If
The entire USMT return codes for USMT 5 are listed below for your reference.
Return code value | Return code | Error message | Troubleshooting, mitigation, workarounds | Category |
---|---|---|---|---|
0 | USMT_SUCCESS | Successful run | Not applicable | Success or Cancel |
1 | USMT_DISPLAY_HELP | Command line help requested | Not applicable | Success or Cancel |
2 | USMT_STATUS_CANCELED | Gather was aborted because of an EFS file | Not applicable | |
User chose to cancel (such as pressing CTRL+C) | Not applicable | Success or Cancel | ||
3 | USMT_WOULD_HAVE_FAILED | At least one error was skipped as a result of /c | Review ScanState, LoadState, or UsmtUtils log for details about command-line errors. | |
11 | USMT_INVALID_PARAMETERS | /all conflicts with /ui, /ue or /uel | Review ScanState log or LoadState log for details about command-line errors. | |
/auto expects an optional parameter for the script folder | Review ScanState log or LoadState log for details about command-line errors. | |||
/encrypt can’t be used with /nocompress | Review ScanState log or LoadState log for details about command-line errors. | |||
/encrypt requires /key or /keyfile | Review ScanState log or LoadState log for details about command-line errors. | |||
/genconfig can’t be used with most other options | Review ScanState log or LoadState log for details about command-line errors. | |||
/genmigxml can’t be used with most other options | Review ScanState log or LoadState log for details about command-line errors. | |||
/hardlink requires /nocompress | Review ScanState log or LoadState log for details about command-line errors. | |||
/key and /keyfile both specified | Review ScanState log or LoadState log for details about command-line errors. | |||
/key or /keyfile used without enabling encryption | Review ScanState log or LoadState log for details about command-line errors. | |||
/lae is only used with /lac | Review ScanState log or LoadState log for details about command-line errors. | |||
/listfiles cannot be used with /p | Review ScanState log or LoadState log for details about command-line errors. | |||
/offline requires a valid path to an XML file describing offline paths | Review ScanState log or LoadState log for details about command-line errors. | |||
/offlinewindir requires a valid path to offline windows folder | Review ScanState log or LoadState log for details about command-line errors. | |||
/offlinewinold requires a valid path to offline windows folder | Review ScanState log or LoadState log for details about command-line errors. | |||
A command was already specified | Verify that the command-line syntax is correct and that there are no duplicate commands. | |||
An option argument is missing | Review ScanState log or LoadState log for details about command-line errors. | |||
An option is specified more than once and is ambiguous | Review ScanState log or LoadState log for details about command-line errors. | |||
By default /auto selects all users and uses the highest log verbosity level. Switches like /all, /ui, /ue, /v are not allowed. | Review ScanState log or LoadState log for details about command-line errors. | |||
Command line arguments are required. Specify /? for options. | Review ScanState log or LoadState log for details about command-line errors. | |||
Command line option is not valid | Review ScanState log or LoadState log for details about command-line errors. | |||
EFS parameter specified is not valid for /efs | Review ScanState log or LoadState log for details about command-line errors. | |||
File argument is invalid for /genconfig | Review ScanState log or LoadState log for details about command-line errors. | |||
File argument is invalid for /genmigxml | Review ScanState log or LoadState log for details about command-line errors. | |||
Invalid space estimate path. Check the parameters and/or file system permissions | Review ScanState log or LoadState log for details about command-line errors. | |||
List file path argument is invalid for /listfiles | Review ScanState log or LoadState log for details about command-line errors. | |||
Retry argument must be an integer | Review ScanState log or LoadState log for details about command-line errors. | |||
Settings store argument specified is invalid | Review ScanState log or LoadState log for details about command-line errors. Make sure that the store path is accessible and that the proper permission levels are set. | |||
Specified encryption algorithm is not supported | Review ScanState log or LoadState log for details about command-line errors. | |||
The /efs:hardlink requires /hardlink | Review ScanState log or LoadState log for details about command-line errors. | |||
The /targetWindows7 option is only available for Windows XP, Windows Vista®, and Windows 7 | Review ScanState log or LoadState log for details about command-line errors. | |||
The store parameter is required but not specified | Review ScanState log or LoadState log for details about command-line errors. | |||
The source-to-target domain mapping is invalid for /md | Review ScanState log or LoadState log for details about command-line errors. | |||
The source-to-target user account mapping is invalid for /mu | Review ScanState log or LoadState log for details about command-line errors. | |||
Undefined or incomplete command line option | Review ScanState log or LoadState log for details about command-line errors. | Invalid Command Lines | ||
Use /nocompress, or provide an XML file path with /p”pathtoafile” to get a compressed store size estimate | Review ScanState log or LoadState log for details about command-line errors. | |||
User exclusion argument is invalid | Review ScanState log or LoadState log for details about command-line errors. | |||
Verbosity level must be specified as a sum of the desired log options: Verbose (0x01), Record Objects (0x04), Echo to debug port (0x08) | Review ScanState log or LoadState log for details about command-line errors. | |||
Volume shadow copy feature is not supported with a hardlink store | Review ScanState log or LoadState log for details about command-line errors. | |||
Wait delay argument must be an integer | Review ScanState log or LoadState log for details about command-line errors. | |||
12 | USMT_ERROR_OPTION_PARAM_TOO_LARGE | Command line arguments cannot exceed 256 characters | Review ScanState log or LoadState log for details about command-line errors. | Invalid Command Lines |
Specified settings store path exceeds the maximum allowed length of 256 characters | Review ScanState log or LoadState log for details about command-line errors. | |||
13 | USMT_INIT_LOGFILE_FAILED | Log path argument is invalid for /l | When /l is specified in the ScanState command line, USMT validates the path. Verify that the drive and other information, for example file system characters, are correct. | Invalid Command Lines |
14 | USMT_ERROR_USE_LAC | Unable to create a local account because /lac was not specified | When creating local accounts, the command-line options /lac and /lae should be used. | Invalid Command Lines |
26 | USMT_INIT_ERROR | Multiple Windows installations found | Listfiles.txt could not be created. Verify that the location you specified for the creation of this file is valid. | Setup and Initialization |
Software malfunction or unknown exception | Check all loaded .xml files for errors, common error when using /I to load the Config.xml file. | |||
Unable to find a valid Windows directory to proceed with requested offline operation; Check if offline input file is present and has valid entries | Verify that the offline input file is present and that it has valid entries. USMT could not find valid offline operating system. Verify your offline directory mapping. | |||
27 | USMT_INVALID_STORE_LOCATION | A store path can’t be used because an existing store exists; specify /o to overwrite | Specify /o to overwrite an existing intermediate or migration store. | Setup and Initialization |
A store path is missing or has incomplete data | Make sure that the store path is accessible and that the proper permission levels are set. | |||
An error occurred during store creation | Make sure that the store path is accessible and that the proper permission levels are set. Specify /o to overwrite an existing intermediate or migration store. | |||
An inappropriate device such as a floppy disk was specified for the store | Make sure that the store path is accessible and that the proper permission levels are set. | |||
Invalid store path; check the store parameter and/or file system permissions | Invalid store path; check the store parameter and/or file system permissions | |||
The file layout and/or file content is not recognized as a valid store | Make sure that the store path is accessible and that the proper permission levels are set. Specify /o to overwrite an existing intermediate or migration store. | |||
The store path holds a store incompatible with the current USMT version | Make sure that the store path is accessible and that the proper permission levels are set. | |||
The store save location is read-only or does not support a requested storage option | Make sure that the store path is accessible and that the proper permission levels are set. | |||
28 | USMT_UNABLE_GET_SCRIPTFILES | Script file is invalid for /i | Check all specified migration .xml files for errors. This is a common error when using /i to load the Config.xml file. | Setup and Initialization |
Unable to find a script file specified by /i | Verify the location of your script files, and ensure that the command-line options are correct. | |||
29 | USMT_FAILED_MIGSTARTUP | A minimum of 250 MB of free space is required for temporary files | Verify that the system meets the minimum temporary disk space requirement of 250 MB. As a workaround, you can set the environment variable USMT_WORKING_DIR=<path> to redirect the temporary files working directory. | Setup and Initialization |
Another process is preventing migration; only one migration tool can run at a time | Check the ScanState log file for migration .xml file errors. | |||
Failed to start main processing, look in log for system errors or check the installation | Check the ScanState log file for migration .xml file errors. | |||
Migration failed because of an XML error; look in the log for specific details | Check the ScanState log file for migration .xml file errors. | |||
Unable to automatically map the drive letters to match the online drive letter layout; Use /offline to provide a mapping table | Check the ScanState log file for migration .xml file errors. | |||
31 | USMT_UNABLE_FINDMIGUNITS | An error occurred during the discover phase; the log should have more specific information | Check the ScanState log file for migration .xml file errors. | Setup and Initialization |
32 | USMT_FAILED_SETMIGRATIONTYPE | An error occurred processing the migration system | Check the ScanState log file for migration .xml file errors, or use online Help by typing /? on the command line. | Setup and Initialization |
33 | USMT_UNABLE_READKEY | Error accessing the file specified by the /keyfile parameter | Check the ScanState log file for migration .xml file errors, or use online Help by typing /? on the command line. | Setup and Initialization |
The encryption key must have at least one character | Check the ScanState log file for migration .xml file errors, or use online Help by typing /? on the command line. | |||
34 | USMT_ERROR_INSUFFICIENT_RIGHTS | Directory removal requires elevated privileges | Log on as Administrator, and run with elevated privileges. | Setup and Initialization |
No rights to create user profiles; log in as Administrator; run with elevated privileges | Log on as Administrator, and run with elevated privileges. | |||
No rights to read or delete user profiles; log in as Administrator, run with elevated privileges | Log on as Administrator, and run with elevated privileges. | |||
35 | USMT_UNABLE_DELETE_STORE | A reboot is required to remove the store | Reboot to delete any files that could not be deleted when the command was executed. | Setup and Initialization |
A store path can’t be used because it contains data that could not be overwritten | A migration store could not be deleted. If you are using a hardlink migration store you might have a locked file in it. You should manually delete the store, or use usmtutils /rd command to delete the store. | |||
There was an error removing the store | Review ScanState log or LoadState log for details about command-line errors. | |||
36 | USMT_ERROR_UNSUPPORTED_PLATFORM | Compliance check failure; please check the logs for details | Investigate whether there is an active temporary profile on the system. | Setup and Initialization |
Use of /offline is not supported during apply | The /offline command was not used while running in the Windows Preinstallation Environment (Windows PE). | |||
Use /offline to run gather on this platform | The /offline command was not used while running in Windows PE. | |||
37 | USMT_ERROR_NO_INVALID_KEY | The store holds encrypted data but the correct encryption key was not provided | Verify that you have included the correct encryption /key or /keyfile. | Setup and Initialization |
38 | USMT_ERROR_CORRUPTED_NOTENCRYPTED_STORE | An error occurred during store access | Review ScanState log or LoadState log for details about command-line errors. Make sure that the store path is accessible and that the proper permission levels are set. | Setup and Initialization |
39 | USMT_UNABLE_TO_READ_CONFIG_FILE | Error reading Config.xml | Review ScanState log or LoadState log for details about command-line errors in the Config.xml file. | Setup and Initialization |
File argument is invalid for /config | Check the command line you used to load the Config.xml file. You can use online Help by typing /? on the command line. | |||
40 | USMT_ERROR_UNABLE_CREATE_PROGRESS_LOG | Error writing to the progress log | The Progress log could not be created. Verify that the location is valid and that you have write access. | Setup and Initialization |
Progress log argument is invalid for /progress | The Progress log could not be created. Verify that the location is valid and that you have write access. | |||
41 | USMT_PREFLIGHT_FILE_CREATION_FAILED | Can’t overwrite existing file | The Progress log could not be created. Verify that the location is valid and that you have write access. | Setup and Initialization |
Invalid space estimate path. Check the parameters and/or file system permissions | Review ScanState log or LoadState log for details about command-line errors. | |||
42 | USMT_ERROR_CORRUPTED_STORE | The store contains one or more corrupted files | Review UsmtUtils log for details about the corrupted files. For information on how to extract the files that are not corrupted, see Extract Files from a Compressed USMT Migration Store. | |
61 | USMT_MIGRATION_STOPPED_NONFATAL | Processing stopped due to an I/O error | USMT exited but can continue with the /c command-line option, with the optional configurable <ErrorControl> section or by using the /vsc command-line option. | Non-fatal Errors |
71 | USMT_INIT_OPERATING_ENVIRONMENT_FAILED | A Windows Win32 API error occurred | Data transfer has begun, and there was an error during the creation of migration store or during the apply phase. Review the ScanState log or LoadState log for details. | Fatal Errors |
An error occurred when attempting to initialize the diagnostic mechanisms such as the log | Data transfer has begun, and there was an error during the creation of migration store or during the apply phase. Review the ScanState log or LoadState log for details. | |||
Failed to record diagnostic information | Data transfer has begun, and there was an error during the creation of migration store or during the apply phase. Review the ScanState log or LoadState log for details. | |||
Unable to start. Make sure you are running USMT with elevated privileges | Exit USMT and log in again with elevated privileges. | |||
72 | USMT_UNABLE_DOMIGRATION | An error occurred closing the store | Data transfer has begun, and there was an error during migration-store creation or during the apply phase. Review the ScanState log or LoadState log for details. | Fatal Errors |
An error occurred in the apply process | Data transfer has begun, and there was an error during migration-store creation or during the apply phase. Review the ScanState log or LoadState log for details. | |||
An error occurred in the gather process | Data transfer has begun, and there was an error during migration-store creation or during the apply phase. Review the ScanState log or LoadState log for details. | |||
Out of disk space while writing the store | Data transfer has begun, and there was an error during migration-store creation or during the apply phase. Review the ScanState log or LoadState log for details. | |||
Out of temporary disk space on the local system | Data transfer has begun, and there was an error during migration-store creation or during the apply phase. Review the ScanState log or LoadState log for details. |
Recommended reading
- USMT 5 Return codes – http://technet.microsoft.com/en-us/library/hh824897.aspx
- USMT 4 Return codes – http://technet.microsoft.com/en-us/library/dd823291%28v=ws.10%29.aspx
- Windows Assessment and Deployment Kit (ADK) for Windows® 8 – http://www.microsoft.com/en-us/download/details.aspx?id=30652
- User State Migration Tool (USMT) Troubleshooting – http://technet.microsoft.com/en-us/library/hh825268.aspx
Pingback: System Center 2012 Configuration Manager Step By Step Guides | just another windows noob ?
Pingback: How To Fix Mdt Fatal Error Is Returned In Check For Reboot in Windows