2008-12-27

Move the "Users" folder (user profiles) to a different location in Vista

In Windows Vista you've got the possibility to specify, right from the Vista interface, the location of each folder in a user profile. For example, it's easy to indicate that you want to have "Downloads" in a different drive (for detailed instructions on how to do this you can follow the official MS advice).

However, if what you want to do is move the entire C:\Users folder structure and have the OS recognize that change without going nuts, there's an elegant solution that we found after googling for a while. While you can read about it in the original articles (here and here), it all boils down to this (but please, do have a look at the original articles since the explanations of what is going on are really helpful) (and please, please, please: if you want to be sure that you don't loose anything... backup first!):

  1. Create the new "Users" folder wherever you want it to be (e.g., E:\Users)
  2. Boot off the Vista install DVD and choose to Repair from the introductory window. Choose the target Vista installation and then bring up a command prompt (note: in some computers you don't need the Vista DVD, there's an option to boot the computer into some System Recovery options and from there you have access to a console).
  3. Once you are in a command prompt, copy all the data from your original C:\Users to the target E:\Users. To do this, you must use a command that copies all the data, links, folders, etc. I have used Robocopy and it works very well. The command that I used is:
    robocopy C:\Users E:\Users /E /COPYALL /XJ
  4. Now that you have all your data copied... delete the original C:\Users folder! Yes! Have no fear! But please, make sure first that your data is now safely copied in E:\Users. Please note that after deleting C:\Users you can still go back by copying the data to C:\Users from E:\Users... but that's not what you want to do, is it? In any case, use the following command to delete C:\Users:
    rmdir /S /Q C:\Users

  5. After deleting C:\Users, delete also C:\Documents and Settings (it's just a link to C:\Users):
    rmdir "C:\Documents and Settings"
  6. Now we have to create the link that will tell Vista that when it looks for C:\Users, it has to go to E:\Users. Use this command:
    mklink /J C:\Users E:\Users
  7. We recreate as well the link from Documents and Settings:
    mklink /J "C:\Documents and Settings" E:\Users
  8. Restart! Everything should be in place, we should be able to log on with our user accounts, etc.
I have followed this procedure already twice and have had no problems at all. Everything's working fine, Vista puts all the data in E:\Users and all is well. Note that if you go in Windows Explorer to C:\Users, you will see it there, and you can navigate its contents, but remember that the data is physically stored in the E:\ partition, not in C:\Users.

I recommend you reading the articles that I found originally, since there is some discussion in them that might be helpful to you.

You can use this same procedure to modify the location of C:\Program Files, for example. I have not tried to do this, but I guess it should be problem-free. Still, as with changing the Users folder, proceed at your own risk!

Have a nice day!
Marcelo

No comments:

Post a Comment