Follow the following guides to migrate the corresponding folders to another drive:
Warning: Read up on this article to understand why moving user profiles might pose a threat if you plan on upgrading your OS... More info down below:
Two things are important in this step: 1) you have to use the correct drive letters, and 2) you have to use the exact options for robocopy. If you mess up 1), you won’t be able to log in, and if you mess up 2), then you might be able to log in but will have other problems.
Do the following to copy C:\Users to D:\Users. Again, keep in mind the drive letters are remapped:
X:> D:
D:> robocopy /copyall /mir /xj Users E:\Users
/mir option will delete all files in the target if they do not exist in the source. Hence, if you already have D:\Users and want to keep the files, then use /E option:
D:> robocopy /copyall /E /xj Users E:\Users
Again, here D: is C: in actual, and E: is D: in actual. Among robocopy options, if you miss /copyall, then it will not copy the permission information, and after log-in your Windwos 8 apps will crash upon launching. Make sure you get 0 for failed column in the robocopy results output.
After verifying there were no error, do the following to remove the original C:\Users directory:
D:> rmdir /S /Q Users
Create the symbolic link
This is the final step, creating the symbolic link at C:\Users which points to D:\Users. Here the drive letter thing again comes up. Since the symbolic link will be used in actual windows session, you have to use the actual drive letter ,D:
as the target. So you end up making a symbolic link at D:\Users (command prompt letter - C: in actual) whose target is also D:\Users. Since you are already at D:, use the following so it is less confusing:
D:> mklink /J Users D:\Users
Junction created for Users <<===>> D:\Users
I have not tried other options, but it seems if you don’t use /J (Junction) option you will have to do a registry hack.
You can verify the link with dir command. You will see:
<JUNCTION> Users [D:\Users]
Anyway, that’s it. When you exit and reboot (select continue to windows 8), you will be able to log in, and when you open up the explorer, you will see that C:\Users is a symbolic link which points to D:\Users.:
D:> exit
How to move the Program Files folder Even if you have a 128GB SSD,
you'll soon fill it up with applications. By this point, it's too late
to install them on a different hard drive, unless you want to go
through and uninstall and reinstall programs individually. It's
possible to move the C:\Program Files folder to a different hard drive
but we don't recommend this because the folder is hard-wired into
Windows and there will be problems if it isn’t where Windows expects
it to be. Plus, it's a very in-depth process to do it properly using
symbolic links. For programs that are already installed on your C:
drive, it's possible to move their subfolders which are stored within
C:\Program Files. Don't forget that if you move programs from an SSD
to a hard drive then you will lose the speed benefit of the SSD when
launching that program. Keep your most used software on the SSD so
that it loads and runs quickly when you need it.
You can’t simply drag program folders to a different drive, though.
What you must do is to create what is called a symbolic link. It's a
bit like the shortcuts to programs, folders and websites that litter
the desktop, but they are more powerful. When Windows or any program
tries to access the folder, the symbolic link redirects it to the new
location. It is completely transparent to software and Windows.
Symbolic links can be created manually and there is a command line
tool called mklink. Expert users can open a command prompt window and
enter mklink to see the options. There is no need to resort to
complicated commands. though and there is a simple and free utility
that does everything for you. Go to mobasoftware.com and download
SymMover.
The default path is C:\ProgramData. It is stored here:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\ProgramData
OPTIONS:
1) You can change your default ProgramData path to be an
alternative drive. Although doing so, all new users that are created
will use the new programdata path. So you may end up having two
ProgramData folders at the end of the data.
2) Alternatively, you
could use “NTFS Junction Points”. Not many people know of this, but a
junction point is a way to force all programs that write to path
(c:\programdata) to be redirected to (D:\ProgramData). This is how old
programs designed for XP can easily work with Vista and Windows 7 new
folder locations(Documents and settings replaced with Users).
So you could create a junction point specificically for the tmp
directory that is created by the GR. mkdir D:\ProgramData robocopy /XJ
/MIR "C:\ProgramData" "D:\ProgramData" mklink /J "C:\ProgramData"
"D:\ProgramData"
The downside is that windows update does not work well with program
data on a separate drive. http://support.microsoft.com/kb/949977
Caution: Microsoft doesn't recommend moving system directories, as it will prevent any Windows Updates, Hotfixes, Upgrades, to work properly (it will downright fail!)
Please proceed with caution!
Please quote the essential parts of the answer from the reference link(s), as the answer can become invalid if the linked page(s) change. – DavidPostill – 2016-08-24T11:07:22.167
I'm okay with relocating every individual folders in the /users/ folder. I've tried to edit registry to install new ProgramData and Program Files to D:, but some programs still use the C:\ drive like Adobe's programs. The person I'm helping needs Creative Cloud but if the registry is edited, it doesn't work at all. Without editing the registry, I can tell Adobe CC to install its things in D:, but it still downloads the installer in the C:\ and the installation fails because of the lack of space. After using all these options (registry and relocating user files), it's still not enough for me – NatoBoram – 2016-08-24T21:02:21.143