I've been tearing my hair out trying to figure out why my virtually unchanged image was failing on deployment. It kept tossing error code 0x80070070 along with a message about failing to copy the administrator profile to the default profile.
In our case it turned out to be a relatively simple solution. I build our desktop baseline in a VMWare virtual machine, so it's easy to snapshot and roll back if necessary. I use a small (24GB) virtual hard drive while building to keep image deployment time down. After the image deploys a script runs which extends the partition to use all available space. Sysprep was failing on the copyprofile step because the hard drive was completely full and couldn't copy, BEFORE the partition was extended. I simply bumped the virtual hard drive up a couple more gigabytes and it solved the problem.
But before figuring this out I tried every other solution I could find online. Since the solutions were wide and varied, I thought it'd be helpful to have them all in a single document for Google to index.
# Common solutions to sysprep failing when using the COPYPROFILE=true setting
1. Check the following locations for orphaned/dead/non-existent/leftover user profiles. These will cause sysprep to fail. Ideally you should use sysprep on a fresh install that only contains the default Administrator account.
- C:\Users - Manage My Computer (right-click My Computer --> Manage -- Local Users and Groups)
- Registry: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
- These profiles should be in the list:
S-1-5-18
S-1-5-19
S-1-5-20
S-1-5-21-<long number>-<long number>-<long number>-500
- Any other accounts should be deleted through the Advanced User Control panel
2. Make sure there is enough free space on the Windows partition for temp files created during the deployment. If you only have 200MB free, and sysprep tries to copy your 500MB custom profile to the default profile, it will fail. Make sure you have at least 1 GB of free HD space on the image BEFORE sysprepping it.
3. Check permissions on the C:\Users folder. Make sure that "Replace all child object permissions with inheritable permissions from this object" option is checked.
4. Make sure the Windows clock is set correctly BEFORE sysprepping. If the time is too far off some operations like joining a domain will fail.
I hope this helps anyone who stumbles across it.
In our case it turned out to be a relatively simple solution. I build our desktop baseline in a VMWare virtual machine, so it's easy to snapshot and roll back if necessary. I use a small (24GB) virtual hard drive while building to keep image deployment time down. After the image deploys a script runs which extends the partition to use all available space. Sysprep was failing on the copyprofile step because the hard drive was completely full and couldn't copy, BEFORE the partition was extended. I simply bumped the virtual hard drive up a couple more gigabytes and it solved the problem.
But before figuring this out I tried every other solution I could find online. Since the solutions were wide and varied, I thought it'd be helpful to have them all in a single document for Google to index.
# Common solutions to sysprep failing when using the COPYPROFILE=true setting
1. Check the following locations for orphaned/dead/non-existent/leftover user profiles. These will cause sysprep to fail. Ideally you should use sysprep on a fresh install that only contains the default Administrator account.
- C:\Users - Manage My Computer (right-click My Computer --> Manage -- Local Users and Groups)
- Registry: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
- These profiles should be in the list:
S-1-5-18
S-1-5-19
S-1-5-20
S-1-5-21-<long number>-<long number>-<long number>-500
- Any other accounts should be deleted through the Advanced User Control panel
2. Make sure there is enough free space on the Windows partition for temp files created during the deployment. If you only have 200MB free, and sysprep tries to copy your 500MB custom profile to the default profile, it will fail. Make sure you have at least 1 GB of free HD space on the image BEFORE sysprepping it.
3. Check permissions on the C:\Users folder. Make sure that "Replace all child object permissions with inheritable permissions from this object" option is checked.
4. Make sure the Windows clock is set correctly BEFORE sysprepping. If the time is too far off some operations like joining a domain will fail.
I hope this helps anyone who stumbles across it.