Move the Users Directory from SSD to HDD in Windows 8

In this tutorial , I would like to share on how I have moved Users folder from my SSD Drive to my Regular Drive and as well as few other folders into another drive especially if you have a small SSD drive and if you like to your users folder (where Downloaded data, Documents , Application settings reside) to be in another drive (say your 1TB hard disk).  This does not involve anything to do with registry , instead we are using symbolic links. (more after the jump)

 

Introduction

Originally , this guide was written in LifeHacker , however I believed that it lacked of some explanation and things like that. I decided to improvise that guide by adding my extras to it (mainly screenshot and in-depth explanantion and as well as what-if fails)

Symbolic link allows us to fool  the system thinking that C:\Users exist in C:\ drive where as it is actually is in your D drive or your regular hard disk and not on your SSD itself. This way the registry is not tampered. Windows can still see the folder its in C , but keep in mind that it is actually point it to another drive aka to your D drive

Another advantage of doing this is that it makes system back-ups much more easier. You could clone your entire hard drive and clone it back (as mainly only Operating System and Program Files) do reside in your C drive instead of User data. Lastly but not least , it would not put strain on your SSD as there are limited read/write cycles on SSD.

So shall we get started ? Very well then – All you be needing is Windows 8 or Windows 8 Pro. This guide does not work on Windows 8 RT. I am assuming that you have installed Windows 8 on a SSD Drive (We’ll call it C Drive)  and you have another regular hard disk (We’ll call it D Drive) whereby you want to put these user data. I have also assumed that you have backed up data just in case if it goes wrong . This is very important , if you don’t backup your data , bad things may happen. The easiest way to do is to use Windows Easy Transfer and back your Users data to an external disk. It would take care of that.

I would also recommend you to load this page on another computer/tablet/smartphone (Don’t worry , my site would format automatically on tablets and smartphone)  or print this page as you may not be able to access Internet while you do this.

 

NOTE : Read the comments as well and DO NOT view this in mobile site – switch it to desktop. It seems that mobile version screws up couple of things

Oh one more thing  -your HDD (where your Users folder will be stored) must be formatted as NTFS as well

Booting into Command Line

You can easily boot into command line by pressing Start + C (Charms) and going to Settings and selecting Change PC Settings. Go to General and select this option as shown in Screenshot

Once you have hit the Restart button , you’ll be presented a screen something like this , just select Troubleshoot (Images were taken from HowToGeek)

Afterwards select Advanced Options and then select Command Prompt (as shown below)

 

 

Your PC should reboot and you’ll be brought into a screen whereby you would have to login to the system and a command prompt Window would pop-up. Now this is important , you need to find out which is your SSD Drive and your HDD Drive (that you want to move your data to). One simple way is by typing

C:

and then by typing

dir /w /p

 

Just cross check if that is your C drive (SSD Drive) , rinse and repeat for D: , this is to ensure the source and destination drive. At times it can be E: also , just try few letters from C:  to determine if it is the right drive. Once you have sorted it out , this is where the fun part begins

robocopy /copyall /mir /xj C:\Users D:\Users

What this command does is that it copies files from C:\Users (your SSD) to D:\Users (your Hard Disk). /copyall is to indicate to robocopy (which is ia copying tool) to copy all folders /mir is used to indicate that all permissions and file settings should be adhered and lastly /xj is used to say that do not follow any symbolic links. Now this process may take a while depending on the number of users you have in your system and the size of User folder. Go have a cup of coffee or something.

Once it is done , make sure that they aren’t any errors , make sure there aren’t any errors in FAILED column

 

Now the fun part begins , we will now delete our Users folder from our SSD. Don’t worry , it is already copied to our regular HDD. This is needed for us to create a link .

rmdir /S /Q C:\Users

/S /Q are used to remove all folders inside as rmdir by default only deletes an empty folder

Once that is done it is time for us to create our link , this can be done with this command

mklink /J C:\Users D:\Users

A little bit explanation on this. There are two types of symbolic link – hard links and soft links (No , they aren’t like pornography although a bit similar). A softlink is basically like how a web-site re-directs. So if I go to C:\Users , it gets redirected to D:\Users and if I go to C:\Users\Bob (assuming my user name is Bob) , it gets re-directed to D:\Users\Bob. Now with the hard-link , it sort of creates the folder in your SSD fooling Windows and everyone else that such folder exists in C:\ drive , but the data and stuff are getting written in D:\ drive. As far as Windows and software sees it , the folder is located in C drive and it is not a re-direct of any sort , but what it does not know is that data is getting written to D drive instead of C. Plus you don’t have to worry about your SSD running out of space

 

Now that’s about it. Keep your fingers crossed , perform your mantra/ritual (I would generally run around in a circle while listening to Rebecca’s Black Friday – Trust me , it works ) and close the command prompt. You’ll be presented with the same options again and this time select Continue .

If everything works , Configurations , you should have noticed that you have gained more free space in your SSD drive and you should notice that your Users folder icon have changed to indicate that its a “pointer” as shown below

 

Notice that the files are actually getting stored in D instead of C drive

Extending It

Now you may extend this to any other application , however keep in mind that do not do this for Program Files (for 32-bit and 64-bit Windows 8). I have tried it , it does not break any applications but it breaks Metro. It seems that WindowsApps (where Metro applications are stored) , would not work with links and insists that it must be stored physically in the drive itself . For Windows 8 64-bit users , you may move Program Files (x86) aka your x86 applications can be stored in your HDD by default . The instructions are the same just replace Users with Program Files (x86). You can even move specific applications as well , the instructions are just the same you owuld just have to replace the path and that’s about it. Its like one-mantra that works for all

 

You will have the speed of SSD whilist having the storage capacity of your regular HDD to store your files. I have not noticed any performance drop while doing this. Windows still boots up fast and all my downloaded data , music , web browsing cache gets stored in HDD

 

Oppa Oppa Gan..I mean Opps ! What if something goes wrong… 

Simple just follow the instructions back , you can copy back from D: to C: drive , just change a few things. Now suppose if you can’t figure that out. You may use the refresh functionality in Windows 8 , it should help and you or alternatively you may use your Windows Easy Transfer that you have backed up.

As usual , if you have found a better solution or if something isn’t working – feel free to post it in the comments and I would gladly have a look at it and reply

84 thoughts on “Move the Users Directory from SSD to HDD in Windows 8”

  1. Hi, thanks for the tutorial but I follow it carefully and DOESN’T WORK FOR ME.
    Same problem than Bobro: “User Profile Service service failed to load.”.

    Additional Hardware Info of drives:

    1.- SSD 64GB MBR with NTFS WIN8 SYSTEM (in windows was letter C:\ In cmd appears at E:\ and X:\ boot image)
    2.- RAID0 on motherboard 2TB GPT NTFS partition (in windows it was letter E:\ In cmd letter C:\ )

    WHAT I DID:

    robocopy /copyall /mir /xj E:\Users C:\Users
    rmdir /S /Q E:\Users
    mklink /J E:\Users C:\Users

    That’s what I type and it doesn’t work… and the worse… can’t access the windows 8 system now.

    May be Windows 8 can’t access and don’t have full support to GPT partitions table? (The one of the new user folder destination).

    I apreciate any help,
    thanks

  2. Followed instructions to the letter. Experienced the User Profile error. Realized too late that I was moving the Users directory to a BitLocker protected D: drive.

    Instructions should be prefaced by a note saying you cannot move c:\Users to d:\Users if d: is BitLocker protected.

  3. In all the time this has been up, has ANYONE figured out what separates the successful installs of this from the ones that can’t login anymore?

    I tried this and I tried the method on eightforums.com that uses a script. Each one blew up my computer. This one also blew up my dual-boot configuration (got it back). I can’t do this until someone comes up with how to do it reliably and not get the dreaded User Profile error which I got TWICE. PLEASE someone try to see the pattern. And there HAS to be one.

    I wonder if a key might be to point the registry, at hkey local machine, to the actual drive where users was moved. Of course, there’s no time to do that after making these changes at a command prompt.

  4. I wonder if it would be any more successful to do the robocopy part from an administrative command prompt within windows
    make note of the failures and re-copy them in command-prompt mode later
    change the registry to reflect the actual directories
    because the registry sees the %systemroot% location and may at some level know that’s not where the files really are, despite the link/junction.

    I feel I’ve been through hell thanks to the need to do this and to this article that seems to make the process so deceptively simple, which it’s NOT. I appreciate the work of so many volunteers who look to make things like this work. I only wish there was a way to troubleshoot this before sending someone else on a path to destruction. Obviously there are many, many users who do not have the positive experience from following this article. Any help that anyone can suggest to avoid the User Profile error would be met with gratitude.

  5. I’ve just changed the drive letter on the robocopy and mklink and everything worked fine.

    For example:

    robocopy /copyall /mir /xj E:\Users F:\Users (F:\ is the drive letter on windows not on the cmd prompt.)

  6. from: Watermark on this thread: http://www.eightforums.com/general-support/10848-ssd-woes-still-pain-even-newest-os-2.html


    I was getting the “incorrect function” error from mklink but, in a moment of inspired trial and error, got it working.

    Assuming that command prompted booted you to X:>, do the robocopy and rmdir commands using X: as the drive letter. But, for the mklink, use C: as the drive letter. i.e.:

    x:> mklink /J C:\Users D:\Users

    With that tweak it worked perfectly and my entire Users structure is now apparently on C: but actually on my 3TB D:.

  7. This worked for me however ….

    A specific Windows Update package ( KB2845533 to be precise ) failed to install and barfed error 80070026 at me. This error code means something along the line of “unexpected end of file”.

    In any event, after much frustration and cursing i tried installing the package by first moving back the Users directory to C:\Users and behold, it installed.

    Moved it back afterwards but its a pain. So, for people that moved their Users directory and having problems with installing specific update packages this could be the issue.

  8. I NEVER got this to work. TWICE this method and TWICE the script/”out of box experience” method detailed elsewhere failed me.

    The best method is the one detailed in videos from Micro Center on YouTube on how to install Windows8 on an SSD. The user-accessible directories (My Documents, Pictures etc.) are easily moveable; AppData is NOT. Move the entire users directory unless you’re a system builder along the lines of ASUS and Dell and you’re asking for trouble.

    In addition to those directories, I recreated the programs and programs(x86) folders on the 3 Terabyte “D” drive so that when new software installs I just change the letter from C to D. Page file can be moved, hibernation turned off, indexing moved, etc. Moving either progdata or users entirely to another drive is asking for trouble.Tom, your experience convinces me further that I’m right: even when you think it’s DONE some Windows thing or another comes along and causes a problem.

  9. I was hoping someone can point me in the right direction. I have an older Gigabyte X58A-UD3R motherboard. I just added a SSD and re-installed Windows 8. I would like to move the \Users folder to my RAID drive.

    However, Windows 8 requires the RAID driver to be loaded to see the drive. When I boot in to command prompt I cannot see the RAID drive so that I can robocopy.

    Is there a way to boot into command prompt while still loading the drivers?

    My other other thought is to dismantle the RAID drive, Connect as a single IDE, do the Robocopy, reconnect the drive and rebuild the RAID. I have a lot of data on the drive that I CANNOT loose and that seems VERY risky.

    Thoughts?

  10. VERY bad idea to try moving the Users drive. I tried it multiple ways and it made the system well-nigh unusable. Tried the method discussed above, also tried the Administrative script method; neither worked. Best help I got: search on this term in YouTube:
    Windows 8: How to save space on Solid State Drives (SSDs):
    You’ll come up with a series of articles from Micro Center, the store, coincidentally, where i bought Win8 and the SSD.There are ways to get most of Users off of there. If you move AppData, though, you’re asking for trouble (as I found out the hard way). Only exception is if you’re a system builder like Dell or Asus and can use a script to do this wholesale. Go to YouTube and try searching on this string:
    Windows 8: How to save space on Solid State Drives (SSDs): In six videos a strategy is laid out that does what you need…good luck!

    Jay

  11. +1 for Alvaro…
    command
    I ran into the profile not found issue. You need to make sure your “mklink” command uses the drive letter that the destination drive will be called when booted in windows (not command prompt mode). So for me my HDD in Command Prompt Mode was C:, but when I boot in Windows it is D:.

    On a side note I did do one other thing outside these instructions. I saw someone mention that there is a hidden directory, “Default”, in Users that does not get copied when using robocopy. I performed a separate robocopy to move \Users\Default to my HDD also. Not sure if this helped, but it didnt hurt.

    BTW to see the hidden files using Command Prompt use the ” dir /A:H” command in the directory you want to see.

  12. When visiting the Microsoft Store in White Plains, NY last weekend, I saw several laptops with 24G SSDs from various manufacturers, with large HDDs as well. The large manufacturers have scripted routines available and are extensively supported by Microsoft to do this (move all “growable” directories – Programs, ProgData, Users etc. – off the SSD. They have failed us small system builders and hobbyists who want to build our own that way.

    Unfortunately, the method listed here is fraught with peril. When I tried to apply it the first time, all my drive letters changed up on me and I ended up wiping my original Windows 7 users directory by using the robocopy command as given in this tutorial. I recovered MOST – but NOT all – by using GetDataBack which I already owned but there were over 100 files that “recovered” to zero-byte files, some of which were music files I can’t get back and am crying tears over.

    Again I recommend the Micro Center methodology. I’ve had my system up and working since June 7 or so and just have to monitor the Win8 SSD so it doesn’t go over a certain size limit; if it starts heading up I troubleshoot to see what grew.

    Jay (Bronx Jay – I doubt we’re twins :)

  13. No secure boot.
    No bitlocker.
    Boot the Windows 8 DVD.
    Repair->Advanced->Command Line
    Follow directions starting at robocopy.
    Works perfectly.
    Until Windows Update fails.
    Boot the Windows 8 DVD.
    Repair->Advanced->Command Line
    robocopy /copyall /mir /xj C:\$$PendingFiles C:\$$PendingFiles
    rmdir /S /Q C:\$$PendingFiles
    mklink /J C:\$$PendingFiles D:\$$PendingFiles
    Works perfectly.
    Thanks Pradeesh!

  14. I made a typo above, line 10 should be:
    robocopy /copyall /mir /xj C:\$$PendingFiles D:\$$PendingFiles

  15. Yea…woulda been great if you mentioned that /mir will also delete any files in the destination folder that do not exist in the source folder. So if you’re reinstalling and redoing this you’ll lose all of your data.

  16. After also receiving the User Profiles error I was able to restore original functionality (after extensive and frustrating research, trial and error) by the following method.

    1. boot from windows 8 install/repair disc
    Repair>troubleshooting>advanced>command prompt

    2. remove junction (f: = my c: in cmd)

    rmdir f:\users

    3. copy files back to original location (c: = my d: in cmd)

    robocopy /copyall /mir c:\users f:\users

    (you may delete f:\users using rmdir f:\useres if you wish to remove at this point

    4. boot to safe with cmd prompt

    bcdedit /set {default} safeboot minimal
    bcdedit /set {default} safebootalternateshell yes

    then exit reboot

    5. login to safemode with normal password and edit registry following method 1 from MS support

    http://support.microsoft.com/kb/947215

    6. Change settings to boot normally either:
    a. using cmd prompt if you know how: or
    b. reboot login into safemode again, search start menu for msconfig

  17. If anyone gets the “cannot load user profile” error, check HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList. There usually is a wonky profile because Windows gets confused after you move the folders over. It happens every time I’ve symlinked my Users folder out, and deleting the guilty profile always solves it.

  18. For some reason the backspace (\) character does not appear in the command prompt. Any suggestions to get it working?

  19. It worked like a charm. Thank you so very much for taking the time to provide the detailed instructions. I cannot thank you enough.

  20. Great! This was usefull.
    I added some params to the robocopy command for myself:
    robocopy /copyall /mir /xj /R:1 /W:1 C:\Users D:\Users
    As Google Drive was giving problems for me (couldn’t delete the folder, just renamed it then)
    Pretty stupid that default number of retries is 1 million and default time between retries is 30 seconds.
    Like anybody would want that :/

  21. I have used this process on both Windows 7 and Windows 8 and it works for me.
    I would note, however, that the robocopy explanation in not exactly correct.
    /COPYALL means copy all files and information including attributes, timestamps, security, owner and auditing info
    /MIR means copy all subdirectories, including empty ones, and delete all destination files that are not in the source. If you want to leave destination files not in source, just use /E.

  22. Anyone else having trouble installing the update to Windows 8.1 after moving the Users directory to another drive? I’m getting error 0×80070004 and when I look at the setup error log I see “Aborting due to external request.: The specified user does not have a valid profile. 0x000004E5″

  23. GSCopy Pro v6.0 (RoboCopy Alternative) with Open File Agent
    GSCopyPro is a single command-line tool (CLI) that can copy, replicate and move files from one folder to another. This folder can be on the same machine/ server or another server elsewhere. What makes GSCopyPro stand out from other competitors is the fact it works on 32-bit as well as 64-bit systems and has no restrictions. It can easily be scheduled to run as a scheduled task and fully automated. GSCopyPro also comes with an open file agent which can copy files that are locked/ opened by other processes. This feature is supported in all windows versions from widows XP/ 2003 and later.
    Go To:>> http://www.gurusquad.com/GSCOPYPRO

  24. Fantastic post. Thanks! Everything is working fine, as noted when you boot into the command prompt, the C:\ D:\ etc are taken from your motherboard, so you need to use the command prompt drive naming scheme instead of the drive names when you boot to windows (windows sucks).

  25. I had problems after moving my Users from SDD to HDD with the upgrade of windows 8.1
    So i re-installed everything ( windows 8.1 and users (empty) on the SDD upgrade all the patches, and upgrade succesfully to windows 8.1.
    After that i removed C:\Users to D:\Users.

    Only one question how can i delete long files in the command prompt ,
    and how can i move c:\Program Files to D;\Program Files ???
    I get syntax errors directory not found (spaces in directory? or brackets?)
    Thanks Jan

  26. Clever method! I’ve always used symbolic links to point my personal documents to Dropbox and to SMB shares, but never thought to link the entire Users folder.

    Just want to add an aside; you mentioned that the target drive has to be formatted with NTFS, but that doesn’t seem to be the case with ReFS at the moment. I’m running Windows 8.1 and I created an ReFS Storage Space using two drives and the Junction worked fine.

    I noticed a lot of people not having a lot of luck with this tutorial, so I suggest these few tips to help ensure the greatest chance of success.

    1) Backup your files and reinstall Windows from scratch. Seriously. Working with a clean slate in the registry removes random elements messing with this. Also, doing this right after you boot Windows for the first time makes the RoboCopy run in no time as an added bonus.

    2) Disconnect all hard drives that aren’t involved in the process. This reduces any chance at choosing the wrong drive as well as the number of drive letters you have to manually go through. You can reconnect them when you’re finished the tutorial above.

    3) Speaking of drive letters, re-assign them. Open up the Start Menu/Screen and type in diskmgmt.msc, then press Enter when the app appears in the search results. You can change the drive letters of your drives (save for the boot partition), which should persist when you reboot into Command Prompt mode. I find that depending on your physical drive cabling arrangement, the pesky optical drive (CD/DVD/BD) can take the place of (D:). I’m OCD, so I’ll relegate my optical drive to (X:) and set my secondary storage as (D:). It’s almost guaranteed that these assignments will stay permanent even after you connect new drives.

    4) Pray to your deity. It sometimes helps but not often. Still, nothing ventured, nothing gained. :)

    Good luck out there. Cheers!

  27. Oh, I forgot one more thing.

    4) BONUS! Don’t delete the original Users folder!!! Rename it to something like Users.old, so that you have a point of recovery in case things go south or you change your mind later.

  28. I swear, this is the last comment from me. :)

    If you’re using Windows 8.1, Microsoft moved the location of that “Restart now” button under “Advanced startup”. Just press WIN+I and go to Change PC settings, Update and recovery, Recovery.

Leave a Reply