Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

When I upgrade to Windows 7, I would like to keep the Windows installation and my data separate. Possibly install Windows itself on a small SSD for the performance gain.

I know I can tell Windows that I've relocated my user data, but some applications like to assume that everything is on C:. To fix this, can I just create a symlink on my Windows drive that points to the separate drive? I've done it with Steam's SteamApps directory so I can store games on an external hard drive, but I'm not sure what problems this could cause by symlinking something vital to Windows.

Plus, what about future upgrades? Will the Windows installation be able to traverse symlinks and properly upgrade everything?

(I would try this myself, but I don't have a MSDN/TechNet subscription, so it looks like I'll have to wait.)

share|improve this question
What applications can you not install on a separate partition or drive? I haven't ran into one in quite a while and, in fact, have all of my applications except my anti-virus running on a separate drive in Windows 7 RTM with no problem. – MDMarra Aug 8 '09 at 14:44
up vote 1 down vote accepted

Window 7 is available for free at until next year

You can specify where the Program Files directory lives by changing %programfiles%, but as you said, some programs are brain damaged enough not to respect that.

That being said, the newest version of ntfs looks like it supports symlinks, using the mklink command ( so there's a decent chance it will do that as well in Win7.

share|improve this answer
Voted up. You don't need junction points anymore. Windows 2008 server, Windows 7 and above all support native symlinks with the mklink command. – Tatas Aug 8 '09 at 17:40
mklink creates directory symlinks starting with Vista – Factor Mystic Aug 9 '09 at 2:19

For what you're doing, you should probably use junction points (Windows' equivalent of hardlinks) or additional "drive letters and paths". That's what I'm doing on Windows XP, C:\Documents and Settings points to F: and Program Files is linked to E: using Manage > Storage > Disk Management > Change Drive Letter and Paths, never had any issue of note.

I also configured the relevant environment variables (%programfiles%, %appdata%, %userprofile%, %allusersprofile%, %homedrive%, %homepath%) but adding the links above ensures even badly coded programs (with hardcoded program files or user profile paths) still put their data at the right place.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.