How To Move Large Apps Or Games To Another Drive - gHacks Tech News

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

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
How To Move Large Apps Or Games To Another Drive
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




  • We need your help

    Advertising revenue is falling fast across the Internet, and independently-run sites like Ghacks are hit hardest by it. The advertising model in its current form is coming to an end, and we have to find other ways to continue operating this site.

    We are committed to keeping our content free and independent, which means no paywalls, no sponsored posts, no annoying ad formats (video ads) or subscription fees.

    If you like our content, and would like to help, please consider making a contribution:

    Comments

    1. Adal said on March 25, 2010 at 11:54 am
      Reply

      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.

      1. DanTe said on March 25, 2010 at 4:54 pm
        Reply

        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

        1. jfjb2005 said on March 26, 2010 at 2:06 am
          Reply

          @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 said on March 25, 2010 at 12:10 pm
      Reply

      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 said on March 25, 2010 at 3:30 pm
      Reply

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

    4. PeeJay said on March 25, 2010 at 4:55 pm
      Reply

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

    5. Pilgrim said on March 25, 2010 at 5:56 pm
      Reply

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

    6. jfjb2005 said on March 26, 2010 at 1:55 am
      Reply

      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.

      1. Roebie said on March 26, 2010 at 5:04 pm
        Reply

        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.

        1. Luiz said on June 10, 2010 at 11:32 am
          Reply

          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 said on March 27, 2010 at 1:24 am
      Reply

      From Junction “Windows 2000 and higher supports directory symbolic links”

    8. Diego said on September 3, 2010 at 4:10 pm
      Reply

      Hi everybody!

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

      Thanks in advance!

    9. Cas said on April 2, 2012 at 10:15 am
      Reply

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

      1. Martin Brinkmann said on April 2, 2012 at 10:18 am
        Reply

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

    10. Jihad said on November 6, 2012 at 9:43 am
      Reply

      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 said on January 18, 2013 at 5:49 pm
      Reply

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

    12. Peter said on April 12, 2013 at 11:42 pm
      Reply

      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?

      1. Martin Brinkmann said on April 13, 2013 at 3:18 am
        Reply

        Paul, try Steam Mover, it is a program that you can use for that purpose. https://www.ghacks.net/2010/09/03/steam-mover-automated-tool-to-move-games-and-apps-to-other-drives/

    13. fanon said on June 21, 2016 at 1:56 pm
      Reply

      Thanks a lot !

    14. jpanda said on January 30, 2017 at 7:20 am
      Reply

      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