Symptoms
You receive error code 0x80070003 when you run the following command
"dism /image:C:\Temp\mount /get-drivers"
When you inspect the dism.log you find entries as shown below:
2010-06-09 16:27:57, Info DISM DISM Manager: PID=9320 Image session successfully loaded from the temporary location: C:\Users\<user name>\AppData\Local\Temp\B0BB3D4B-8C52-4390-B4FE-E7A80C182515 - CDISMManager::CreateImageSession
2010-06-09 16:27:57, Info DISM DISM Provider Store: PID=4532 Getting Provider OSServices - CDISMProviderStore::GetProvider
2010-06-09 16:27:57, Info DISM DISM Provider Store: PID=4532 Provider has previously been initialized. Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
2010-06-09 16:27:57, Info DISM DISM OS Provider: PID=4532 Setting Windows folder to C:\Temp\mount\Windows - CDISMOSServiceManager::SetWindowsDirectory
2010-06-09 16:27:57, Info CSI 00000001 Shim considered [l:274{137}]"\??\C:\Temp\mount\Windows\Servicing\x86_microsoft-windows-servicingstack_31bf3856ad364e35_6.1.7600.16385_none_0935b76c289e0fd5\pkgmgr.exe" : got STATUS_OBJECT_PATH_NOT_FOUND
2010-06-09 16:27:57, Info CSI 00000002 Shim considered [l:268{134}]"\??\C:\Temp\mount\Windows\WinSxS\x86_microsoft-windows-servicingstack_31bf3856ad364e35_6.1.7600.16385_none_0935b76c289e0fd5\pkgmgr.exe" : got STATUS_SUCCESS
2010-06-09 16:28:03, Error DISM DISM OS Provider: PID=4532 Failed to mount the remote registry. - CDISMOSServiceManager::SetWindowsDirectory(hr:0x80070003)
2010-06-09 16:28:03, Error DISM DISM.EXE: Failed to set the windows directory to 'C:\Temp\mount\Windows'. HRESULT=80070003
"dism /image:C:\Temp\mount /get-drivers"
When you inspect the dism.log you find entries as shown below:
2010-06-09 16:27:57, Info DISM DISM Manager: PID=9320 Image session successfully loaded from the temporary location: C:\Users\<user name>\AppData\Local\Temp\B0BB3D4B-8C52-4390-B4FE-E7A80C182515 - CDISMManager::CreateImageSession
2010-06-09 16:27:57, Info DISM DISM Provider Store: PID=4532 Getting Provider OSServices - CDISMProviderStore::GetProvider
2010-06-09 16:27:57, Info DISM DISM Provider Store: PID=4532 Provider has previously been initialized. Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
2010-06-09 16:27:57, Info DISM DISM OS Provider: PID=4532 Setting Windows folder to C:\Temp\mount\Windows - CDISMOSServiceManager::SetWindowsDirectory
2010-06-09 16:27:57, Info CSI 00000001 Shim considered [l:274{137}]"\??\C:\Temp\mount\Windows\Servicing\x86_microsoft-windows-servicingstack_31bf3856ad364e35_6.1.7600.16385_none_0935b76c289e0fd5\pkgmgr.exe" : got STATUS_OBJECT_PATH_NOT_FOUND
2010-06-09 16:27:57, Info CSI 00000002 Shim considered [l:268{134}]"\??\C:\Temp\mount\Windows\WinSxS\x86_microsoft-windows-servicingstack_31bf3856ad364e35_6.1.7600.16385_none_0935b76c289e0fd5\pkgmgr.exe" : got STATUS_SUCCESS
2010-06-09 16:28:03, Error DISM DISM OS Provider: PID=4532 Failed to mount the remote registry. - CDISMOSServiceManager::SetWindowsDirectory(hr:0x80070003)
2010-06-09 16:28:03, Error DISM DISM.EXE: Failed to set the windows directory to 'C:\Temp\mount\Windows'. HRESULT=80070003
Cause
DISM tries to load 7 hives located under C:\Windows\System32\config or in the root of the user profile folders.
SOFTWARE
SYSTEM
SECURITY
SAM
DEFAULT
HKCU
COMPONENTS
The error is shown if one of the hives is missing. This could happen if the profiles are located on a different partition than the operating system.
SOFTWARE
SYSTEM
SECURITY
SAM
DEFAULT
HKCU
COMPONENTS
The error is shown if one of the hives is missing. This could happen if the profiles are located on a different partition than the operating system.
Resolution
When Users\Default\NTUSER.DAT is missing, copy over the hive from INSTALL.WIM to the right location. You should not copy the other registry files from the INSTALL.WIM as it corrupts the operating system.