To most easily move all user files and user program files off your boot drive (an SSD in my case), follow these instructions.
FIRST, Create a restore point:
1. Open System by clicking the Start button, right-clicking Computer, and then clicking Properties.
2. In the left pane, click System protection. If you're prompted for an administrator password or confirmation, type the password or provide confirmation.
3. Click the System Protection tab, and then click Create.
4. In the System Protection dialog box, type a description, and then click Create.
THEN: Go to System Recovery/Command Prompt:
Boot with the Win7 Install DVD, choose language, currency and keyboard, and hit Next.
At the screen with the "Install Now" choose "Repair your computer"
You will be asked if you want to "Repair and Restart" by the System Recovery options, choose "No".
Then Make sure that Windows 7 is listed as one of the installed OS's available for recovery, and that it's selected and then press next.
You will be given a list of recovery tools.
Choose "Command Prompt".
Find your virtual Windows drive loaded from the Win7 media (probably either C or X), find your actual Windows/SSD drive (D or E) and find your HDD (regular hard drive) (D or E).
In my system normally, C=SSD with Windows on it, D=HDD data drive
Using Win7 Update media, the drives in Recovery mode were set up differently, thusly:
X: virtual/temp Windows drive,
E: actual Windows/SSD drive,
D: HDD, hard drive I wanted to put \Users on.
Some report that System Recovery mode will set up their drives like this:
C: virtual/temp Windows drive
D: Actual Windows/SSD drive
E: HDD, they want to put /Users on.
In the command prompt you will be using Robocopy (NOT xcopy!) to copy c:\Users to d:\Users, then delete the old c:\Users, then make a symlink from c:\Users to D:\Users. Note that you must do these things in order, and you must not have a d:\Users dir before you do this.
NOTE: in the system recovery command prompt window, your drives are not the same as they will be after you leave recovery mode! So adjust the commands below for how the drives are in Recovery Mode, and then they’ll turn out correct later.
robocopy /mir /xj E:\Users D:\Users
To move /Users from Windows/SSD to HDD.
/mir tells robocopy to mirror the directories, this will copy all files and permissions.
/xj is very important, this tells robocopy not to follow junction points. If you forget this, you will have a lot of trouble.
Make sure no files failed to copy (FAILED column = 0).
Then you must remove the old Users Folder from the Windows/SSD (c:) drive, before you can create the symlink:
rmdir /S /Q E:\Users
Create a NTFS Junction/symlink that points to the new Users folder:
mklink /J E:\Users D:\Users
Use the /J switch to create a junction that’s a hard symlink. (If you use the /D switch, you’ll also have to edit the registry, cuz it won’t be a hard link.) Using /J, when Windows looks for the C:\Users dir, it will find it! But it will be on the HDD instead of the SSD. Tricky!
To see the proof of what you’ve created, still in the command prompt window, go into the actual Windows/SSD and do the "dir" command, and you’ll see:
" Users [D:\Users]"
Now restart and you’ll see /Users on your HDD, and there you go. No further configuration or fiddling required. New user profiles will all be stored on the d: drive, as will any user specific data. And it is achievable without any messing about in the registry, searching and replacing values, or having to mess with new profiles in any way. Totally set and forget.