When you have finished
partitioning your drive(s) and you have made a full-system drive image backup, it's time to start moving things around. The first thing you need to do is use the Windows Easy Transfer wizard and a thumb drive to save your user settings. You have your full-system drive image backup to fall back on in case of failure, but you need the Windows Easy Transfer in case of success. Select the thumb drive option and click on "This is my old computer", then save only the Windows settings and Program settings of the User accounts. You'll use these files after you have moved the Users folder.
It is important to use Windows Easy Transfer because the wizard organizes and translates the various files and settings into the Windows way of doing things. This is an important element for the success of these procedures.
After you have saved these user accounts, you need to delete them using Control Panel > User Accounts. You need only a single account in the Administrators Group to complete these procedures. Trying to leave all accounts as is and write all the necessary junction points would become extremely tedious, and could also create multiple recursive structures; not a good thing.
Reboot to your installation DVD, repair disk, or your repair partition if you have copied the DVD or repair disk to a small partition on your hard drive, as I did. Open a Command Prompt. You can use xcopy or robocopy for the next steps.
The links will give you plenty of information about the syntax and switches. The switches you need to use with xcopy are /E /F /H /K /R /X /Y. /E copies subdirectories, even if they are empty. /F displays source and file names while copying, so you can see what's happening; you can leave that one off if you like. /H copies hidden and system files. /K retains the read only attribute on destination files if it's there on the source files. /R copies read-only files. /X copies file audit settings and system access control list information. and /Y suppresses prompting to confirm that you want to overwrite an existing destination file.
Robocopy doesn't need as many switches, as it's designed to copy entire folders. /E /COPYALL /XJ. /E copies folders recursively, including empty folders. /COPYALL copies all file information/attributes. /XJ excludes Junction points (xcopy doesn't copy Junction points).
Keep in mind that in order to copy folders with a space in the name, like Program Files, you need to include the entire path in quotes; "C:\Program Files" or you'll get an error. For example, using robocopy you would type
robocopy "C:\Program Files" "U:\Program Files" /E /COPYALL /XJ
If your Windows is 64-bit, you will also have a folder named "C:\Program Files (x86)". Handle this folder using exactly the same steps as those used for the "C:\Program Files" folder.
And that is a good place to start, with the Program Files folder. First copy the folder, then reboot into Windows, edit the registry to reflect the new path, double-check the editing, then reboot back into your repair disk, open a Command Prompt and remove the old folder from the C: drive with this command:
rmdir "C:\Program Files" /S /Q