How To Move Large Apps Or Games To Another Drive

Regular readers know that the main drive of my new PC is a 80 Gigabyte capacity Intel Solid State Drive. The hard drive is excellent and works well in combination with the 2 TB hard drive that I use for data storage, and some larger programs that do not require a fast hard drive.

I sometimes run into disk space problems. Take the Steam software for instance, it can only install new games on the same hard drive where all the other games are installed (Update: Valve has updated the software in the meantime to allow the installation of games on other drives).

That's a big problem that resulted in a few solutions being posted on the Internet. Some users have moved Steam and all their games to another drive; Others uninstalled a game to make room for the new one. But the problem is not solely a Steam one. There are games that can only be installed on the c: drive for instance, and some applications have the same restriction.

How To Move Large Apps Or Games To Another Drive

My way of handling space problems on drives is to move the apps or games to another drive without having to reinstall them or lose data. I recently installed Dragon Age which installed itself on the c: drive. I decided to move the game from c:\ to another hard drive with lots of space instead without losing the game's installation status.

mklink

The move process itself is easy enough. Just move the files using Windows Explorer, or any other file manager that you may be using, to another hard drive. You can move the folder by pressing shift during the drag and drop operation (if you do not press shift you copy the files).

Most games and applications will not start anymore after they have been moved around.That's because Registry entries may still link to the original location and not the updated one.

The solution to this is to create symbolic hard links. Windows comes with the tool to do just that. Open a command prompt as an administrator. You find the Command Prompt under Accessories in the Windows Start Menu. Right-click the command prompt and select run as administrator.



Update: If you are using Windows 8 or newer, tap on the Windows-key, type cmd.exe, right-click on the result and select "run as administrator".

Read also:  Remove the Windows.old folder manually

The command that we are using to create a so called directory junction is mklink. A directory junction basically tells the operating system to create a mirror in another directory that provides access to all files of the selected directory in the mirror directory as if they would be stored in it.

So, in easier terms: all files and folders are accessible in another location, even though they just link to the "real" files and folders on another hard drive.

The files and folders of the mirror directory are however actually only redirected to the destination where they are actually hosted. This essentially means that you can make the game, application or Windows believe that the files and folders are still in their right place even if they are not.

mklink /J "new folder" "folder with the files"

That's the basic command that we will be using. The /J parameter defines the type of symbolic link that we are creating, in this case a directory junction. The new folder is the mirror folder and the "folder with the files" the folder containing the real files that you moved previously.

mklink /J "C:\program files (x86)\Dragon Age\" "e:\games\Dragon Age"

This creates a directory junction so that the files and folders of e:\games\Dragon Age are accessible by the program and Windows under C:\program files (x86)\Dragon Age\ as well (where they have been initially installed to).

C:\Windows\system32>mklink /J "c:\Program Files (x86)\Dragon Age\" "c:\games\Dragon Age\"
Junction created for c:\Program Files (x86)\Dragon Age\ <> c:\games\DragonAge\

The same method can be applied to other applications or games. It is for instance possible to move some Steam games or files to another hard drive to free up space on the one Steam is installed on.

Mklink is available in Windows Vista and Windows 7 (Update: And newer versions of Windows). I'm not sure about Windows XP right now, would be nice if anyone with XP could let me know in the comments. There are programs like Junction from Sysinternals that can create junctions as well in case that is needed.

Summary
Article Name
How To Move Large Apps Or Games To Another Drive
Description
Find out how to move folders, files, programs and applications to another drive without having to reinstall them.
Author
Publisher
Ghacks Technology News
Logo

Please share this article

Facebooktwittergoogle_plusredditlinkedinmail


Filed under:


Responses to How To Move Large Apps Or Games To Another Drive

  1. Adal March 25, 2010 at 11:54 am #

    I don't have access to an xp machine at the moment so I started up Windows Virtual PCs Windows XP Mode from Microsoft and mklink is an unrecognized command.

    • DanTe March 25, 2010 at 4:54 pm #

      Mklink is for Vista and Windows 7.
      http://technet.microsoft.com/en-us/library/cc753194%28WS.10%29.aspx

      For XP, try using NTFS Junction Points:
      http://support.microsoft.com/kb/205524/en-us

      • jfjb2005 March 26, 2010 at 2:06 am #

        @DanTe

        Your MS site reference for XP about "How to create and manipulate NTFS junction points" refers clearly that this article applies to:
        * Microsoft Windows 2000 Server
        * Microsoft Windows 2000 Advanced Server
        * Microsoft Windows 2000 Professional Edition
        * Microsoft Windows 2000 Datacenter Server

        So, no XP support, or can it nonetheless work?

  2. Roebie March 25, 2010 at 12:10 pm #

    There is an exellent shell extension for avoiding to have to work with the commandline mklink: http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
    I use it all the time and it works like a charm!

  3. Jonathan March 25, 2010 at 3:30 pm #

    This is very useful information! I happen to have the same type of problems!

  4. PeeJay March 25, 2010 at 4:55 pm #

    I'm a happy user of LinkMagic (on XP): http://www.rekenwonder.com/linkmagic.htm

  5. Pilgrim March 25, 2010 at 5:56 pm #

    This might be of use on XP: http://elsdoerfer.name/=ntfslink

  6. jfjb2005 March 26, 2010 at 1:55 am #

    nope, dude, I checked my vanilla Win XP SP3.

    The prompt command returns this message:
    'mklink' is not recognized as an internal or external command, operable program or batch file.

    Thanks for your insight, I will check your suggestion about SysInternals Junction, 'cause SH3 and SH4 are taking lots of room with Oblivion...(ahem) on that poor drive C.
    Just a question, can we redirect as easily the data located in Documents and Settings?

    Thanks once more.

    • Roebie March 26, 2010 at 5:04 pm #

      In XP the 'fsutil' command should be used instead of 'mklink'. However I would suggest you use http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html instead. Compatible with every major Windows operating system since and including NT4! Saves you from some syntax headaches too.

      Concerning D & S: theoretically YES since hardlinks are transparant to applications. I haven't tried it though.

      • Luiz June 10, 2010 at 11:32 am #

        Do you know of a way to do so?
        I'm trying everything I know (which isn't much) to transfer my User (Win7x64) folder from C:\ to D:\.
        Can anyone help me?

  7. Asher March 27, 2010 at 1:24 am #

    From Junction "Windows 2000 and higher supports directory symbolic links"

  8. Diego September 3, 2010 at 4:10 pm #

    Hi everybody!

    Is it possible with this workaround to move this folder?
    %WINDIR%\System32\winsxs

    Thanks in advance!

  9. Cas April 2, 2012 at 10:15 am #

    How does junctioning work with updates? do new files move to the junction folder? How does updating a single file work?

    • Martin Brinkmann April 2, 2012 at 10:18 am #

      It basically works like a redirection, so updating works like before.

  10. Jihad November 6, 2012 at 9:43 am #

    Hey, i just wanted to mention that "symbolic hard links" are two different things (To Wikipedia at least).

    As you can see here:
    http://en.wikipedia.org/wiki/Symbolic_link

    "Symbolic links are different from hard links. Hard links do not link paths on different volumes or file systems, whereas symbolic links may point to any file or directory irrespective of the volumes on which the link and target reside. Hard links always refer to an existing file, whereas symbolic links may contain an arbitrary path that does not point to anything."

    :D Just got confused when reading it here. Hope it helps.

  11. Gary January 18, 2013 at 5:49 pm #

    Quick Question: Do I need to move the files first, before using the junction command? or can I move them afterwards?

  12. Peter April 12, 2013 at 11:42 pm #

    hey guys, im interested in doing this bug i cant seem to get it to work.
    im trying to move games in my c:\program files(x86) folder to another hard drive but i cant seem to get it
    can someone do like a step by step example?
    Do i move the folder before i do mklink? or?

  13. fanon June 21, 2016 at 1:56 pm #

    Thanks a lot !

  14. jpanda January 30, 2017 at 7:20 am #

    So i did evrything and it seems to have worked. is it ok if i delete the files that i copied from the old drive?

Leave a Reply