You are on page 1of 9

How to Move your Windows User Profile

to another Drive
Posted on May 18, 2009 by Keith

IMPORTANT NOTE: A lot of people seem to run into trouble trying to do this, and can’t seem
to understand where they went wrong. Please under- stand that everyone’s situation is a little
bit different, and I can’t list every possible step that everyone, under every possible
circumstance, would need to perform. At the very least, you need to be a little bit self-
sufficient here – if you don’t “get” junctions and file-system-level redirecting, if you don’t
understand why you might need to reset permissions on your user profile folder after you
move it (or how to do that), or if you don’t understand how to copy your user profile in its
entirety (hidden and system files included), then perhaps you shouldn’t try to use this method.
After all, we are talking about moving your user profile here – and if you don’t know what
you’re doing, you can end up with a big mess. You have been warned!

Also, if you have questions about your particular situation, you’ll probably be better off asking
your question over on superuser.com, a site specifically
for these kinds of questions. So, while I’m flattered by your attention, please don’t email me
asking for help – if you’re not confident enough in your own skills to try this on your own,
then perhaps you shouldn’t be trying it in the first place.

And finally, this method is for moving your user profile after you’ve installed Windows. To
change where your user profiles are located before you in- stall Windows is a totally different
method (using an unattended setup file) which I’m not going to talk about here.

Lately I’ve seen a lot of posts about various ways to move your Windows user profile (or
various parts of it) to another drive or location.

Some of these posts suggest using the “Microsoft- approved” method of right-clicking certain
folders in your user profile directory (“My Documents” if you’re using XP, and “Documents,”
“Music,” “Videos,” and “Pictures” if you’re using Vista or Windows 7) and selecting “Properties”
and using the options there to change the default location of those folders (some posts
suggest editing the registry directly rather than using the UI).
On the Left: the “Microsoft-Approved” way
to change special folder locations.

Other posts suggest using an unattended install of Windows, which can allow you to set the
user pro- file directory that Windows will use to something other than the default.

I’ve found these methods to be less then optimal, for several reasons:
- The “Microsoft-approved” method will certainly move your folders, but some programs
just blindly assume where your user profile is and will write to the original default
directory, ignoring the fact that you’ve changed it.
- You can’t move your whole profile with this method – only certain folders within it.
(For ex- ample, you can’t move your “Application Data” or “AppData” folders using this
method.)
- The unattended install method of course means re-installing Windows (and is not for
the technically faint-of-heart).
I have talked about my method for moving my user profile before, but I think it bears
repeating.

My user profile was getting very large – as in, really, really large. I was running out of space on
my C: drive, and I had a 2nd hard drive onto which I could move things, but I didn’t want to
move things piecemeal – I wanted the whole kit & kaboodle. I didn’t just want my documents,
videos, music, and pictures moved – I also wanted my ISO images, vir- tual machine hard
drives, and email archives moved – a lot of which lived in my “AppData” fold- er. I wanted to
give my user profile room to “grow” – and I also wanted the performance benefit of having
my user profile on a different physical hard drive from my OS drive.

The picture below shows what I ended up doing – I created an NTFS junction point for my
user profile, and moved it onto a 2nd hard drive. The result: my OS drive, C:, is just my OS
(and programs). The 2nd hard drive (labeled K:) is entirely my user profile. Ob- viously, it’s
grown a bit since I moved it!

So what do you do if you’re in a similar situation and want to move your entire user profile to
a different drive (or just a different location on the same disk?

Enter NTFS directory junction points.

If you’ve ever used UNIX or Linux, you may be familiar with the concept – however, if you’re
not familiar with the concept, it’s fairly simple to imagine (I’ve talked about it before as well).
Basically, think of a junction as a file-system-level shortcut. Where- as “normal” Windows
shortcuts only work in Windows (and are actually little files that redirect you when you click
on them), a junction operates at a much “lower” level in the file system, silently redirecting
access requests. (This Wikipedia article does a better job explaining what they are than I
could ever do, if you’re curious.)

And that’s the key fact here – because support for a junction is built right into the NTFS file
system it- self, it’s basically invisible to any higher programs. (Programs can detect a junction
of course, if they specifically ask – but few programs do.) So you can redirect any folder into
another folder on your computer (including on a different physical hard drive). Which,
coincidentally, is just what we’re after!
Before we begin though, it’s worth mentioning that this process involves moving your user
profile files around – which can be risky if the move gets interrupted or something terrible
goes wrong (power outage while you’re doing it, etc.). So take the time to do a complete
backup of your data before trying this – but you knew that already, didn’t you?

So, with that said, here are the steps to move your user profile to another location using
directory junctions:

Step 1: Prepare your 2nd hard drive (or whatever destination you’ve chosen) and pick (or
create) a folder you want to “junction” to.

Step 2: Log out of your user profile and log back in under a different account. If you don’t
have a 2nd account, just create one temporarily. Remember to give it full administrator
power over your computer or you won’t be able to proceed!

Note that instead of doing this from a different user account, some people have more
success doing this from the recovery console via the Windows installation CD/DVD. Either
way will work; you generally only need to use the recovery console if you have some system
process running that locks files located in your user profile; or if you’re trying to move the
entire “Users” folder, rather than just your user profile folder.

Step 3: Move EVERYTHING out of your old user profile directory to your new profile directory
(e.g., move everything from C:\Users\UserName to D:\Users\UserName). Don’t just copy the
files, you need to move them, because you can’t create a junction if a folder by the same
name already exists. Your user profile folder is C:\Documents and Settings\UserName if
you’re using XP, or C:\Users\UserName if you’re using Vista or Windows 7.
Make sure you move hidden and system files, too!

I’ve done this before by simply dragging & dropping in the Windows UI (having first told

Windows to show hidden and system files, so I don’t miss them), but some people claim to

have better experiences by using the command prompt and tools like RoboCopy. If you are

more comfortable with one method over the other, then go with what you know best.

Note: if you run into trouble moving the files (for example, Windows tells you that files are
still “in use”) you may need to reboot into “Safe Mode” to make sure there are no
programs/services that are locking files that you want to move, or even use the “recovery
console” that you can get from the Windows installation CD/DVD.
Step 4: Once you’ve moved all your files, rename your old user profile directory – it doesn’t
matter to what, just as long as it’s different (e.g., rename it to C:\Users\UserName.old). You
have to do this because when you create a junction, you are creating something, and that
something is what links to the destination. If you leave your old folder there, and you try to
create the junction with the same name, it won’t work.

Later, after you’re done with all these steps and you’re absolutely sure everything is working
right, you can delete your old user profile directory – just
make sure it is REALLY empty before you delete it!!! (Make sure to check for hidden and
system files!)
Step 5: Open a command prompt (Start > Run > cmd will do the trick) and create the junction
with the command:

mklink /J C:\Users\UserName D:\Users\UserName

Where “C:\Users\UserName” is the your old user profile folder used to have (before you
renamed it in the previous step), and where “D:\Users\UserName” is the folder where you
moved your profile folder’s contents to.

(If you are using Windows XP or earlier, you won’t have the mklink command on your
computer – you can use the Sysinternals junction tool to do the same thing. The command
line is a little bit different, so be sure to make that adjustment!)

Note: if you are using Windows Vista or Windows 7, you will probably have to right-click the
command prompt and choose Run as Administrator.

Step 6: Now you can log out of this “temporary” user (or, if you did this from the recovery
console, boot back into Windows) and back in as your regu- lar user account. (You can
delete the temporary ac- count, as we’re done using it.)

If you did everything right, you should be able to log in normally and nobody will be the wiser
(except for you, of course!). If you run into anything weird, check the caveats at the end of this
article.
The beauty of this is that it works, and it works silently. Windows doesn’t
notice a thing (well, it does, but it doesn’t say anything about it) – you’ll log on
normally, and all your programs will just work. Folder redirection is beautiful
like that.

Above: This is what a redirected user profile folder looks like in Windows Vista.
Windows “knows” that it is a directory junction (hence the shortcut over- lay
icon), but it’s not really a “shortcut” in the traditional sense.

Above: after double-clicking on the user’s folder in the previous picture, you’ll
see the user’s folders as you’d normally expect. Notice the address bar still
shows this as being on the C: drive, even though it’s not. (Click the image for a
larger version.)
Above: here’s the same folder, but instead of browsing to it via C:\Users, I went
in through the K: drive (my 2nd hard drive). This is where the files re- ally live.
(Click the image for a larger version.)

Note that there ARE some caveats with this method:

• If you are using Windows XP, you will run into a bug with NTFS mount points.
• If you ever try to upgrade Windows, you may run into problems because of the
redirection.
• If your destination folder is on a different volume then permissions will not be
inherited and you will have to set the permissions on the destination folder
manually (just copy them from your existing user profile folder).
• If your profile grows to be larger than the free space on your primary OS drive
(usually C:), then you may have problems if you ever delete your user account
and choose to “save the
files” rather than delete them (something I ran into by accident myself).
• There are other caveats, warnings, and potential issues as well if you decide to
try and do things differently than I’ve explained here (e.g., move the entire
“Users” folder rather than just 1 user profile, or try to move other important
folders, like the “Program Files” folder) – please read the comments on this
article to see what other people have done.
• Finally, if you are using Windows 7, you may want to just use the Libraries
feature to keep your bulky pictures/music/videos/documents in a different
location. While this won’t move your entire profile, it will allow you to save the
bulk of your files somewhere else (including on a different drive) without
having to mess around with junctions & such.

Nevertheless, even with these warnings and caveats, using directory junctions
is a highly effective method for moving your user profile out from the “default”
location and into some other location of your own choosing. Hopefully, one
day it will be possible in Windows to move your entire user pro- file to a
different location without resorting to tricks like this, but for now, this is
probably your best bet.

If you run into any trouble using this technique, I suggest asking for help over
at SuperUser.com, which is a place for asking questions and getting help with
advanced computer issues. Also, please don’t email me asking for help – without
knowing all the specific details of your computer, your setup and exactly what
youv’e done, I can’t really give any help beyond what I’ve written here.
If you would like to know a little bit more about junction points, symbolic links,
the mklink command, and so on, Wikipedia has several good articles to get
you started:

• NTFS junction point (directory junction)


• NTFS symbolic link (only on Vista or later)
• NTFS hard links
• Sysinternals’ junction command (for Windows XP and earlier that lack the
mklink command)
• SuperUser.com – this is THE place to go for
technical questions of any kind. The people there are great, and chances are
you’ll get a complete, accurate answer to your question very quickly.

Also, if you are installing a fresh copy of Windows, you can use the unattended
setup file to tell Windows to use a different location for ALL of the user profiles,
which is really nice (although you can only do this during initial installation).
Everyone’s favorite Microsoft blogger Raymond Chen (of The Old New Thing)
recently posted about this – if you’re going to re-install Windows, I highly
recommend giving his article a read, as this method is probably the cleanest
(and most supported!) way of doing this.

You might also like