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.)

  • 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

Windows 7 is available for free at http://www.microsoft.com/windows/windows-7/get/download.asp until next year. (no longer available free)

You can specify where the Program Files directory lives by changing %programfiles%, but as you said, some programs do not 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 in Windows 7 as well.

Reference:

Create Symbolic Links, Hard Links and Directory Junction Points in Windows with MKLINK

  • 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.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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