Upgrading Win7 to Win10 with a non-standard Profiles location

Windows 7 has come out of mainstream support, so it’s definitely time to upgrade.

I’d held off because I like Windows Media Center, which isn’t available on Win10, though there is an unofficial method. More about that later.

The machine in question is an old Mac Pro 2008 that I got some years ago.

Apparently some Macs this old have problems with Boot Camp not allowing versions of Windows later than 7. This didn’t affect me (and others have had no issues), but it can be worked around by changing the Boot Camp config file.

From there it should have been like any other Windows 7 machine – use the Windows 10 Media Creation Tool and choose “Upgrade this computer”. (Despite the free upgrade offer having finished years ago, just about everyone finds this still works and the resultant upgrade is fully licenced – assuming the old version of Windows had a proper licence.)

But there was a hiccup. It failed midway through with an error:

0x80070011 – 0x2000D
The installation failed in the SAFE_OS phase with an error during MIGRATE_DATA operation

If you Google around, you’ll find lots of generic advice on forums suggesting to scan your drives, turn off your virus scanner, even try it again in Safe Mode (which doesn’t work – you can’t start an upgrade in Safe Mode).

Only this tip seemed relevant to me:

0x80070011 indicates that the system was trying to move data to another disk drive

0x2000D indicates that there was a problem during the data migration.

It would seem that you have data on another disk drive that the system is trying to migrate and it fails. With your current Win 7 have you moved data about and changed the location of system folders such as programs, users, etc. If so, you should try and get everything back to default locations and try the upgrade again.

Thank you to that person who actually looked into what the error means!

This rang alarm bells for me because some years ago I moved Windows to an SSD (drive C) and put the user directories onto drive D, using SYSPREP so Windows would figure out what was meant to be where.

It seemed like a good idea at the time, but I now realise Microsoft warns this is not supported for Windows upgrades. Damn.

In my case, the SSD is too small to hold all the users’ documents/photos/videos, but should be okay with most other files.

How to fix it

I’ve worked through this (it took several attempts).

Here is my solution, assuming that like me, your user and ProgramData directories are on D: drive and Windows needs to be convinced they’re on C: drive:

  1. If you’re short of disk space, you might want to clean up each user’s D:\users\USERNAME\AppData\Local\Temp directory – eg delete everything older than today.
    (Be warned, this could cause some minor issues with some applications, so if in doubt, don’t delete.)
  2. Disk Cleanup to remove all the unused temp files and empty all the Recycle Bins and free up any other possible space on C:
  3. Copy all the D:\users\USERNAME directories (except the ones that are likely to be big, and can still be located on D: drive: Documents, Pictures, Videos, Music, Downloads) to c:\users
  4. The tricky bit: we need empty Pictures, Videos, Music, Downloads directories, as these don’t get created automatically once the user profile is moved in step 5. I found it was easiest to start copying these one by one, but cancel, then remove all the files in the c: copy, so each was empty – for step 7. We’re using Copy instead of just creating them new to hopefully avoid any permissions problems.
  5. Edit the Registry: Under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList change each user’s ProfileImagePath to the new drive
  6. Log on as each user and check everything looks okay. If it refuses to log you in, you know something’s gone wrong with the C: drive directories or their permissions.
  7. As each user, open Windows Explorer or the Start Menu and browse to My Documents, Pictures, Videos, Music, Downloads, for each of these go into Properties and Move the location back to D:\Users\USERNAME\Whatever. When asked if you want to move files, choose No (since at step 3 you didn’t copy them). (You can do this after upgrading to Win10 if you prefer)
  8. You can then delete the directories you DID copy in step 3 from d:\users\USERNAME – since these are no longer used
  9. Also the ProgramData directory needs to be on C: if it isn’t already. There’s probably no need to copy it back, as applications should re-create what they need. Check and change if required the ProgramData setting in the Registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList to point to C: drive or %SystemDrive%
  10. Verify Win7 is still working okay for each user, then do another Disk Cleanup to clear out the Recycle Bins again. (Clearing old Windows Update files is also possible, but takes ages.)

After all that I found it was okay to go install the Win10 upgrade.

After the upgrade, Public Documents/Pictures/Videos also didn’t show up by default for the users, but these can be added by browsing to the old D:\Users\Public directory and right-clicking each one and choosing Pin To Quick Access.

Other stuff

  • To my surprise, Microsoft Security Essentials wasn’t removed by the Win10 upgrade, at least not the time it worked. The normal MSE uninstall is buggy – you have to jump through some hoops. Running its SETUP.EXE worked for me, but note you have to set the compatibility for ALL users if your normal user it not an Administrator.
  • I briefly tried the claimed method of installing Windows Media Center, which didn’t work for me. I tried Kodi, which needs NextPVR to watch and record broadcast TV… then I discovered that NextPVR can do that on its own – so I removed Kodi again, since I don’t need it!
  • NextPVR did need the LAV decoders, but other than that, it seems to have worked fine with my old EyeTV Diversity USB tuner.

Good luck!

Leave a Reply

Your email address will not be published. Required fields are marked *