Right after installation, Windows 10 creates several folders in the root of the system drive, which is usually the C: drive. These folders include Program Files (and Program Files (x86) for 64-bit OSes), the Windows folder, Users and the hidden ProgramData folder. The Users folder contains profiles and personal folders like Desktop, Downloads, Documents for all user accounts in your Windows OS. If you have a small system partition, or if other Windows user accounts on your PC have huge files in their Documents or Desktop folders, the free space on the system drive can quickly reduce. If you face this issue, then you can move the Users folder to another partition or disk. This article will show you how to do it. This method is applicable to Windows 10, Windows 8 and Windows 7.
To move the Users folder, you need bootable media with one of the following OSes:
- Windows 7
- Windows 8
- Windows 10
You can even try to use Windows Vista's setup disk, but I have not checked it personally, although there is no reason why it should not work with Vista's setup media. You can use any of the above bootable media regardless of the installed OS on your hard drive. e.g. you can use Windows 7's setup disk to move the Users folder of Windows 10 and vice versa. You can also create a bootable USB stick with the desired setup disk as described here: how to create bootable USB stick with Windows.
Here are the steps to move the Users folder:
- Insert your bootable media and boot your PC using it. (You may need to press some specific keys or change BIOS options to boot from USB or DVD.)
- When the "Windows Setup" screen appears, press Shift + F10 keys together.
This will open the command prompt. - Type notepad and hit Enter. Do not close the command prompt window.
When Notepad opens, open the File menu -> Open... item. Click "This PC" in the left pane of the Open dialog to see your PC drives. Note the proper drive letter of your Windows partition where you have the Program Files directory. In the picture below, it is drive D:
- Close the Open dialog and then close Notepad and type the following in the command prompt:
xcopy "D:\Users" "E:\Users" /e /i /h /s /k /p
..assuming that drive E: is the desired new location for your Users folder.
- Rename your current D:\Users folder to D:\Users.bak.
- Create a directory junction from the old folder to the new folder:
mklink /J "E:\Users" "D:\Users"
We are using a directory junction instead of a directory symbolic link (mklink /D) so that the system can access the Users folder correctly through network shares. This is very important.
That's it. You are done. If you need to revert the changes you made, then:
- Boot from your setup media again.
- Delete the D:\Users junction using the following command:
rd D:\Users
- Execute
xcopy "E:\Users" "D:\Users" /e /i /h /s /k /p
This will copy your profiles back to the system drive.
Also, note that you have a backup of your profiles in the Users.bak folder which contains profiles before you moved the Users folder.
Support us
Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options:
Can this method also be used to move the huge winsxs folder from the SSD on C: to the slower Hard Drive on D: ?
The WinSxS folder is needed occasionally when Windows recovers core files. But it isn’t used all the time and the folder doesn’t need to have quick access times. The system is installed on C: which is a fast SSD. winsxs takes up a lot of prime drive space which could be used for other things that need quick access times.
Microsoft strongly advises against doing anything with the winsxs folder but maybe it would work?
Hi.
Do not touch WinSxS folder please. You will kill OS.
It is not designed to be moved.
Hi Sergey, thank you for your clear instructions. Very helpful. A question which I could not find the answer is: on Windows 8, is it possible to turn off internet connection sharing *among users*? I mean, if some users log in at the same time on one PC, each one must enter his/her own username and password registered to the network, which, in my case is a university. Thank you in advance.
Please note that Microsoft does not support moving the user profiles folder to another drive.
https://support.microsoft.com/en-us/kb/2876597
http://www.zdnet.com/article/dont-move-your-windows-user-profiles-folder-to-another-drive/
The above process works (I’ve done it successfully myself), but you will not be able to upgrade your windows version (though you can get updates for the current version of windows through windows update). If you hope to upgrade from Windows 7 > 8 > 8.1 > 10, that will not be possible
I get error access is denied
I just can’t do it. System can’t fins desktop.ini and then says it couldnt create “all users” dir…
Like me
Using a flash drive Windows 10 Pro installation I get the same errors: First: F:\Users\desktop.ini (Y/N)?
Then when I answer either Y or N, I get: File creation error – The system cannot find the file specified.
And: Unable to create directory – C:\Users\All Users, 0 File(s) copied
sadly this doesnt work, cant create all users folder in drive:\Users , application data and so on when running xcopy (what is this folder anyway?)
According to the latest comments from the official release of Windows 10 , it does not work ? Sergey Tkachenko can you come back to us and do the test , please?
And this try : works or not ? On Windows 10 ?
robocopy /copyall /mir /xj C:\Users E:\Users
rmdir /S /Q C:\Users
mklink /J C:\Users E:\Users
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList
Thanks for this. As others have pointed out, the xcopy command proposed in the original posting does not do the job – it falls over on a number of “special” directory entries including “All users” and “Public” in the Users folder – these are some kind of symbolic link or junction, can’t remember which.
The Robocopy command you suggesed did seem to complete the copy OK.
The mklink command needs a bit of care – it seems to me that Sergei probably has the parameters the wrong way around in his original post. First parameter is the place where the link will be created. Second parameter is where the link is to point to.
The tricky thing is, first parameter needs to use the drive lettering mappings in use when running the Windows Setup / Command Prompt environment, second parameter needs to use the drive lettering mappings that will be used when running the final Windows system.
In my case the mapping when running Windows is SSD = C:, DVD = D:, HD = E:; when in Setup SSD = D: and HD = E:. HD is the same in both cases which makes life easier! Command is: mklink /J D:\Users E:\Users.
System seems to be running OK – I’ll post again with further comments if things start going wrong!
One thing does worry me – the entries for “All users” and “Public” have *not* been copied to E:\Users by the robocopy command. I’m not quite sure what impact this might have. If anybody knows, please let me know!
P.S. I’m assuming the last line of your posting is just a typo of some sort (“HKEY_LOCAL_MACHINE etc”). If not, please could you explain it?
How are we supposed to rename our Users forlder in .bak ?
Is there a specific command line to type ?
In cmd prompt you can do it as follows:
Should be:
ren C:\Users Users.bak
Second parameter can’t have a full path; the command can only rename within a directory, it can’t do a move.
Correction?
4. Close the Open dialog and then close Notepad and type the following in the command prompt:
xcopy “D:\Users” “E:\Users” /e /i /h /s /k /p
[error]..assuming that drive E: is the desired new location for your Program Files folder.
[correction] ..assuming that drive E: is the desired new location for your Users folder.
Thank you. Fixed.
Does the newly linked “Users” folder on the new drive have to be called “Users” or can it be called say “Win10Users”, I say this as I already have a linked folder from an 8.1 installation on the proposed drive already called “Users” ?
I’ve had no success with this.
My plan was to put the user directory on a second partition so it could be accessed in Linux when Windows was hibernated (still not sure if it would lock it anyway).
Anyway like ‘rehv’ posted the original xcopy method only copied one file for me. I tried copying it in Linux and it seemed to work but after the cretion of the link Windows complains it can’t find the profile.
I then wondered if there was an issue with Linux copying files so tried the ‘robocopy’ method posted in comments, this was very busy and seemed to copy all so I got my hopes up but just the same issue upon booting to Windows.
I then just had a panic, I tried to restore my backed up folder, Windows seemed to boot and login so it got further but then it went to the set pin screen (I think I’d already set a Pin) it seemed to crash on this but did allow a reboot and this time it went in fine. The ‘HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList’ isn’t a DOS command?
Correction…
mklink should show the name of the link before the target, e.g.
mklink /J “D:\Users” “E:\Users”
Thank you very much.
Great post, but the method doesn’t work with my build. Instead of
xcopy “E:\Users” “D:\Users” /e /i /h /s /k /p
I have used
xcopy “E:\Users” “D:\Users” /e /i /h /k /o /x /b
Thanks for the tutorial, it has been very useful! it worked like a charm just for moving one profile folder but recently something went wrong. maybe anyone experienced the same issue.
If I create a new user and move his profile folder: c:\Users\ to e:\Users\ then Cortana and start menu (SearchUI.exe ) and all the default app, stop to work. if I move back the forlder to c:\Users\ everything works. Any Idea?
I tried this method, got the desktop.ini- error, went through with it anyway,, could not sign in no more, then tried to undo what I had done including renaming users.bak back to users., This seemed to work, but now my C:\Users is permanently called Users.bak in the Windows Explorer, I cannot rename it. When I opened the command prompt it was called C:\Users, without the .bak extension. How do I solve this?
DO NOT DO THIS
I moved the users folder from my ssd to my hdd and i cannot install all components of the windows 10 anniversary update. I will try to revert the changes, hopefully this will fix it.
Just tried this, after reading through all the instructions and revisions in the notes.
Couple of things.
OP: While I do appreciate your help and expertise, could you please clean up and trial the revisions contained in the comments ? I had to use a revised xcopy command atzs suggested. The copy completed without errors. With the method proposed in the body of the post, I got the “ini” error.
After following all of the other directions, including the revised symlink creation format, everything seemed to work, I got no errors, but upon first boot, I get this error: User Profile Cannot Be Loaded.
So, after all this, it doesn’t work. Windows10 Pro Creators Update. Single user, no password, simple as possible setup.
I ussualy install Windows and create a user. Then I run CMD and enable Administrator account ( net user Administrator /active:yes ) and logoff my account and login into Administrator account. Then I move my user folder to another drive and create a junction ( mklink /j “C:\Users\ACCOUNT” “D:\Users\ACCOUNT” ). Disable the Administrator account ( net user Administrator /active:no ) and login to my account. It works like a charm. *NOTE THE HYPENS WHEN MAKING A JUNCTION. THEY MUST BE USED!!!
funcionou para mim da seguinte forma.
eu instalei o windows 7 e fiz o robocoy, e os comandos a baixo.
1o) Após a primeiro boot do Windows durante a instalação, precione Shift + F10
2o) Execute os comandos abaixo
d:
mkdir USERS
robocopy C:\Users D:\USERS /e /copyall /xj
3o) Acesse o registro do Windows
regedit
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList
4o) Altere as seguinte chaves
Default D:\USERS\Default
ProfilesDirectory D:\USERS
Public D:\USERS\Public
Após fazer este processo, atualize seu windows 7 por completo, e atualize logo em seguida atualize para o windows 10, e pronto, as pastas Users estarão em outro disco.
funcionou para mim da seguinte forma.
eu instalei o windows 7 e fiz o robocoy, e os comandos a baixo.
1o) Após a primeiro boot do Windows durante a instalação, precione Shift + F10
2o) Execute os comandos abaixo
d:
mkdir USERS
robocopy C:\Users D:\USERS /e /copyall /xj
3o) Acesse o registro do Windows
regedit
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList
4o) Altere as seguinte chaves
Default D:\USERS\Default
ProfilesDirectory D:\USERS
Public D:\USERS\Public
Após fazer este processo, atualize seu windows 7 por completo, e atualize logo em seguida atualize para o windows 10, e pronto, as pastas Users estarão em outro disco.
Hello Sergei,
does the Junction method of moving the Users folder to another Drive still work in Windows 10?
There is this other method here:
https://www.tenforums.com/tutorials/1964-move-users-folder-location-windows-10-a.html
…and in this long thread, the author of that tutorial, Kari, mentions several times that he strongly advises against using a junction or a symlink, because this will break things.
Thank you for any advice you might have on this!
Best regards
David
Just to say it works on Windows Server 2022.
Strangely, booting from the Installation Image didn’t show my target system partition. I had to play with DISKPART in order to see/mount it.
Of course, this method should not support OS version change. But I come from Server 2008 R2 ;-).
And most important, if you want to go this way, understand clearly everything you do. I prefer this way than sysprep, but it as pros too.
Regards,