The default location of user profile in Windows 7 is still the same as Vista, in c:\users folder, which I often find it seems quite dumb putting user profiles in the same partition as the system, especially when I store most of my day-to-day files in my user profile, rather than another folder in another partition. So my preference of the first step after installing the OS on my own computer is always to change the default location to another partition before I actually start setting up my profile.
Normally, you can do that by either using a pre-defined unattended install file, or moving the individual folders inside the user profile which also will update the registry keys accordingly to reflect the change.
However, here is what I’ve done normally.
Warning before you attempt making any change in the registry, make sure you have the original registry backed up. This can save your mass if you did something wrong.
1. Copy the original Default profile folder in C:\users to the new location. (by default this “Default” directory is hidden, you need to go Tools > Folder Options > View (tab) > Show Hidden files, folders, and drivers.)
2. Copy the original Public profile folder in C:\users to the new location. (lets say D:\ drive)
3. Open Registry Editor by type regedit from command line, and navigate to HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CurrentVersion\ProfileList.
4. Change the value of the Default, Public, Profile Directory keys to the new location accordingly.
5. Log off. From this point on, any new user logged in to this computer will have a new user profile that’s located in the new location.

Before changing the registry.
After changing the registry.(as using D:\ drive for example)
6. When you logged into your new account (make sure with the new profile location) you can now delete your old account prior to the change.
A few notes:
- It applies to Windows Vista as well.
- There will be a lot more steps to move a user profile that’s already been generated. So highly recommend that doing so as early as you can. A brand new fresh profile is always better.
- see this post when you failed to upgrade due to the change of the user profile location
- If you’ve done everything and see an error message in your user profile directory saying “Some library features are unavailable due to unsupported library locations. Click here to learn more …”
This is an indication that you didn’t do the step correctly. Check if you have the miss spell the directory name etc. And also make sure you have logged out in order to take effect.
As many users confirm, the described procedure works. However I have a question.
Being logged in as Administrator I see 5 directories in the C:\Users. These are:
Administrator (accessible)
All Users (accessible)
Default (accessible)
Default User (no access)
Public (acessible)
I interpret (taking into account suggestion from Johannes) the statement in step 2 “Copy the original Public profile folder in C:\users to the new location. (lets say D:\ drive)” as:
xcopy C:\Users\Public D:\Users\Public /k/r/e/i/s/c/h/o
But should the first statement be interpreted in the similar way ?
Considering its full text
“Copy the original Default profile folder in C:\users to the new location. (by default this “Default” directory is hidden, you need to go Tools > Folder Options > View (tab) > Show Hidden files, folders, and drivers.)”
one can suspect that
xcopy C:\Users\Default D:\Users\Default /k/r/e/i/s/c/h/o
is appropriate. However xcopy puts for each symbolic link in the source directory not a copy of symbolic link but copy of the file linked by it.
C:\Users\Default directory contains many links, thus the copy on D: will be different than original directory on C:
Is this exactly what is needed ?
Alternatively one can add switch /b and use
xcopy C:\Users\Default D:\Users\Default /k/r/e/i/s/c/h/o/b
because
“/B
Copies a Symbolic Link itself instesd of the target of the link. (Windows Vista/Windows 7)”
[http://commandwindows.com/xcopy.htm]
Which of the above is correct ?
And what about “C:\Users\Default User” ?
Is it a copy of C:\Users\Default locked during the session and destroyed after logout, so we can ignore it ?
witrak()
Actually, unless you want to move entire users folder to different partition, it’s not necessary moving the default, all users, public, or even admin. You can simply leave them in the default c: partition because it won’t hurt you in any way.
To copy the profile, I would recommend robocopy instead of xCopy, and it would be better to use remove rather than copy, as copying user profile may lead to symbolic link appears in the source folder.
Cheers.
Thank you for your advice.
One remark at the beginning: what I try to do is to prepare my pc configuration just after clean install.
Thus I have no user profiles except the administrator profile (which I want to keep on C: anyway).
I would prefer to clean up C:\Users as far as possible. I would like to move not only C:\Users\Default and c:\Users\Public but also C:\Users\All Users.
However I can’t even copy Default directory !
I’ve tried:
robocopy C:\Users\Default D:\Users\Default *.* /e /copy:datsou /move
and after copying/moving some files (NTUSER.DAT, etc.) and Appdata, AppData\Local and AppData\Local\Application Data\
robocopy started trying subdirectories with the name Application Data\ Application Data\Application Data, Application Data\Application Data\Application Data and so on untill it suspended work with an error message for 30 seconds…
Apparently it is not normal situation. And taking into account the fact I started just after clean install what is wrong ? The procedure is incorrect ? The tools suggested are inapropriate ? I wrongly interpret description of robocopy switches ? (In fact the last alternative is can be true, as there is no even simplest explanation of switches influence except one-line “descriptions” – one have to try hard to find combination not causing conflicts).
Anyway, what is wrong with what I do?
And what should I do ?
witrak()
First of all it took me a while to figure out how I could login as Administrator (rather than my initial user account which did not have sufficient permissions to copy the folders even though it was member of the Administrator group): Right-click on Computer in the Start Menu and choose Manage, in there you can find the Users and Groups and enable the real Administrator account (which does NOT have a password set after a clean install!!!!!!!!!)
I then used RoboCopy to copy the Default and Public folders from C: to D:
I used the command
robocopy C:\Users\Default D:\Users\Default /E /SL /XJ /COPYALL /B
The /XJ (skip junctions) is required to stop the infinite nesting of the Application Data effect.
The /SL (shortcuts instead of target-contents) to retain shortcuts
The /COPYALL so all file-properties including security-settings and attributes are retained
The /B is maybe not required, but gives robocopy a better chance to succeed with locked files
Same again but then for C:\Users\Public to D:\Users\Public
After copying the 2 folders, modifying the registry (just replaced the %SystemDrive% with D:) and logging out and in again (as administrator) I deleted my initial user which already had a profile in the old location, deleted the old Default and Public folders and created the users I need (myself as Power User).
But now the real trouble starts: none of the new users can login. The profile folder cannot be created due to missing security – What is missing the new Default looks fine to me???
Greetings,
Marco
The only thing I can think of is the security on the folder on d: drive. I know you were using /COPYALL to copy the data but it’s no hurt double-checking it to make sure these folders are open to everyone.
Also, it’s actually not a big deal leaving the default, all, and public profiles on the default drive because they don’t contain a lot of data. It’s just the user profiles that matter the most.
Let us know if that helps.
Cheers.
I went through your process, restarted and was locked out. After much head scratching and fiddling in safe mode, I realised it was an ID-10T error. I just failed to read the instructions re Default carefully enough.
So nice to have safe, neat user profiles.
So, thanks heaps for the instructions which worked perfectly once I read them properly
Nice, glad that it helped.
Cheers.
To copy de user folder, try fastcopy.exe
^^
I follow the procedure but it does not work. Maybe because I have updated with all hot fixes from Microsoft.
Here is what I did:
Install a fresh Windows 7 to VMware machine.
Modified the registry with the above instruction.
Restart the machine.
Login with an Administrator ID.
Create a new ID.
Check at the c:\users directory. No user name directory was created.
Check at the new location, no user name directory was created.
Logout and login with the new ID. Cannot login, logon services fails, the logon screen display again!
There is something wrong. My Windows 7 is build 7600 with all updates and hotfixes applied up to date (5-07-2010).
Hi Peter,
Did you actually create the folder in the new location before logging in as a new user id? It seems that the folder has to be created first.
Cheers.
That’s was my mistake.
I only tested for new users created after the modification. The problem was I forgot to copy the default directory to the new location. After I did that, everything is running fine.
The only thing I would like to do but cannot:
I would like to keep the old profile with the old account but only move to the new location.
It looks like what we did is creating a template to create new users. After new users are created, we are stuck with that.
Hi Peter,
I think I am having the same problem you had.
I got the msg “User profile service failed logon. Profile could not be loaded.” this is when I attempted to login to the new created user.
You resolved it by copying the default directory to the new position(D. Is this the same default directory mentioned in step 1 and 2?:
Copy the original Default profile folder in C:\users to the new location. (by default this “Default” directory is hidden, you need to go Tools > Folder Options > View (tab) > Show Hidden files, folders, and drivers.)
2. Copy the original Public profile folder in C:\users to the new location. (lets say D:\ drive)
Did all that earlier but still cannot login. Did I miss out something?
Thanks. Khoo
I ran into this problem. Turned out the permissions on the secondary drive were set to only allow admins access. Manually duplicate the entries from your c drive to your d drive. System entries may be missing. The Authenticated Users group requires custom permissions and will result in 2 entries for that group.
HELP! I have had my windows 7 laptop for about a year–no problem until yesterday. When I booted it up my desktop had changed with about 30 files missing with this message: “you have been logged on with a temporary profile. You cannot access your files, and files created in this profile will be deleted when you log off.” I am the only one who uses this computer and don’t know why this happened. I ran AVG virus scan and found no problem. HP tech help insisted that I just set up a new profile and recover files but when I tried this through Carbonite, everything disappears when I turn the computer off and reboot–just like the message says.
Does your computer belong to a network domain? It looks like your user account used to log into that machine doesn’t have the proper permission on your computer.
Cheers.
Totally new to this advanced windows stuff, so a few things are stumping me.
Do I need to download a program to move these files, or is it done in command prompt under administrator ? Will this make is so the Documents, etc etc on the start menu point to these folders on the new drive ?
Can you move programdata as well?