Consider the following scenario:
- A computer has two or more drives or partitions.
- The User Profiles and the Windows directory are located on the first drive or partition (assume drive letter C:).
- Second drive or partition has more available free disk space than the first (assume drive letter D:).
- A Configuration Manager 2007 OSD Refresh Task Sequence that uses USMT 4 with hardlinking is run on the computer.
In this scenario the Capture User Files and Settings"/"Capture User State" task will succeed but the "Restore User State"/"Restore User Files and Settings" task will fail.
Viewing the SMSTS.log reveals the following errors:
Executing command line: osdmigrateuserstate.exe /apply /continueOnError:%OSDMigrateContinueOnRestore% TSManager
==============================[ OSDMigrateUserState.exe ]============================== OSDUSMT
Initializing from environment successful OSDUSMT
Trying to resolve package path for packageID - <Pacakage_ID> OSDUSMT
Successfully connected to "<Package_Location>\<Pacakage_ID>" OSDUSMT
USMT package path = '<Package_Location>\<Pacakage_ID>\' OSDUSMT
Initiailization succeeded OSDUSMT
EncryptionKey ENV var not found. This may be because Local state Store is used. OSDUSMT
Building Default USMT params successful OSDUSMT
Adding config files to user params successful OSDUSMT
Additional user defined options = "/hardlink /nocompress" OSDUSMT
Building user defined params successful OSDUSMT
Building USMT command successful OSDUSMT
Executing command line: "<Package_Location>\<Pacakage_ID>\<Arch>\loadstate.exe" "D:\_SMSTaskSequence\UserState/c /all /v:5 /l:"C:\Windows\CCM\Logs\SMSTSLog\loadstate.log" /progress:
"C:\Windows\CCM\Logs\SMSTSLog\loadstateprogress.log" /i:"<Package_Location>\<Pacakage_ID>\<Arch>\miguser.xml" /i:"<Package_Location>\<Pacakage_ID>\<Arch>\migapp.xml" /hardlink /nocompress OSDUSMT
Process completed with exit code 38 OSDUSMT
USMT completed with exit code 38 OSDUSMT
USMT returned exit code (0x00000026). Look USMT log file loadstate.log for detail error message. OSDUSMT
Invoking ReleaseSource on USMTPackagePath <Package_Location>\<Pacakage_ID>\ OSDUSMT
OSDMigrateUserState finished: 0x80070026 OSDUSMT
Process completed with exit code 2147942438 TSManager
!--------------------------------------------------------------------------------------------! TSManager
Failed to run the action: Restore User Files and Settings.
Reached the end of the file. (Error: 80070026; Source: Windows) TSManager
Alternatively, if you are using a Task Sequence created with the MDT 2010/MDT 2010 Update 1 "Create Microsoft Deployment Task Sequence" Wizard you will see the following:
Executing command line: osdmigrateuserstate.exe /apply /continueOnError:%OSDMigrateContinueOnRestore% TSManager
==============================[ OSDMigrateUserState.exe ]============================== OSDUSMT
Initializing from environment successful OSDUSMT
Trying to resolve package path for packageID - <Pacakage_ID> OSDUSMT
Successfully connected to "<Package_Location>\<Pacakage_ID>" OSDUSMT
USMT package path = '<Package_Location>\<Pacakage_ID>\' OSDUSMT
Initiailization succeeded OSDUSMT
EncryptionKey ENV var not found. This may be because Local state Store is used. OSDUSMT
Building Default USMT params successful OSDUSMT
Adding config files to user params successful OSDUSMT
Additional user defined options = "/hardlink /nocompress" OSDUSMT
Building user defined params successful OSDUSMT
Building USMT command successful OSDUSMT
Executing command line: "<Package_Location>\<Pacakage_ID>\<Arch>\loadstate.exe" "D:\_SMSTaskSequence\StateStore /c /all /v:5 /l:"C:\Windows\CCM\Logs\SMSTSLog\loadstate.log" /progress:
"C:\Windows\CCM\Logs\SMSTSLog\loadstateprogress.log" /i:"<Package_Location>\<Pacakage_ID>\<Arch>\miguser.xml" /i:"<Package_Location>\<Pacakage_ID>\<Arch>\migapp.xml" /hardlink /nocompress OSDUSMT
Process completed with exit code 38 OSDUSMT
USMT completed with exit code 38 OSDUSMT
USMT returned exit code (0x00000026). Look USMT log file loadstate.log for detail error message. OSDUSMT
Invoking ReleaseSource on USMTPackagePath <Package_Location>\<Pacakage_ID>\ OSDUSMT
OSDMigrateUserState finished: 0x80070026 OSDUSMT
Process completed with exit code 2147942438 TSManager
!--------------------------------------------------------------------------------------------! TSManager
Failed to run the action: Restore User State.
Reached the end of the file. (Error: 80070026; Source: Windows) TSManager
The loadstate.log will also show the following errors:
<Date> <Time>, Status [0x000000] Activity: 'MIGACTIVITY_TRANSPORT_SELECTION'
<Date> <Time>, Info [0x000000] Processing the settings store[gle=0x00000006]
<Date> <Time>, Info [0x000000] Opening hardlink store D:\_SMSTaskSequence\UserState
<Date> <Time>, Info [0x000000] Entering MigOpenHardLinkStore method
<Date> <Time>, Info [0x0802e2] User selecting transport(UNC Transport (class CUNCTransport) ) with initialization data(UNC: Path(D:\_SMSTaskSequence\UserState\USMT))
<Date> <Time>, Error [0x080000] HARDLINK: cannot find distributed store for c - 0694a57d-1506-4755-af10-782d0a5b1723[gle=0x00000002]
<Date> <Time>, Error [0x0802e3] SelectTransport: OpenDevice failed with Exception: Win32Exception: HARDLINK: cannot find all distributed stores.:There are no more files. [0x00000012] void __cdecl Mig::CMediaManager::SelectTransportInternal(int,unsigned int,struct Mig::IDeviceInitializationData *,int,int,int,unsigned __int64,class Mig::CDeviceProgressAdapter *)
void __cdecl Mig::CHardLinkHelper::Open(class UnBCL::String *)[gle=0x00000002]
<Date> <Time>, Error [0x000000] Unable to open store at D:\_SMSTaskSequence\UserState\USMT[gle=0x00000002]
<Date> <Time>, Info [0x000000] Leaving MigOpenHardLinkStore method
<Date> <Time>, Error [0x000000] Failed to select store. Path: D:\_SMSTaskSequence\UserState[gle=0x00000002]
<Date> <Time>, Warning [0x000000] Internal error 23 was translated to a default error
<Date> <Time>, Info [0x000000] Failed.[gle=0x00000006]
<Date> <Time>, Info [0x000000] An error occurred during store access[gle=0x00000006]
<Date> <Time>, Info [0x000000] USMT Completed at 2010/06/30:15:46:50.995[gle=0x00000006]
Alternatively, if you are using a Task Sequence created with the MDT 2010/MDT 2010 Update 1 "Create Microsoft Deployment Task Sequence" Wizard you will see the following:
<Date> <Time>, Status [0x000000] Activity: 'MIGACTIVITY_TRANSPORT_SELECTION'
<Date> <Time>, Info [0x000000] Processing the settings store[gle=0x00000006]
<Date> <Time>, Info [0x000000] Opening hardlink store D:\_SMSTaskSequence\StateStore
<Date> <Time>, Info [0x000000] Entering MigOpenHardLinkStore method
<Date> <Time>, Info [0x0802e2] User selecting transport(UNC Transport (class CUNCTransport) ) with initialization data(UNC: Path(D:\_SMSTaskSequence\StateStore\USMT))
<Date> <Time>, Error [0x080000] HARDLINK: cannot find distributed store for c - 0694a57d-1506-4755-af10-782d0a5b1723[gle=0x00000002]
<Date> <Time>, Error [0x0802e3] SelectTransport: OpenDevice failed with Exception: Win32Exception: HARDLINK: cannot find all distributed stores.: There are no more files. [0x00000012] void __cdecl Mig::CMediaManager::SelectTransportInternal(int,unsigned int,struct Mig::IDeviceInitializationData *,int,int,int,unsigned __int64,class Mig::CDeviceProgressAdapter *)
void __cdecl Mig::CHardLinkHelper::Open(class UnBCL::String *)[gle=0x00000002]
<Date> <Time>, Error [0x000000] Unable to open store at D:\_SMSTaskSequence\StateStore\USMT[gle=0x00000002]
<Date> <Time>, Info [0x000000] Leaving MigOpenHardLinkStore method
<Date> <Time>, Error [0x000000] Failed to select store. Path: D:\_SMSTaskSequence\StateStore[gle=0x00000002]
<Date> <Time>, Warning [0x000000] Internal error 23 was translated to a default error
<Date> <Time>, Info [0x000000] Failed.[gle=0x00000006]
<Date> <Time>, Info [0x000000] An error occurred during store access[gle=0x00000006]
<Date> <Time>, Info [0x000000] USMT Completed at 2010/06/30:15:46:50.995[gle=0x00000006]