Windows 7 - \Users\ on different drive or partition

The following guide explains how to keep the \Users\ folder on a different drive than the Windows installation.

Advantages

The system and program files normally need fast access and change rarely. They can be kept on the first partition on the outer tracks of the hard disk which provide higher transfer rates. The user files often do not require fast access but change often. They can be kept on a different partion on the inner tracks. Thereby, they are not entangled with the system and program files and cause them to be moved to the slower inner tracks of the hard disk or to fragment.

Example: If you copy movies to the hard disk and install a program, the program files are likely placed more towards the slower inner tracks of the hard disk drive. The program starts slower but you normally do not benefit from the faster tranfer rates of the movie file. You delete the movies after watching. You need to defragment the drive to move the program files to the newly created emtpy and perhaps faster areas of the hard disk. During defragmentation smaller user files (e. g. your word documents) may also occupy the faster areas on the outer tracks without any relevant benefit. These user files like word documents change often and cause fragmentation.

I recommend to keep the system and program files on the fast outer partition. The benefit are better transfer rates and better access times. Because the program files do not change often, they do not fragment quickly. And because they have less size than the user files (movies, ...), they can quickly be defragmented.

The solution below works for me since more than two years without any issues.

How to move \Users\ to different drive or partition (during reinstallation)

In the following guide C: is your partition for system and program files, D: for your user data. I currently use 40 GB for system and program files, 50 to 60 GB might be better, or a SSD.

  1. Backup \Users\<username>\ and your other data to external hard disk.
  2. Start installation of Windows 7.
  3. Create and format partitions as necessary.
  4. Create account with name "admin" (I keep this normally not used account on the primary partition, like /root/ on linux systems.)
  5. Log in as admin.
  6. [If you had \Users\ on drive D: before, rename D:\Users\ to D:\Users_old\. Otherwise, a directory D:\Users\<username> already exists and you likely want to create a new account <username> using this folder.]
  7. Run regedit and go to HKLM\Software\Microsoft\Windows NT\Current Version\ProfileList. Change "ProfilesDirectory" to "D:\Users".
  8. Create account <username>.
  9. Log off and log on as <username>.
  10. [If you do not want future user accounts to be created in D:\Users\, change HKLM\Software\Microsoft\Windows NT\Current Version\ProfileList\ProfilesDirectory back to "%SystemDrive%\Users".]
  11. [If you like to access your home directory via C:\Users\<username>, open a cmd shell as admin and create a symlink: "mklink /D C:\Users\<username> D:\Users\<username>".
  12. [If you moved D:\Users\ to D:\Users_old\, get ownership and rights of these files and copy or move them back as needed. Moving on the same partition is faster than restoring these files from the external hard disk.]

Move other data to D:\

Some other data might not need fast tranfer rates, too. E. g. I moved C:\MSOCache\ to D:\MSOCache, too, and created a junction (hard link) between the old and new location: "mklink /J C:\MSOCache D:\MSOCache". A symbolic link (/D) might suffice.