While the below approach worked for me, you should understand each step before attempting it. You should take backups before attempting any system change, especially one which involves moving data and editing your registry

Yesterday, I followed this guide from Prasys on how to move your C:\Users folder to another drive, because my C: was very small and E: was much larger.

I fully take responsibility for this fact, but it ate my Windows 8 install alive, and I had a fun couple of hours trying to convince Windows to let me even get into safe mode. (You have to enable it first, apparently, probably worth everyone’s time to do this)

Reversing the steps (removing the NTFS junction and copying the files back) did not fix my issue.

The most likely thing that went wrong was that the permissions on the Default folder got messed up; once I finally got an Explorer window again, I was able to reset these and my machine was a lot happier. I’m pretty sure that’s what fixed it, anyway.

So, now that we’ve established that playing with NTFS junctions and robocopy is quite dangerous, let me share the solution that actually worked for me. I’m going to assume you haven’t followed the above steps and half-wrecked your machine, just that you have a user on C: you want to move to E:

Create a new administrator user

While you’re doing this work, create a new administrator account – you don’t want to move an account while it’s logged in, so this sacrificial account will be the only one logged in while you do this. Other HOWTO’s that I’ve seen have you boot to safe mode, re-enable the Administrator account, but this will avoid that step.

Log everyone else out

You don’t want have anything else running on the machine, so log out of your normal accounts and only have the new temporary administrator account you’ve created logged in.

Create a new Users folder

mkdir E:\Users

Copy the data over with robocopy

With an administrative command prompt run:

robocopy /mir /copyall C:\Users\Aaron E:\Users\Aaron

This will delete anything at E:\Users\Aaron if it already exists.

Update the profile folder in the Windows registry

Look in HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList for a list of profiles.

Just edit ProfileImagePath to point to your folder on E:, log out of your temporary account, and log back in as your original user.

Open a command prompt and verify that it’s opened with your new profile path. If you’re happy, you can delete the temporary user that you created, and the copy of your data from the C: drive.

rmdir /S/Q C:\Users\Aaron

You’re done!